diff --git a/repertory/librepertory/include/database/db_common.hpp b/repertory/librepertory/include/database/db_common.hpp index 9e4ea2ea..0dc27a3d 100644 --- a/repertory/librepertory/include/database/db_common.hpp +++ b/repertory/librepertory/include/database/db_common.hpp @@ -454,7 +454,7 @@ template struct db_where_t final { for (auto &&action : data.actions) { std::visit(overloaded{ [&idx, &stream](const comp_data_t &comp) { - stream << comp.column_name << comp.op_type + stream << '"' << comp.column_name << '"' << comp.op_type << '?' + std::to_string(++idx); }, [&idx, &stream](const n_t &next) { @@ -517,7 +517,7 @@ template struct db_where_with_limit_t final { for (auto &&action : data.actions) { std::visit(overloaded{ [&idx, &stream](const comp_data_t &comp) { - stream << comp.column_name << comp.op_type + stream << '"' << comp.column_name << '"' << comp.op_type << '?' + std::to_string(++idx); }, [&idx, &stream](const n_t &next) { diff --git a/repertory/repertory_test/src/database_test.cpp b/repertory/repertory_test/src/database_test.cpp index b248804e..a4a2deb4 100644 --- a/repertory/repertory_test/src/database_test.cpp +++ b/repertory/repertory_test/src/database_test.cpp @@ -143,7 +143,7 @@ TEST_F(database_test, db_delete_where_query) { .equals("test2"); auto query_str = query.dump(); std::cout << query_str << std::endl; - EXPECT_STREQ(R"(DELETE FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)", + EXPECT_STREQ(R"(DELETE FROM "table" WHERE "column1"=?1 AND "column2"=?2;)", query_str.c_str()); } @@ -185,9 +185,8 @@ TEST_F(database_test, db_select_where_query) { .equals("test2"); auto query_str = query.dump(); std::cout << query_str << std::endl; - EXPECT_STREQ( - R"(SELECT * FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)", - query_str.c_str()); + EXPECT_STREQ(R"(SELECT * FROM "table" WHERE "column1"=?1 AND "column2"=?2;)", + query_str.c_str()); } TEST_F(database_test, db_select_columns_query) { @@ -202,7 +201,7 @@ TEST_F(database_test, db_select_columns_query) { auto query_str = query.dump(); std::cout << query_str << std::endl; EXPECT_STREQ( - R"(SELECT column1, column2 FROM "table" WHERE ("column1"=?1 AND "column2"=?2);)", + R"(SELECT column1, column2 FROM "table" WHERE "column1"=?1 AND "column2"=?2;)", query_str.c_str()); } @@ -217,7 +216,7 @@ TEST_F(database_test, db_update_query) { auto query_str = query.dump(); std::cout << query_str << std::endl; EXPECT_STREQ( - R"(UPDATE "table" SET "column1"=?1 WHERE ("column1"=?2 AND "column2"=?3);)", + R"(UPDATE "table" SET "column1"=?1 WHERE "column1"=?2 AND "column2"=?3;)", query_str.c_str()); }