removed class query and moved their static methods to simple functions

This commit is contained in:
2026-03-26 09:34:32 +01:00
parent 3fc08fb7ff
commit fedce38270
23 changed files with 283 additions and 286 deletions
+58 -58
View File
@@ -26,7 +26,7 @@ TEST_CASE_METHOD(QueryFixture, "Test all data types for record", "[query][record
const table tab("types");
auto res = query::create()
auto res = create()
.table(tab)
.columns({
column("id", basic_type::UInt32),
@@ -90,14 +90,14 @@ TEST_CASE_METHOD(QueryFixture, "Test all data types for record", "[query][record
time_type_t mt{12, 34, 56};
blob_type_t bin{0x01,0x02,0x03,0x04};
res = query::insert()
res = insert()
.into("types", cols)
.values({id, c, s, i, ll, uc, us, ui, ull, b, f, d, str, varchar, md, mt, bin})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto result = query::select(cols)
auto result = select(cols)
.from("types")
.fetch_one(db);
@@ -127,7 +127,7 @@ TEST_CASE_METHOD(QueryFixture, "Test all data types for record", "[query][record
TEST_CASE_METHOD(QueryFixture, "Create and drop table statement", "[query][record]")
{
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -144,7 +144,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement", "[query][recor
check_table_exists("person");
tables_to_drop.emplace("person");
res = query::drop()
res = drop()
.table("person")
.execute(db);
REQUIRE(res.is_ok());
@@ -155,7 +155,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement", "[query][recor
TEST_CASE_METHOD(QueryFixture, "Create table with identity primary key", "[query][record][create][identity]") {
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32).primary_key().identity(),
@@ -169,7 +169,7 @@ TEST_CASE_METHOD(QueryFixture, "Create table with identity primary key", "[query
check_table_exists("person");
tables_to_drop.emplace("person");
res = query::drop()
res = drop()
.table("person")
.execute(db);
REQUIRE(res.is_ok());
@@ -180,7 +180,7 @@ TEST_CASE_METHOD(QueryFixture, "Create table with identity primary key", "[query
TEST_CASE_METHOD(QueryFixture, "Create and drop table statement with foreign key", "[query][record]")
{
auto res = query::create()
auto res = create()
.table("airplane")
.columns({
column("id", basic_type::UInt32),
@@ -197,7 +197,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement with foreign key
check_table_exists("airplane");
tables_to_drop.emplace("airplane");
res = query::create()
res = create()
.table("flight")
.columns({
column("id", basic_type::UInt32),
@@ -215,7 +215,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement with foreign key
check_table_exists("flight");
tables_to_drop.emplace("flight");
res = query::drop()
res = drop()
.table("flight")
.execute(db);
REQUIRE(res.is_ok());
@@ -223,7 +223,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement with foreign key
check_table_not_exists("flight");
res = query::drop()
res = drop()
.table("airplane")
.execute(db);
REQUIRE(res.is_ok());
@@ -233,7 +233,7 @@ TEST_CASE_METHOD(QueryFixture, "Create and drop table statement with foreign key
}
TEST_CASE_METHOD(QueryFixture, "Execute insert record statement", "[query][record]") {
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -248,14 +248,14 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement", "[query][recor
REQUIRE(res->affected_rows == 0);
tables_to_drop.emplace("person");
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({7, "george", 45})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto result = query::select({"id", "name", "age"})
auto result = select({"id", "name", "age"})
.from("person")
.fetch_all(db);
@@ -276,7 +276,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement", "[query][recor
TEST_CASE_METHOD(QueryFixture, "Execute insert record statement with foreign key", "[query][record]")
{
auto res = query::create()
auto res = create()
.table("airplane")
.columns({
column("id", basic_type::UInt32),
@@ -291,7 +291,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement with foreign key
REQUIRE(res->affected_rows == 0);
tables_to_drop.emplace("airplane");
res = query::create()
res = create()
.table("flight")
.columns({
column("id", basic_type::UInt32),
@@ -314,7 +314,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement with foreign key
};
for(auto &&values : values_list) {
res = query::insert()
res = insert()
.into("airplane", {"id", "brand", "model"})
.values(std::move(values))
.execute(db);
@@ -322,14 +322,14 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement with foreign key
REQUIRE(res->affected_rows == 1);
}
auto count = query::select({count_all()})
auto count = select({count_all()})
.from("airplane")
.fetch_value<int>(db);
REQUIRE(count.is_ok());
REQUIRE(count->has_value());
REQUIRE(*count == 3);
res = query::insert()
res = insert()
.into("flight", {"id", "airplane_id", "pilot_name"})
.values({4, 1, "George"})
.execute(db);
@@ -339,7 +339,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute insert record statement with foreign key
TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][record]")
{
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -354,7 +354,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][recor
REQUIRE(res->affected_rows == 0);
tables_to_drop.emplace("person");
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({7, "george", 45})
.execute(db);
@@ -362,7 +362,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][recor
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
res = query::update("person")
res = update("person")
.set("id", 7)
.set("name", "jane")
.set("age", 35)
@@ -371,7 +371,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][recor
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto result = query::select({"id", "name", "age"})
auto result = select({"id", "name", "age"})
.from("person")
.fetch_all(db);
@@ -392,7 +392,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute update record statement", "[query][recor
TEST_CASE_METHOD(QueryFixture, "Execute select statement", "[query][record]")
{
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -415,7 +415,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement", "[query][record]")
};
for(auto &&values : values_list) {
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values(std::move(values))
.execute(db);
@@ -423,7 +423,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement", "[query][record]")
REQUIRE(res->affected_rows == 1);
}
auto result = query::select({"id", "name", "age"})
auto result = select({"id", "name", "age"})
.from("person")
.fetch_all(db);
REQUIRE(result.is_ok());
@@ -435,14 +435,14 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement", "[query][record]")
}
REQUIRE(expected_names.empty());
auto rec = query::select({"id", "name", "age"})
auto rec = select({"id", "name", "age"})
.from("person")
.fetch_one(db);
REQUIRE(rec.is_ok());
REQUIRE(rec->has_value());
REQUIRE((*rec)->at(1).str() == "george");
auto name = query::select({"name"})
auto name = select({"name"})
.from("person")
.fetch_value<std::string>(db);
@@ -452,7 +452,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement", "[query][record]")
TEST_CASE_METHOD(QueryFixture, "Execute select statement with order by", "[query][record]")
{
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -475,7 +475,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with order by", "[query
};
for(auto &&values : values_list) {
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values(std::move(values))
.execute(db);
@@ -483,7 +483,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with order by", "[query
REQUIRE(res->affected_rows == 1);
}
auto result = query::select({"id", "name", "age"})
auto result = select({"id", "name", "age"})
.from("person")
.order_by("name").asc()
.fetch_all(db);
@@ -498,7 +498,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with order by", "[query
}
TEST_CASE_METHOD(QueryFixture, "Execute select statement with group by and order by", "[query][record]") {
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -523,7 +523,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with group by and order
};
for(auto &&values : values_list) {
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values(std::move(values))
.execute(db);
@@ -531,7 +531,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with group by and order
REQUIRE(res->affected_rows == 1);
}
auto result = query::select({count("age").as("age_count"), "age"})
auto result = select({count("age").as("age_count"), "age"})
.from("person")
.group_by({"age"})
.order_by("age_count").desc()
@@ -551,7 +551,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute select statement with group by and order
}
TEST_CASE_METHOD(QueryFixture, "Execute delete statement", "[query][record]") {
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -566,34 +566,34 @@ TEST_CASE_METHOD(QueryFixture, "Execute delete statement", "[query][record]") {
REQUIRE(res->affected_rows == 0);
tables_to_drop.emplace("person");
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({1, "george", 45})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({2, "jane", 45})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto count = query::select({count_all()})
auto count = select({count_all()})
.from("person")
.fetch_value<int>(db);
REQUIRE(count.is_ok());
REQUIRE(*count == 2);
res = query::remove()
res = remove()
.from("person")
.where("id"_col == 1)
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
count = query::select({count_all()})
count = select({count_all()})
.from("person")
.fetch_value<int>(db);
REQUIRE(count.is_ok());
@@ -601,7 +601,7 @@ TEST_CASE_METHOD(QueryFixture, "Execute delete statement", "[query][record]") {
}
TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]") {
auto res = query::create()
auto res = create()
.table("quotes")
.columns({
column("from", basic_type::Varchar, 255),
@@ -628,14 +628,14 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]
++i;
}
res = query::insert()
res = insert()
.into("quotes", {"from", "to"})
.values({"Berlin", "London"})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto result = query::select({"from", "to"})
auto result = select({"from", "to"})
.from("quotes")
.fetch_one(db);
REQUIRE(result.is_ok());
@@ -644,7 +644,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]
REQUIRE("Berlin" == (*result)->at("from").str());
REQUIRE("London" == (*result)->at("to").str());
res = query::update("quotes")
res = update("quotes")
.set("from", "Hamburg")
.set("to", "New York")
.where("from"_col == "Berlin")
@@ -652,7 +652,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
result = query::select({"from", "to"})
result = select({"from", "to"})
.from("quotes")
.fetch_one(db);
REQUIRE(result.is_ok());
@@ -663,7 +663,7 @@ TEST_CASE_METHOD(QueryFixture, "Test quoted identifier record", "[query][record]
TEST_CASE_METHOD(QueryFixture, "Test create record", "[query][record][create]") {
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -690,7 +690,7 @@ TEST_CASE_METHOD(QueryFixture, "Test create record", "[query][record][create]")
TEST_CASE_METHOD(QueryFixture, "Test insert record", "[query][record][insert]") {
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -707,14 +707,14 @@ TEST_CASE_METHOD(QueryFixture, "Test insert record", "[query][record][insert]")
check_table_exists("person");
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({1, "hans", 45})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto row = query::select({"id", "name", "age"})
auto row = select({"id", "name", "age"})
.from("person")
.fetch_one(db);
REQUIRE(row.is_ok());
@@ -727,7 +727,7 @@ TEST_CASE_METHOD(QueryFixture, "Test insert record", "[query][record][insert]")
TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]") {
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -744,14 +744,14 @@ TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]")
check_table_exists("person");
res = query::insert()
res = insert()
.into("person", {"id", "name", "age"})
.values({1, "hans", 45})
.execute(db);
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
auto row = query::select({"id", "name", "age"})
auto row = select({"id", "name", "age"})
.from("person")
.fetch_one(db);
REQUIRE(row.is_ok());
@@ -761,7 +761,7 @@ TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]")
REQUIRE((*row)->at("name").as<std::string>() == "hans");
REQUIRE((*row)->at("age").as<unsigned short>() == 45);
res = query::update("person")
res = update("person")
.set("name", "jane")
.set("age", 47)
.where("name"_col == "hans")
@@ -769,7 +769,7 @@ TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]")
REQUIRE(res.is_ok());
REQUIRE(res->affected_rows == 1);
row = query::select({"id", "name", "age"})
row = select({"id", "name", "age"})
.from("person")
.fetch_one(db);
REQUIRE(row.is_ok());
@@ -782,7 +782,7 @@ TEST_CASE_METHOD(QueryFixture, "Test update record", "[query][record][update]")
TEST_CASE_METHOD(QueryFixture, "Test prepared record statement", "[query][record][prepared]") {
check_table_not_exists("person");
auto stmt = query::create()
auto stmt = create()
.table("person")
.columns({
column("id", basic_type::UInt32),
@@ -812,7 +812,7 @@ TEST_CASE_METHOD(QueryFixture, "Test prepared record statement", "[query][record
TEST_CASE_METHOD(QueryFixture, "Test scalar result", "[query][record][scalar][result]") {
check_table_not_exists("person");
auto res = query::create()
auto res = create()
.table("person")
.columns({
column("id", basic_type::UInt32)
@@ -830,7 +830,7 @@ TEST_CASE_METHOD(QueryFixture, "Test scalar result", "[query][record][scalar][re
std::vector<uint32_t> ids({ 1,2,3,4 });
for(auto id : ids) {
res = query::insert()
res = insert()
.into("person", {"id"})
.values({id})
.execute(db);
@@ -838,7 +838,7 @@ TEST_CASE_METHOD(QueryFixture, "Test scalar result", "[query][record][scalar][re
REQUIRE(res->affected_rows == 1);
}
auto stmt = query::select({"id"})
auto stmt = select({"id"})
.from("person")
.order_by("id"_col).asc()
.prepare(db);