diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2018-12-18 22:12:06 +0100 |
---|---|---|
committer | Lionel Elie Mamane <lionel@mamane.lu> | 2018-12-18 22:18:12 +0100 |
commit | aa41e17e809a5398974b3b5f53a41c6632df284c (patch) | |
tree | e5291a9a32badcd276e5d636e8fa320b8723b027 /connectivity | |
parent | a9d4f2bebda3380a3b6843f9df1204c9b062b3a8 (diff) |
postgresql: any execute should close previous ResultSet
not only executeQuery.
Change-Id: I2ee72078c48f622484dba46436f53990a45da364
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/drivers/postgresql/pq_preparedstatement.cxx | 8 | ||||
-rw-r--r-- | connectivity/source/drivers/postgresql/pq_statement.cxx | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx index a976d7e3dfc4..3f721bf7f1ab 100644 --- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx +++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx @@ -278,10 +278,6 @@ void PreparedStatement::raiseSQLException( const char * errorMsg ) Reference< XResultSet > PreparedStatement::executeQuery( ) { - Reference< XCloseable > lastResultSet = m_lastResultset; - if( lastResultSet.is() ) - lastResultSet->close(); - if( ! execute( ) ) { raiseSQLException( "not a query" ); @@ -357,6 +353,10 @@ sal_Bool PreparedStatement::execute( ) m_executedStatement = buf.makeStringAndClear(); + Reference< XCloseable > lastResultSet = m_lastResultset; + if( lastResultSet.is() ) + lastResultSet->close(); + m_lastResultset.clear(); m_lastTableInserted.clear(); diff --git a/connectivity/source/drivers/postgresql/pq_statement.cxx b/connectivity/source/drivers/postgresql/pq_statement.cxx index a95a48674607..471bded3330c 100644 --- a/connectivity/source/drivers/postgresql/pq_statement.cxx +++ b/connectivity/source/drivers/postgresql/pq_statement.cxx @@ -235,10 +235,6 @@ void Statement::raiseSQLException( Reference< XResultSet > Statement::executeQuery(const OUString& sql ) { - Reference< XCloseable > lastResultSetHolder = m_lastResultset; - if( lastResultSetHolder.is() ) - lastResultSetHolder->close(); - if( ! execute( sql ) ) { raiseSQLException( sql, "not a query" ); @@ -805,6 +801,10 @@ sal_Bool Statement::execute( const OUString& sql ) checkClosed(); OString cmd = OUStringToOString( sql, m_pSettings ); + Reference< XCloseable > lastResultSetHolder = m_lastResultset; + if( lastResultSetHolder.is() ) + lastResultSetHolder->close(); + m_lastResultset.clear(); m_lastTableInserted.clear(); |