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

New commits:
commit eed831380d3fdadc7defdbe66e7a8275507ca748
Author: Lionel Elie Mamane <lio...@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/5651
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/connectivity/source/drivers/odbcbase/OResultSet.cxx 
b/connectivity/source/drivers/odbcbase/OResultSet.cxx
index eb6c328..f540f8b 100644
--- a/connectivity/source/drivers/odbcbase/OResultSet.cxx
+++ b/connectivity/source/drivers/odbcbase/OResultSet.cxx
@@ -871,7 +871,6 @@ void SAL_CALL OResultSet::insertRow(  ) throw(SQLException, 
RuntimeException)
                                 &nRealLen
                                 );
 
-    aBookmark.realloc(nRealLen);
     sal_Bool bPositionByBookmark = ( NULL != getOdbcFunction( 
ODBC3SQLBulkOperations ) );
     if ( bPositionByBookmark )
     {
@@ -885,6 +884,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);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to