column generator progress

This commit is contained in:
Sascha Kühl 2025-11-11 08:02:46 +01:00
parent b3bff2dd1b
commit 1d84b112f1
4 changed files with 9 additions and 4 deletions

View File

@ -2,7 +2,7 @@
#include "matador/sql/connection.hpp" #include "matador/sql/connection.hpp"
#include "matador/sql/query_macro.hpp" #include "matador/sql/query_macro.hpp"
#include "matador/query/condition.hpp" #include "matador/query/criteria.hpp"
#include "matador/object/object_ptr.hpp" #include "matador/object/object_ptr.hpp"
#include "matador/object/repository.hpp" #include "matador/object/repository.hpp"

View File

@ -28,7 +28,7 @@ struct entity_query_data {
std::vector<sql::column> columns{}; std::vector<sql::column> columns{};
std::unordered_map<std::string, sql::statement> lazy_loading_statements{}; std::unordered_map<std::string, sql::statement> lazy_loading_statements{};
std::vector<query::join_data> joins{}; std::vector<query::join_data> joins{};
query::criteria_ptr where_clause; query::criteria_ptr where_clause{};
}; };
class criteria_transformer final : public query::criteria_visitor { class criteria_transformer final : public query::criteria_visitor {

View File

@ -15,7 +15,7 @@ void criteria_transformer::visit( const query::binary_criteria& node ) {
update_criteria_column(node); update_criteria_column(node);
} }
void criteria_transformer::visit( const query::binary_column_criteria& node ) {} void criteria_transformer::visit( const query::binary_column_criteria& /*node*/ ) {}
void criteria_transformer::visit( const query::collection_criteria& node ) { void criteria_transformer::visit( const query::collection_criteria& node ) {
update_criteria_column(node); update_criteria_column(node);

View File

@ -47,13 +47,18 @@ protected:
}; };
}; };
// template<class Type>
// std::vector<matador::utils::placeholder> to_placeholder() {
// return placeholder_generator::generate<Type>();
// }
TEST_CASE_METHOD(StatementTestFixture, "Create prepared statement", "[statement]") { TEST_CASE_METHOD(StatementTestFixture, "Create prepared statement", "[statement]") {
using namespace matador::utils; using namespace matador::utils;
REQUIRE(repo.attach<airplane>("airplane")); REQUIRE(repo.attach<airplane>("airplane"));
table ap{"airplane"}; table ap{"airplane"};
SECTION("Insert with prepared statement and placeholder") { SECTION("Insert with prepared statement and placeholder") {
auto stmt = query::insert() auto stmt = query::insert()
.into("airplane", column_generator::generate<airplane>(repo, true)) .into("airplane", generator::placeholder<airplane>())
// .into("airplane", column_generator::generate<airplane>(repo, true))
.values<airplane>() .values<airplane>()
.prepare(db); .prepare(db);
REQUIRE(stmt.is_ok()); REQUIRE(stmt.is_ok());