diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2013-04-10 17:16:27 +0200 |
---|---|---|
committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-04-15 07:27:14 +0000 |
commit | 3695b86bc35fc8c1011ca6d629cdd28bcd7c15aa (patch) | |
tree | 7c7e9d62adbb3b489ec27e2fb3cfb18409bb5707 /connectivity | |
parent | 8bd84f28561a68aebcf59384de0f6b07819ede99 (diff) |
pgsql-sdbc: set tablename even if we do not know the schema
Change-Id: I74c04e1262cc413696a12aca9af603beded7b07f
Reviewed-on: https://gerrit.libreoffice.org/3342
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/drivers/postgresql/pq_statement.cxx | 2 | ||||
-rw-r--r-- | connectivity/source/drivers/postgresql/pq_tools.cxx | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/connectivity/source/drivers/postgresql/pq_statement.cxx b/connectivity/source/drivers/postgresql/pq_statement.cxx index 7304b153bbe8..edf7dc3ab19b 100644 --- a/connectivity/source/drivers/postgresql/pq_statement.cxx +++ b/connectivity/source/drivers/postgresql/pq_statement.cxx @@ -654,7 +654,7 @@ bool executePostgresCommand( const rtl::OString & cmd, struct CommandData *data } } - else if( sourceTable.getLength() && -1 != sourceTable.indexOf( '.' ) ) + else if( sourceTable.getLength() > 0) { splitConcatenatedIdentifier( sourceTable, &schema, &table ); } diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx index 84d97417ab54..86872a7741cf 100644 --- a/connectivity/source/drivers/postgresql/pq_tools.cxx +++ b/connectivity/source/drivers/postgresql/pq_tools.cxx @@ -673,10 +673,20 @@ void splitConcatenatedIdentifier( const rtl::OUString & source, rtl::OUString *f { OStringVector vec; tokenizeSQL( rtl::OUStringToOString( source, RTL_TEXTENCODING_UTF8 ), vec ); - if( vec.size() == 3 ) + switch (vec.size()) { - *first = rtl::OStringToOUString( vec[0] , RTL_TEXTENCODING_UTF8 ); + case 1: + *first = OUString(); + *second = rtl::OStringToOUString( vec[0], RTL_TEXTENCODING_UTF8 ); + break; + case 3: + *first = rtl::OStringToOUString( vec[0], RTL_TEXTENCODING_UTF8 ); *second = rtl::OStringToOUString( vec[2], RTL_TEXTENCODING_UTF8 ); + break; + default: + SAL_WARN("connectivity.drivers.postgresql", + "pq_tools::splitConcatenatedIdentifier unexpected number of tokens in identifier: " + << vec.size()); } } |