[Libreoffice-commits] core.git: connectivity/qa connectivity/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Nov 9 20:54:21 UTC 2018


 connectivity/qa/connectivity/mysql/mysql.cxx            |    6 ++++++
 connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx |    2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit dbe401ba4b51e0d3ac14e2a32bdf765832957152
Author:     Tamas Bunth <tamas.bunth at collabora.co.uk>
AuthorDate: Thu Nov 8 18:48:54 2018 +0100
Commit:     Tamás Bunth <btomi96 at gmail.com>
CommitDate: Fri Nov 9 21:52:23 2018 +0100

    mysqlc: fix return value of XResultSet::next
    
    Change-Id: I59e4803a5d9b01062eb0eaca0bf65d28298bd3e4
    Reviewed-on: https://gerrit.libreoffice.org/63121
    Tested-by: Jenkins
    Reviewed-by: Tamás Bunth <btomi96 at gmail.com>

diff --git a/connectivity/qa/connectivity/mysql/mysql.cxx b/connectivity/qa/connectivity/mysql/mysql.cxx
index 716a1219dee3..44488848b5d6 100644
--- a/connectivity/qa/connectivity/mysql/mysql.cxx
+++ b/connectivity/qa/connectivity/mysql/mysql.cxx
@@ -123,6 +123,7 @@ void MysqlTestDriver::testCreateAndDropTable()
 
     uno::Reference<XStatement> xStatement = xConnection->createStatement();
     CPPUNIT_ASSERT(xStatement.is());
+    xStatement->executeUpdate("DROP TABLE IF EXISTS myTestTable");
 
     auto nUpdateCount
         = xStatement->executeUpdate("CREATE TABLE myTestTable (id INTEGER PRIMARY KEY)");
@@ -143,6 +144,7 @@ void MysqlTestDriver::testIntegerInsertAndQuery()
 
     Reference<XStatement> xStatement = xConnection->createStatement();
     CPPUNIT_ASSERT(xStatement.is());
+    xStatement->executeUpdate("DROP TABLE IF EXISTS myTestTable");
 
     auto nUpdateCount
         = xStatement->executeUpdate("CREATE TABLE myTestTable (id INTEGER PRIMARY KEY)");
@@ -171,6 +173,9 @@ void MysqlTestDriver::testIntegerInsertAndQuery()
         CPPUNIT_ASSERT_MESSAGE("not enough result after query", hasRow);
         CPPUNIT_ASSERT_EQUAL(i, xRow->getLong(1)); // first and only column
     }
+    bool hasRow = xResultSet->next();
+    // no more rows
+    CPPUNIT_ASSERT_MESSAGE("next returns true after last row", !hasRow);
 
     nUpdateCount = xStatement->executeUpdate("DROP TABLE myTestTable");
     CPPUNIT_ASSERT_EQUAL(0, nUpdateCount); // it's a DDL statement
@@ -186,6 +191,7 @@ void MysqlTestDriver::testDBPositionChange()
 
     Reference<XStatement> xStatement = xConnection->createStatement();
     CPPUNIT_ASSERT(xStatement.is());
+    xStatement->executeUpdate("DROP TABLE IF EXISTS myTestTable");
 
     auto nUpdateCount
         = xStatement->executeUpdate("CREATE TABLE myTestTable (id INTEGER PRIMARY KEY)");
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
index 01c1889f4681..f0f83e42c3a7 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
@@ -691,7 +691,7 @@ sal_Bool SAL_CALL OResultSet::next()
     MutexGuard aGuard(m_aMutex);
     checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
     ensureResultFetched();
-    if (m_nRowPosition >= m_nRowCount)
+    if (m_nRowPosition + 1 >= m_nRowCount)
         return false;
     ++m_nRowPosition;
     return true;


More information about the Libreoffice-commits mailing list