diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2024-07-30 16:58:30 +0500 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2024-08-01 07:27:04 +0200 |
commit | e47197b4ef1753af4d005a6918c26e6a3d589c67 (patch) | |
tree | 7e1de24f641d8b2f335304933072b206508a0763 | |
parent | 1c8a48ba766f30c9babc80db46e2cf24074486b8 (diff) |
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.kaganski@collabora.com>
Tested-by: Jenkins
-rw-r--r-- | connectivity/source/drivers/odbc/OResultSet.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/connectivity/source/drivers/odbc/OResultSet.cxx b/connectivity/source/drivers/odbc/OResultSet.cxx index 53488dc00417..65fd1419271e 100644 --- a/connectivity/source/drivers/odbc/OResultSet.cxx +++ b/connectivity/source/drivers/odbc/OResultSet.cxx @@ -845,6 +845,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 = functions().has(ODBC3SQLFunctionId::BulkOperations); if ( bPositionByBookmark ) { @@ -866,7 +868,7 @@ void SAL_CALL OResultSet::updateRow( ) // (neither the contents of aBookmark FWIW) assert(nRealLen == aBookmark.getLength()); } - else + else */ { nRet = functions().SetPos(m_aStatementHandle,1,SQL_UPDATE,SQL_LOCK_NO_CHANGE); fillNeededData(nRet); |