summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-08-07 11:32:16 +0100
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-08-07 18:23:36 +0100
commiteb5e9ab4c4d6a00be96f6db760c2c64ca061e426 (patch)
treeb5436a66272fc32d27f541e4ecb0d0d680be2ae3 /connectivity
parent211094992c610b77abd46d93b3e46b5a25fe4f95 (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.cxx12
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();
}