Kaydet (Commit) a9d4f2be authored tarafından Lionel Elie Mamane's avatar Lionel Elie Mamane

postgresql: correctly implement XMultipleResults interface

note that we implement it in a very limited way, since we will always
return only a single result.

Change-Id: Idc7927d1a6896b78f6de8627ba857982821ac629
üst faac3000
...@@ -741,6 +741,10 @@ sal_Int32 PreparedStatement::getUpdateCount( ) ...@@ -741,6 +741,10 @@ sal_Int32 PreparedStatement::getUpdateCount( )
} }
sal_Bool PreparedStatement::getMoreResults( ) sal_Bool PreparedStatement::getMoreResults( )
{ {
Reference< XCloseable > lastResultSet = m_lastResultset;
if( lastResultSet.is() )
lastResultSet->close();
m_multipleResultUpdateCount = -1;
return false; return false;
} }
......
...@@ -936,6 +936,15 @@ sal_Int32 Statement::getUpdateCount( ) ...@@ -936,6 +936,15 @@ sal_Int32 Statement::getUpdateCount( )
sal_Bool Statement::getMoreResults( ) sal_Bool Statement::getMoreResults( )
{ {
// The PostgreSQL C interface always returns a single result,
// so we will never have multiple ones.
// Implicitly close the open resultset (if any) as per spec,
// and setup to signal "no more result, neither as resultset,
// nor as update count".
Reference< XCloseable > lastResultSetHolder = m_lastResultset;
if( lastResultSetHolder.is() )
lastResultSetHolder->close();
m_multipleResultUpdateCount = -1;
return false; return false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment