diff --git a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx index cec6070a767a..c2e64df1efcc 100644 --- a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx +++ b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx @@ -212,9 +212,7 @@ void ResultSetMetaData::checkTable() { const OUString name (getTableName ( 1 )); const OUString schema (getSchemaName( 1 )); - const OUString EscapedName (name.replaceAll("\"","\"\"" )); - const OUString EscapedSchema ( schema.replaceAll("\"","\"\"")); - const OUString composedName( schema.isEmpty() ? name : ("\"" + EscapedSchema + "\".\"" + EscapedName + "\"") ); + const OUString composedName( schema.isEmpty() ? name : (schema + "." + name) ); tables->getByName( composedName ) >>= m_table; } } diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx index 2d0bc57e6cd5..4e6df8b0fdf2 100644 --- a/connectivity/source/drivers/postgresql/pq_tools.cxx +++ b/connectivity/source/drivers/postgresql/pq_tools.cxx @@ -463,20 +463,6 @@ void splitSQL( const OString & sql, OStringVector &vec ) } -void splitDoubleQuoteEscapedIdentifiers( const OUString & source, OUString *first, OUString *second) -{ - int a = source.indexOf("\".\""); - OString tempstring = OUStringToOString(source , RTL_TEXTENCODING_UTF8); - if(a > 0) - { - //remove start and end double quote as well as escaped double quotes - *first =OStringToOUString(OString(&tempstring.getStr()[1],a-2) , RTL_TEXTENCODING_UTF8); - *first=first->replaceAll("\"\"","\""); - *second =OStringToOUString(OString(&tempstring.getStr()[a+2],source.getLength()-a-2) , RTL_TEXTENCODING_UTF8); - *second=second->replaceAll("\"\"","\""); - } -} - void tokenizeSQL( const OString & sql, OStringVector &vec ) { int length = sql.getLength(); diff --git a/connectivity/source/drivers/postgresql/pq_tools.hxx b/connectivity/source/drivers/postgresql/pq_tools.hxx index 8c17c287f368..6ab147c76d39 100644 --- a/connectivity/source/drivers/postgresql/pq_tools.hxx +++ b/connectivity/source/drivers/postgresql/pq_tools.hxx @@ -111,7 +111,6 @@ OUString array2String( const css::uno::Sequence< css::uno::Any > &seq ); css::uno::Reference< css::sdbc::XConnection > extractConnectionFromStatement( const css::uno::Reference< css::uno::XInterface > & stmt ); -void splitDoubleQuoteEscapedIdentifiers( const OUString & source, OUString *first, OUString *second); void splitConcatenatedIdentifier( const OUString & source, OUString *first, OUString *second); diff --git a/connectivity/source/drivers/postgresql/pq_xtable.cxx b/connectivity/source/drivers/postgresql/pq_xtable.cxx index 8e0ae92164f0..4b8d4518c1f4 100644 --- a/connectivity/source/drivers/postgresql/pq_xtable.cxx +++ b/connectivity/source/drivers/postgresql/pq_xtable.cxx @@ -154,13 +154,12 @@ void Table::rename( const OUString& newName ) OUString newTableName; OUString newSchemaName; - //changing schema + dot + table-name to "schema"."table-name" // OOo2.0 passes schema + dot + new-table-name while // OO1.1.x passes new Name without schema // in case name contains a dot, it is interpreted as schema.tablename - if( newName.indexOf( "\".\"" ) >= 0 ) + if( newName.indexOf( '.' ) >= 0 ) { - splitDoubleQuoteEscapedIdentifiers( newName, &newSchemaName, &newTableName ); + splitConcatenatedIdentifier( newName, &newSchemaName, &newTableName ); } else { diff --git a/connectivity/source/drivers/postgresql/pq_xtables.cxx b/connectivity/source/drivers/postgresql/pq_xtables.cxx index ce3a17ec2d5c..63e6c6aeebf9 100644 --- a/connectivity/source/drivers/postgresql/pq_xtables.cxx +++ b/connectivity/source/drivers/postgresql/pq_xtables.cxx @@ -133,10 +133,8 @@ void Tables::refresh() { m_values.push_back( makeAny( prop ) ); - OUString EscapedName = /* ::dbtools::composeTableNameForSelect(); */ name.replaceAll("\"","\"\""); - OUString EscapedSchema = schema.replaceAll("\"","\"\""); - OUStringBuffer buf( EscapedName.getLength() + EscapedSchema.getLength() + 1); - buf.append("\"" + EscapedSchema + "\".\"" + EscapedName + "\""); + OUStringBuffer buf( name.getLength() + schema.getLength() + 1); + buf.append( schema + "." + name ); map[ buf.makeStringAndClear() ] = tableIndex; ++tableIndex; } diff --git a/connectivity/source/drivers/postgresql/pq_xtables.hxx b/connectivity/source/drivers/postgresql/pq_xtables.hxx index 9e542abe0f6a..c2e45f0fef43 100644 --- a/connectivity/source/drivers/postgresql/pq_xtables.hxx +++ b/connectivity/source/drivers/postgresql/pq_xtables.hxx @@ -38,7 +38,7 @@ #define INCLUDED_CONNECTIVITY_SOURCE_DRIVERS_POSTGRESQL_PQ_XTABLES_HXX #include "pq_xcontainer.hxx" -#include "connectivity/dbtools.hxx" + namespace pq_sdbc_driver { diff --git a/connectivity/source/drivers/postgresql/pq_xview.cxx b/connectivity/source/drivers/postgresql/pq_xview.cxx index 2ed4ece90a82..c42f533a410f 100644 --- a/connectivity/source/drivers/postgresql/pq_xview.cxx +++ b/connectivity/source/drivers/postgresql/pq_xview.cxx @@ -102,13 +102,12 @@ void View::rename( const OUString& newName ) OUString newTableName; OUString newSchemaName; - //changing schema + dot + table-name to "schema"."table-name" // OOo2.0 passes schema + dot + new-table-name while // OO1.1.x passes new Name without schema // in case name contains a dot, it is interpreted as schema.tablename - if( newName.indexOf( "\".\"" ) >= 0 ) + if( newName.indexOf( '.' ) >= 0 ) { - splitDoubleQuoteEscapedIdentifiers( newName, &newSchemaName, &newTableName ); + splitConcatenatedIdentifier( newName, &newSchemaName, &newTableName ); } else { diff --git a/connectivity/source/drivers/postgresql/pq_xviews.cxx b/connectivity/source/drivers/postgresql/pq_xviews.cxx index 0e471bcc989c..cd12d586687c 100644 --- a/connectivity/source/drivers/postgresql/pq_xviews.cxx +++ b/connectivity/source/drivers/postgresql/pq_xviews.cxx @@ -114,10 +114,8 @@ void Views::refresh() { m_values.push_back( makeAny( prop ) ); - OUString EscapedTable = table.replaceAll("\"","\"\""); - OUString EscapedSchema = schema.replaceAll("\"","\"\""); - OUStringBuffer buf( EscapedTable.getLength() + EscapedSchema.getLength() + 1); - buf.append("\"" + EscapedSchema + "\".\"" + EscapedTable + "\""); + OUStringBuffer buf( table.getLength() + schema.getLength() + 1); + buf.append( schema + "." + table ); map[ buf.makeStringAndClear() ] = viewIndex; ++viewIndex; }