summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2024-07-30 16:58:30 +0500
committerMike Kaganski <mike.kaganski@collabora.com>2024-08-01 07:27:04 +0200
commite47197b4ef1753af4d005a6918c26e6a3d589c67 (patch)
tree7e1de24f641d8b2f335304933072b206508a0763
parent1c8a48ba766f30c9babc80db46e2cf24074486b8 (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.cxx4
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);