From 4f7899c95955b896798c44023a32bf76ce6f5307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Rombauts?= Date: Mon, 28 Aug 2017 17:17:18 +0200 Subject: [PATCH] Rename Statement::mbIsOk to mbHasRow --- include/SQLiteCpp/Statement.h | 11 +++++-- src/Statement.cpp | 14 ++++---- tests/Column_test.cpp | 2 +- tests/Statement_test.cpp | 62 +++++++++++++++++------------------ 4 files changed, 47 insertions(+), 42 deletions(-) diff --git a/include/SQLiteCpp/Statement.h b/include/SQLiteCpp/Statement.h index 6309111..4c822ed 100644 --- a/include/SQLiteCpp/Statement.h +++ b/include/SQLiteCpp/Statement.h @@ -549,9 +549,14 @@ public: return mColumnCount; } /// true when a row has been fetched with executeStep() + inline bool hasRow() const + { + return mbHasRow; + } + /// @deprecated, use #hasRow() inline bool isOk() const { - return mbOk; + return hasRow(); } /// true when the last executeStep() had no more row to fetch inline bool isDone() const @@ -632,7 +637,7 @@ private: */ inline void checkRow() const { - if (false == mbOk) + if (false == mbHasRow) { throw SQLite::Exception("No row to get a column from. executeStep() was not called, or returned false."); } @@ -658,7 +663,7 @@ private: Ptr mStmtPtr; //!< Shared Pointer to the prepared SQLite Statement Object int mColumnCount; //!< Number of columns in the result of the prepared statement mutable TColumnNames mColumnNames; //!< Map of columns index by name (mutable so getColumnIndex can be const) - bool mbOk; //!< true when a row has been fetched with executeStep() + bool mbHasRow; //!< true when a row has been fetched with executeStep() bool mbDone; //!< true when the last executeStep() had no more row to fetch }; diff --git a/src/Statement.cpp b/src/Statement.cpp index 5e03061..d053340 100644 --- a/src/Statement.cpp +++ b/src/Statement.cpp @@ -25,7 +25,7 @@ Statement::Statement(Database &aDatabase, const char* apQuery) : mQuery(apQuery), mStmtPtr(aDatabase.mpSQLite, mQuery), // prepare the SQL query, and ref count (needs Database friendship) mColumnCount(0), - mbOk(false), + mbHasRow(false), mbDone(false) { mColumnCount = sqlite3_column_count(mStmtPtr); @@ -36,7 +36,7 @@ Statement::Statement(Database &aDatabase, const std::string& aQuery) : mQuery(aQuery), mStmtPtr(aDatabase.mpSQLite, mQuery), // prepare the SQL query, and ref count (needs Database friendship) mColumnCount(0), - mbOk(false), + mbHasRow(false), mbDone(false) { mColumnCount = sqlite3_column_count(mStmtPtr); @@ -58,7 +58,7 @@ void Statement::reset() int Statement::tryReset() noexcept { - mbOk = false; + mbHasRow = false; mbDone = false; return sqlite3_reset(mStmtPtr); } @@ -250,7 +250,7 @@ bool Statement::executeStep() throw SQLite::Exception(mStmtPtr, ret); } - return mbOk; // true only if one row is accessible by getColumn(N) + return mbHasRow; // true only if one row is accessible by getColumn(N) } // Execute a one-step query with no expected result @@ -280,16 +280,16 @@ int Statement::tryExecuteStep() noexcept const int ret = sqlite3_step(mStmtPtr); if (SQLITE_ROW == ret) // one row is ready : call getColumn(N) to access it { - mbOk = true; + mbHasRow = true; } else if (SQLITE_DONE == ret) // no (more) row ready : the query has finished executing { - mbOk = false; + mbHasRow = false; mbDone = true; } else { - mbOk = false; + mbHasRow = false; mbDone = false; } diff --git a/tests/Column_test.cpp b/tests/Column_test.cpp index 419b6c5..8e90e5b 100644 --- a/tests/Column_test.cpp +++ b/tests/Column_test.cpp @@ -52,7 +52,7 @@ TEST(Column, basis) { EXPECT_STREQ("SELECT * FROM test", query.getQuery().c_str()); EXPECT_EQ(6, query.getColumnCount ()); query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); // validates every variant of cast operators, and conversions of types diff --git a/tests/Statement_test.cpp b/tests/Statement_test.cpp index e8e0870..cc831e3 100644 --- a/tests/Statement_test.cpp +++ b/tests/Statement_test.cpp @@ -39,7 +39,7 @@ TEST(Statement, invalid) { SQLite::Statement query(db, "SELECT * FROM test"); EXPECT_STREQ("SELECT * FROM test", query.getQuery().c_str()); EXPECT_EQ(2, query.getColumnCount ()); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(SQLite::OK, query.getErrorCode()); EXPECT_EQ(SQLite::OK, query.getExtendedErrorCode()); @@ -53,14 +53,14 @@ TEST(Statement, invalid) { EXPECT_THROW(query.getColumn(2), SQLite::Exception); query.reset(); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_FALSE(query.isDone()); query.executeStep(); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_TRUE( query.isDone()); query.reset(); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_FALSE(query.isDone()); query.reset(); @@ -89,7 +89,7 @@ TEST(Statement, invalid) { EXPECT_EQ(1, db.getTotalChanges()); query.reset(); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.exec(), SQLite::Exception); // exec() shall throw as it does not expect a result @@ -115,7 +115,7 @@ TEST(Statement, executeStep) { // Get the first row query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); const int64_t id = query.getColumn(0); const std::string msg = query.getColumn(1); @@ -130,7 +130,7 @@ TEST(Statement, executeStep) { // Step one more time to discover there is nothing more query.executeStep(); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_TRUE (query.isDone()); // "done" is "the end" // Step after "the end" throw an exception @@ -167,7 +167,7 @@ TEST(Statement, tryExecuteStep) { // Get the first row EXPECT_EQ(query.tryExecuteStep(), SQLITE_ROW); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); const int64_t id = query.getColumn(0); const std::string msg = query.getColumn(1); @@ -182,7 +182,7 @@ TEST(Statement, tryExecuteStep) { // Step one more time to discover there is nothing more EXPECT_EQ(query.tryExecuteStep(), SQLITE_DONE); - EXPECT_FALSE(query.isOk()); + EXPECT_FALSE(query.hasRow()); EXPECT_TRUE (query.isDone()); // "done" is "the end" // Try to insert a new row with the same PRIMARY KEY: "UNIQUE constraint failed: test.id" @@ -222,7 +222,7 @@ TEST(Statement, bindings) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ (1, query.getColumn(0).getInt64()); EXPECT_STREQ("first", query.getColumn(1).getText()); @@ -240,7 +240,7 @@ TEST(Statement, bindings) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ (2, query.getColumn(0).getInt64()); EXPECT_STREQ("first", query.getColumn(1).getText()); @@ -259,7 +259,7 @@ TEST(Statement, bindings) { // Check the resultw query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ (3, query.getColumn(0).getInt64()); EXPECT_TRUE (query.isColumnNull(1)); @@ -287,7 +287,7 @@ TEST(Statement, bindings) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(4, query.getColumn(0).getInt64()); EXPECT_EQ(fourth, query.getColumn(1).getText()); @@ -307,7 +307,7 @@ TEST(Statement, bindings) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(5, query.getColumn(0).getInt64()); EXPECT_STREQ(buffer, query.getColumn(1).getText()); @@ -329,7 +329,7 @@ TEST(Statement, bindings) { // Check the result query.executeStep(); - EXPECT_TRUE(query.isOk()); + EXPECT_TRUE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(6, query.getColumn(0).getInt64()); EXPECT_EQ(4294967295U, query.getColumn(2).getUInt()); @@ -366,7 +366,7 @@ TEST(Statement, bindNoCopy) { // Check the result query.executeStep(); - EXPECT_TRUE(query.isOk()); + EXPECT_TRUE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(1, query.getColumn(0).getInt64()); EXPECT_STREQ(txt1, query.getColumn(1).getText()); @@ -401,7 +401,7 @@ TEST(Statement, bindByName) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ (1, query.getColumn(0).getInt64()); EXPECT_STREQ("first", query.getColumn(1).getText()); @@ -425,7 +425,7 @@ TEST(Statement, bindByName) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(2, query.getColumn(0).getInt64()); EXPECT_EQ(second, query.getColumn(1).getText()); @@ -445,7 +445,7 @@ TEST(Statement, bindByName) { // Check the result query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(3, query.getColumn(0).getInt64()); EXPECT_STREQ(buffer, query.getColumn(1).getText()); @@ -466,7 +466,7 @@ TEST(Statement, bindByName) { // Check the result query.executeStep(); - EXPECT_TRUE(query.isOk()); + EXPECT_TRUE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(4, query.getColumn(0).getInt64()); EXPECT_EQ(4294967295U, query.getColumn(2).getUInt()); @@ -503,7 +503,7 @@ TEST(Statement, bindNoCopyByName) { // Check the result query.executeStep(); - EXPECT_TRUE(query.isOk()); + EXPECT_TRUE(query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_EQ(1, query.getColumn(0).getInt64()); EXPECT_STREQ(txt1, query.getColumn(1).getText()); @@ -535,7 +535,7 @@ TEST(Statement, isColumnNull) { // Get the first non-null row query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(-1), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull(0)); @@ -545,7 +545,7 @@ TEST(Statement, isColumnNull) { // Get the second row with null text query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(-1), SQLite::Exception); EXPECT_EQ(true, query.isColumnNull(0)); @@ -555,7 +555,7 @@ TEST(Statement, isColumnNull) { // Get the second row with null integer query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(-1), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull(0)); @@ -565,7 +565,7 @@ TEST(Statement, isColumnNull) { // Get the third row with null float query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(-1), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull(0)); @@ -597,7 +597,7 @@ TEST(Statement, isColumnNullByName) { // Get the first non-null row query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(""), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull("msg")); @@ -607,7 +607,7 @@ TEST(Statement, isColumnNullByName) { // Get the second row with null text query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(""), SQLite::Exception); EXPECT_EQ(true, query.isColumnNull("msg")); @@ -617,7 +617,7 @@ TEST(Statement, isColumnNullByName) { // Get the second row with null integer query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(""), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull("msg")); @@ -627,7 +627,7 @@ TEST(Statement, isColumnNullByName) { // Get the third row with null float query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); EXPECT_THROW(query.isColumnNull(""), SQLite::Exception); EXPECT_EQ(false, query.isColumnNull("msg")); @@ -657,7 +657,7 @@ TEST(Statement, getColumnByName) { EXPECT_STREQ("SELECT * FROM test", query.getQuery().c_str()); EXPECT_EQ(4, query.getColumnCount()); query.executeStep(); - EXPECT_TRUE (query.isOk()); + EXPECT_TRUE (query.hasRow()); EXPECT_FALSE(query.isDone()); // Look for non-existing columns @@ -734,7 +734,7 @@ TEST(Statement, getColumns) { EXPECT_STREQ("SELECT * FROM test", query.getQuery().c_str()); EXPECT_EQ(4, query.getColumnCount()); query.executeStep(); - EXPECT_TRUE(query.isOk()); + EXPECT_TRUE(query.hasRow()); EXPECT_FALSE(query.isDone()); // Get all columns