diff options
author | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-08-07 11:32:16 +0100 |
---|---|---|
committer | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-08-07 18:23:36 +0100 |
commit | eb5e9ab4c4d6a00be96f6db760c2c64ca061e426 (patch) | |
tree | b5436a66272fc32d27f541e4ecb0d0d680be2ae3 /connectivity | |
parent | 211094992c610b77abd46d93b3e46b5a25fe4f95 (diff) |
Clean up statement handle on closing ResultSet. (firebird-sdbc)
Change-Id: I7e59c1939651cc55090ca3a5f1a9a388d685dc43
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/drivers/firebird/ResultSet.cxx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/connectivity/source/drivers/firebird/ResultSet.cxx b/connectivity/source/drivers/firebird/ResultSet.cxx index 36c59afbbbfb..c91af92786fd 100644 --- a/connectivity/source/drivers/firebird/ResultSet.cxx +++ b/connectivity/source/drivers/firebird/ResultSet.cxx @@ -569,7 +569,7 @@ Any SAL_CALL OResultSet::getObject( sal_Int32 columnIndex, const uno::Reference< // ------------------------------------------------------------------------- -void SAL_CALL OResultSet::close( ) throw(SQLException, RuntimeException) +void SAL_CALL OResultSet::close() throw(SQLException, RuntimeException) { SAL_INFO("connectivity.firebird", "close()."); @@ -577,6 +577,16 @@ void SAL_CALL OResultSet::close( ) throw(SQLException, RuntimeException) MutexGuard aGuard(m_pConnection->getMutex()); checkDisposed(OResultSet_BASE::rBHelper.bDisposed); + ISC_STATUS_ARRAY aStatusVector; + ISC_STATUS aErr; + aErr = isc_dsql_free_statement(aStatusVector, + &m_statementHandle, + DSQL_drop); + if (aErr) + evaluateStatusVector(aStatusVector, + "isc_dsql_free_statement", + *this); + } dispose(); } |