summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
diff options
context:
space:
mode:
authorJavier Fernandez <jfernandez@igalia.com>2013-06-04 13:54:48 +0000
committerJavier Fernandez <jfernandez@igalia.com>2013-06-06 09:37:45 +0000
commitc5cc994b731a289843a767e049befea228d1a08c (patch)
treea9779d323404c26f56c7b5c7aa395b7cb562afc3 /connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
parentcebb47241e3a2a075ff214d10c4352c02053d7aa (diff)
Executing again a PreparedStatement.
Change-Id: I10afa596ed0464e14c4fd95d3a7fb687451a10b4
Diffstat (limited to 'connectivity/source/drivers/firebird/FDatabaseMetaData.cxx')
-rw-r--r--connectivity/source/drivers/firebird/FDatabaseMetaData.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx b/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
index c952c0f50220..908af7149fe2 100644
--- a/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
@@ -61,6 +61,7 @@ namespace connectivity
ODatabaseMetaData::ODatabaseMetaData(OConnection* _pCon)
: m_pConnection(_pCon)
+, m_pGetTablesStm(NULL)
, m_bUseCatalog(sal_True)
{
OSL_ENSURE(m_pConnection,"ODatabaseMetaData::ODatabaseMetaData: No connection set!");
@@ -865,25 +866,28 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
ODatabaseMetaDataResultSet* pResultSet = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTables);
Reference< XResultSet > xResultSet = pResultSet;
- Reference< XPreparedStatement > statement = m_pConnection->prepareStatement(
+ if (!m_pGetTablesStm.is())
+ {
+ m_pGetTablesStm = m_pConnection->prepareStatement(
"SELECT "
"'schema' as schema, RDB$RELATION_NAME, RDB$SYSTEM_FLAG, RDB$RELATION_TYPE, 'description' as description " // avoid duplicates
"FROM RDB$RELATIONS "
"WHERE (RDB$RELATION_TYPE = 0 OR RDB$RELATION_TYPE = 1) "
"AND 'schema' LIKE ? "
"AND RDB$RELATION_NAME LIKE ? ");
+ }
SAL_INFO("connectivity.firebird", "=> ODatabaseMetaData::getTables(). "
"Setting query parameters.");
- Reference< XParameters > parameters( statement, UNO_QUERY_THROW );
+ Reference< XParameters > parameters( m_pGetTablesStm, UNO_QUERY_THROW );
parameters->setString( 1 , schemaPattern );
parameters->setString( 2 , tableNamePattern );
SAL_INFO("connectivity.firebird", "=> ODatabaseMetaData::getTables(). "
"About to execute the query.");
- Reference< XResultSet > rs = statement->executeQuery();
+ Reference< XResultSet > rs = m_pGetTablesStm->executeQuery();
Reference< XRow > xRow( rs, UNO_QUERY_THROW );
ODatabaseMetaDataResultSet::ORows aRows;
int rows = 0;