has many generator progress

This commit is contained in:
2026-04-28 16:43:01 +02:00
parent 1a22c70320
commit 96c6c78cb8
7 changed files with 71 additions and 37 deletions
+3 -8
View File
@@ -3,14 +3,9 @@
#include "matador/sql/statement_cache.hpp"
namespace matador::query {
utils::result<sql::statement, utils::error> insert_step::acquire_and_bind(sql::statement_cache &cache) const {
auto result = cache.acquire(ctx);
if (!result.is_ok()) {
return utils::failure(result.err());
}
utils::result<void, utils::error> insert_step::acquire_and_bind(sql::statement &stmt) const {
bind_object(stmt);
bind_object(*result);
return utils::ok(std::move(*result));
return utils::ok<void>();
}
} // namespace matador::query
+12 -4
View File
@@ -55,10 +55,18 @@ session::session(session_context&& ctx, const basic_schema &scm)
}
columns.push_back(col);
}
queries.insert = query::insert()
.into(node.name(), columns)
.values(generator::placeholders(columns.size()))
.compile(dialect_);
if (node.pk_generator().type() == utils::generator_type::Identity) {
queries.insert = query::insert()
.into(node.name(), columns)
.values(generator::placeholders(columns.size()))
.returning(node.table().primary_key_column()->as(node.table().primary_key_column()->column_name()))
.compile(dialect_);
} else {
queries.insert = query::insert()
.into(node.name(), columns)
.values(generator::placeholders(columns.size()))
.compile(dialect_);
}
queries.insert.resolver = resolver_service_;
queries.update_one.resolver = resolver_service_;