From d4b460610c53794d9203be451fdb10e1bd54ec7f Mon Sep 17 00:00:00 2001 From: Jacyking <791026912@qq.com> Date: Sun, 18 Feb 2024 17:26:45 +0800 Subject: [PATCH] add delete_records0 --- ormpp/mysql.hpp | 5 +++++ tests/test_ormpp.cpp | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/ormpp/mysql.hpp b/ormpp/mysql.hpp index 64ee5b63..d99366d0 100644 --- a/ormpp/mysql.hpp +++ b/ormpp/mysql.hpp @@ -292,11 +292,13 @@ class mysql { set_last_error(mysql_error(con_)); return false; } + auto guard = guard_statment(stmt_); if (mysql_stmt_prepare(stmt_, sql.c_str(), (unsigned long)sql.size())) { set_last_error(mysql_stmt_error(stmt_)); return false; } + if constexpr (sizeof...(Args) > 0) { size_t index = 0; using expander = int[]; @@ -307,6 +309,7 @@ class mysql { return false; } } + if (mysql_stmt_execute(stmt_)) { set_last_error(mysql_stmt_error(stmt_)); return false; @@ -644,11 +647,13 @@ class mysql { set_last_error(mysql_error(con_)); return false; } + auto guard = guard_statment(stmt_); if (mysql_stmt_prepare(stmt_, sql.c_str(), (unsigned long)sql.size())) { set_last_error(mysql_stmt_error(stmt_)); return false; } + if (mysql_stmt_execute(stmt_)) { set_last_error(mysql_stmt_error(stmt_)); return false; diff --git a/tests/test_ormpp.cpp b/tests/test_ormpp.cpp index d44d091f..aa25349b 100644 --- a/tests/test_ormpp.cpp +++ b/tests/test_ormpp.cpp @@ -1216,6 +1216,8 @@ TEST_CASE("query0 delete_records0") { auto vec6 = mysql.query0(); mysql.delete_records0("name=?", "purecpp"); auto vec7 = mysql.query0(); + mysql.delete_records0(); + auto vec8 = mysql.query0(); CHECK(vec1.front().name == "other"); CHECK(vec1.back().name == "purecpp"); CHECK(vec2.front().age == 200); @@ -1224,6 +1226,7 @@ TEST_CASE("query0 delete_records0") { CHECK(vec5.size() == 0); CHECK(vec6.size() == 2); CHECK(vec7.size() == 1); + CHECK(vec8.size() == 0); } #endif #ifdef ORMPP_ENABLE_PG @@ -1242,6 +1245,8 @@ TEST_CASE("query0 delete_records0") { auto vec6 = postgres.query0(); postgres.delete_records0("name=$1", "purecpp"); auto vec7 = postgres.query0(); + postgres.delete_records0(); + auto vec8 = postgres.query0(); CHECK(vec1.front().name == "other"); CHECK(vec1.back().name == "purecpp"); CHECK(vec2.front().age == 200); @@ -1250,6 +1255,7 @@ TEST_CASE("query0 delete_records0") { CHECK(vec5.size() == 0); CHECK(vec6.size() == 2); CHECK(vec7.size() == 1); + CHECK(vec8.size() == 0); } #endif #ifdef ORMPP_ENABLE_SQLITE3 @@ -1268,6 +1274,8 @@ TEST_CASE("query0 delete_records0") { auto vec6 = sqlite.query0(); sqlite.delete_records0("name=?", "purecpp"); auto vec7 = sqlite.query0(); + sqlite.delete_records0(); + auto vec8 = sqlite.query0(); CHECK(vec1.front().name == "other"); CHECK(vec1.back().name == "purecpp"); CHECK(vec2.front().age == 200); @@ -1276,6 +1284,7 @@ TEST_CASE("query0 delete_records0") { CHECK(vec5.size() == 0); CHECK(vec6.size() == 2); CHECK(vec7.size() == 1); + CHECK(vec8.size() == 0); } #endif }