[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - connectivity/qa connectivity/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Jan 22 15:38:20 UTC 2019
connectivity/qa/connectivity/mysql/mysql.cxx | 6 ++++++
connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx | 9 ++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
New commits:
commit fca928b481e6410967df914ce6dd120edee61805
Author: Tamas Bunth <tamas.bunth at collabora.co.uk>
AuthorDate: Tue Jan 22 13:06:45 2019 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Jan 22 16:37:56 2019 +0100
mysqlc: resultset's previous() on first position..
.. should move the cursor backwards to beforeFirst position and return
false.
Change-Id: Icbb4bed0ea39ea3a0bf375d5616e3ef768fc69d9
Reviewed-on: https://gerrit.libreoffice.org/66730
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
diff --git a/connectivity/qa/connectivity/mysql/mysql.cxx b/connectivity/qa/connectivity/mysql/mysql.cxx
index 758f7eb123ff..6c9fb45b7c30 100644
--- a/connectivity/qa/connectivity/mysql/mysql.cxx
+++ b/connectivity/qa/connectivity/mysql/mysql.cxx
@@ -241,6 +241,12 @@ void MysqlTestDriver::testDBPositionChange()
xResultSet->first();
CPPUNIT_ASSERT_EQUAL(1, xResultSet->getRow());
+ // Now previous should put the cursor to before-first position, but it
+ // should return with false.
+ successPrevious = xResultSet->previous();
+ CPPUNIT_ASSERT(!successPrevious);
+ CPPUNIT_ASSERT_EQUAL(0, xResultSet->getRow());
+
nUpdateCount = xStatement->executeUpdate("DROP TABLE myTestTable");
CPPUNIT_ASSERT_EQUAL(0, nUpdateCount); // it's a DDL statement
}
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
index 079fea40daf7..4633d064ce9a 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
@@ -654,8 +654,15 @@ sal_Bool SAL_CALL OResultSet::previous()
MutexGuard aGuard(m_aMutex);
checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
- if (m_nRowPosition <= 0)
+ if (m_nRowPosition == 0)
+ {
+ m_nRowPosition--;
return false;
+ }
+ else if (m_nRowPosition < 0)
+ {
+ return false;
+ }
m_nRowPosition--;
return true;
More information about the Libreoffice-commits
mailing list