diff options
author | Javier Fernandez <jfernandez@igalia.com> | 2013-06-04 13:54:48 +0000 |
---|---|---|
committer | Javier Fernandez <jfernandez@igalia.com> | 2013-06-06 09:37:45 +0000 |
commit | c5cc994b731a289843a767e049befea228d1a08c (patch) | |
tree | a9779d323404c26f56c7b5c7aa395b7cb562afc3 /connectivity/source/drivers/firebird/FDatabaseMetaData.cxx | |
parent | cebb47241e3a2a075ff214d10c4352c02053d7aa (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.cxx | 10 |
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; |