column generator progress
This commit is contained in:
parent
b3bff2dd1b
commit
1d84b112f1
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue