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.bu...@collabora.co.uk> AuthorDate: Tue Jan 22 13:06:45 2019 +0100 Commit: Andras Timar <andras.ti...@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.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@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; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits