[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - connectivity/source

Lionel Elie Mamane lionel at mamane.lu
Wed Aug 28 01:38:44 PDT 2013


 connectivity/source/drivers/odbcbase/OResultSet.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c337a441734a4d9ebf6f35df7d1aa206ad2adfbe
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Tue Aug 27 18:03:21 2013 +0200

    odbc insert: adjust buffer size *after* it is written to
    
    the buffer (aBookmark) is written to by SQLBulkOperations or
    SQLSetPos, not by SQLBindCol, which merely sets up the instruction
    that the next call should write there. So its finak size is known
    only *after* the call that makes the write, obviously.
    
    Change-Id: I4faaaeffc060433645188f0eda3d9958b087cf6c
    Reviewed-on: https://gerrit.libreoffice.org/5650
    Reviewed-by: Miklos Vajna <vmiklos at suse.cz>
    Tested-by: Miklos Vajna <vmiklos at suse.cz>

diff --git a/connectivity/source/drivers/odbcbase/OResultSet.cxx b/connectivity/source/drivers/odbcbase/OResultSet.cxx
index bac7e4d..81b2952 100644
--- a/connectivity/source/drivers/odbcbase/OResultSet.cxx
+++ b/connectivity/source/drivers/odbcbase/OResultSet.cxx
@@ -872,7 +872,6 @@ void SAL_CALL OResultSet::insertRow(  ) throw(SQLException, RuntimeException)
                                 &nRealLen
                                 );
 
-    aBookmark.realloc(nRealLen);
     sal_Bool bPositionByBookmark = ( NULL != getOdbcFunction( ODBC3SQLBulkOperations ) );
     if ( bPositionByBookmark )
     {
@@ -886,6 +885,7 @@ void SAL_CALL OResultSet::insertRow(  ) throw(SQLException, RuntimeException)
         nRet = N3SQLSetPos( m_aStatementHandle, 1, SQL_ADD, SQL_LOCK_NO_CHANGE );
         fillNeededData( nRet );
     }
+    aBookmark.realloc(nRealLen);
     try
     {
         OTools::ThrowException(m_pStatement->getOwnConnection(),nRet,m_aStatementHandle,SQL_HANDLE_STMT,*this);


More information about the Libreoffice-commits mailing list