has many generator progress
This commit is contained in:
@@ -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
|
||||
@@ -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_;
|
||||
|
||||
Reference in New Issue
Block a user