column_expression progress

This commit is contained in:
2026-03-06 15:39:53 +01:00
parent 9b4738a5ff
commit 2aff0cabbb
20 changed files with 104 additions and 53 deletions
+5 -4
View File
@@ -143,7 +143,8 @@ TEST_CASE_METHOD( QueryFixture, "Test quoted identifier", "[query][quotes][ident
REQUIRE(row.value()->at("to").as<std::string>() == "London");
res = query::update("quotes")
.set({{"from", "Hamburg"}, {"to", "New York"}})
.set("from", "Hamburg")
.set("to", "New York")
.where("from"_col == "Berlin")
.execute(db);
REQUIRE(res.is_ok());
@@ -227,7 +228,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted literals", "[query][quotes][literals
REQUIRE(row.value()->at("name").as<std::string>() == "text");
res = query::update("escapes")
.set({{"name", "text'd"}})
.set("name", "text'd")
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
@@ -241,7 +242,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted literals", "[query][quotes][literals
REQUIRE(row.value()->at("name").as<std::string>() == "text'd");
res = query::update("escapes")
.set({{"name", "text\nhello\tworld"}})
.set("name", "text\nhello\tworld")
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
@@ -255,7 +256,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted literals", "[query][quotes][literals
REQUIRE(row.value()->at("name").as<std::string>() == "text\nhello\tworld");
res = query::update("escapes")
.set({{"name", "text \"text\""}})
.set("name", "text \"text\"")
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
+7 -5
View File
@@ -363,9 +363,9 @@ TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][recor
REQUIRE(res->affected_rows == 1);
res = query::update("person")
.set({{"id", 7},
{"name", "jane"},
{"age", 35}})
.set("id", 7)
.set("name", "jane")
.set("age", 35)
.where("id"_col == 7)
.execute(db);
REQUIRE(res.is_ok());
@@ -645,7 +645,8 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]
REQUIRE("London" == (*result)->at("to").str());
res = query::update("quotes")
.set({{"from", "Hamburg"}, {"to", "New York"}})
.set("from", "Hamburg")
.set("to", "New York")
.where("from"_col == "Berlin")
.execute(db);
REQUIRE(res.is_ok());
@@ -761,7 +762,8 @@ TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]")
REQUIRE((*row)->at("age").as<unsigned short>() == 45);
res = query::update("person")
.set({{"name", "jane"}, {"age", 47}})
.set("name", "jane")
.set("age", 47)
.where("name"_col == "hans")
.execute(db);
REQUIRE(res.is_ok());
+4 -1
View File
@@ -110,7 +110,10 @@ TEST_CASE_METHOD(QueryFixture, "Test update statement", "[query][statement][upda
george.age = 36;
george.image = {5,6,7,8};
stmt = query::update(PERSON)
.set(generator::column_value_pairs<person>())
.set(PERSON.id, _)
.set(PERSON.name, _)
.set(PERSON.age, _)
.set(PERSON.image, _)
.where(PERSON.id == _)
.prepare(db);
REQUIRE(stmt);