connectivity/source/drivers/odbc/OResultSet.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
New commits: commit 2b8ccebced9ebfcf2f86a13330e9f62c984f38f5 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Tue Jul 30 16:58:30 2024 +0500 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Tue Aug 20 16:41:19 2024 +0200 tdf#148367: avoid using SQLBulkOperations with SQL_UPDATE_BY_BOOKMARK ... because that fails with MS Access ODBC 64-bit driver (bug in the driver). And SQLSetPos does the job anyway. Change-Id: I2d356a6a3f6de4d3c2c9a2e49cb3dd8c66af7794 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171270 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172111 diff --git a/connectivity/source/drivers/odbc/OResultSet.cxx b/connectivity/source/drivers/odbc/OResultSet.cxx index 7a1e81593d58..e179f9145713 100644 --- a/connectivity/source/drivers/odbc/OResultSet.cxx +++ b/connectivity/source/drivers/odbc/OResultSet.cxx @@ -905,6 +905,8 @@ void SAL_CALL OResultSet::updateRow( ) try { + /* tdf#148367 this block is commented out, because SQLBulkOperations fails + with Access ODBC 64-bit drivers on Windows bool bPositionByBookmark = ( nullptr != getOdbcFunction( ODBC3SQLFunctionId::BulkOperations ) ); if ( bPositionByBookmark ) { @@ -926,7 +928,7 @@ void SAL_CALL OResultSet::updateRow( ) // (neither the contents of aBookmark FWIW) assert(nRealLen == aBookmark.getLength()); } - else + else */ { nRet = N3SQLSetPos(m_aStatementHandle,1,SQL_UPDATE,SQL_LOCK_NO_CHANGE); fillNeededData(nRet);