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
This commit is contained in:
parent
8f9388c023
commit
2939a1fa63
1 changed files with 1 additions and 1 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue