query builder progress

This commit is contained in:
Sascha Kühl
2025-12-03 16:18:03 +01:00
parent bfbbd4c589
commit 19eb54df8d
11 changed files with 360 additions and 192 deletions
+28 -13
View File
@@ -20,8 +20,11 @@ using namespace matador::test;
TEST_CASE_METHOD(QueryFixture, "Test create statement", "[query][statement][create]") {
REQUIRE(repo.attach<matador::test::person>("person"));
const auto obj = object_generator::generate<person>(repo, "person");
auto stmt = query::create()
.table<person>("person", repo)
.table(obj->name())
.columns(obj->attributes())
.constraints(obj->constraints())
.prepare(db);
REQUIRE(stmt);
@@ -44,9 +47,12 @@ TEST_CASE_METHOD(QueryFixture, "Test insert statement", "[query][statement][inse
using namespace matador::test;
REQUIRE(repo.attach<person>("person"));
auto stmt = query::create()
.table<person>("person", repo)
.prepare(db);
const auto obj = object_generator::generate<person>(repo, "person");
auto stmt = query::create()
.table(obj->name())
.columns(obj->attributes())
.constraints(obj->constraints())
.prepare(db);
REQUIRE(stmt);
auto res = stmt->execute();
@@ -86,9 +92,12 @@ TEST_CASE_METHOD(QueryFixture, "Test update statement", "[query][statement][upda
using namespace matador::utils;
REQUIRE(repo.attach<matador::test::person>("person"));
auto stmt = query::create()
.table<matador::test::person>("person", repo)
.prepare(db);
const auto obj = object_generator::generate<person>(repo, "person");
auto stmt = query::create()
.table(obj->name())
.columns(obj->attributes())
.constraints(obj->constraints())
.prepare(db);
REQUIRE(stmt);
auto res = stmt->execute();
@@ -152,9 +161,12 @@ TEST_CASE_METHOD(QueryFixture, "Test delete statement", "[query][statement][dele
using namespace matador::test;
REQUIRE(repo.attach<matador::test::person>("person"));
auto stmt = query::create()
.table<matador::test::person>("person", repo)
.prepare(db);
const auto obj = object_generator::generate<person>(repo, "person");
auto stmt = query::create()
.table(obj->name())
.columns(obj->attributes())
.constraints(obj->constraints())
.prepare(db);
REQUIRE(stmt);
auto res = stmt->execute();
@@ -239,9 +251,12 @@ TEST_CASE_METHOD(QueryFixture, "Test reuse prepared statement", "[query][stateme
using namespace matador::test;
REQUIRE(repo.attach<matador::test::person>("person"));
auto stmt = query::create()
.table<matador::test::person>("person", repo)
.prepare(db);
const auto obj = object_generator::generate<person>(repo, "person");
auto stmt = query::create()
.table(obj->name())
.columns(obj->attributes())
.constraints(obj->constraints())
.prepare(db);
REQUIRE(stmt);
auto res = stmt->execute();