summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2013-04-10 17:16:27 +0200
committerFridrich Strba <fridrich@documentfoundation.org>2013-04-15 07:27:14 +0000
commit3695b86bc35fc8c1011ca6d629cdd28bcd7c15aa (patch)
tree7c7e9d62adbb3b489ec27e2fb3cfb18409bb5707 /connectivity
parent8bd84f28561a68aebcf59384de0f6b07819ede99 (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.cxx2
-rw-r--r--connectivity/source/drivers/postgresql/pq_tools.cxx14
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());
}
}