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 00c3278816980d2d3949a5665133248058b93b16
Author:     Tamas Bunth <tamas.bu...@collabora.co.uk>
AuthorDate: Thu Nov 8 18:48:54 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Fri Nov 9 09:55:45 2018 +0100

    mysqlc: fix return value of XResultSet::next
    
    Change-Id: I59e4803a5d9b01062eb0eaca0bf65d28298bd3e4
    Reviewed-on: https://gerrit.libreoffice.org/63122
    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 f78ea2ea57e5..8f2f664056c4 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 d08a31bab11e..50ab0be3af16 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_resultset.cxx
@@ -693,7 +693,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;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to