some code formatting
This commit is contained in:
parent
6b2db17f58
commit
907bcf90a6
|
|
@ -17,11 +17,10 @@
|
||||||
#include "matador/sql/dialect.hpp"
|
#include "matador/sql/dialect.hpp"
|
||||||
|
|
||||||
namespace matador::query {
|
namespace matador::query {
|
||||||
|
|
||||||
sql::query_context query_builder::compile(const query_data& data,
|
sql::query_context query_builder::compile(const query_data& data,
|
||||||
const sql::dialect& d,
|
const sql::dialect& d,
|
||||||
const std::optional<std::reference_wrapper<const sql::connection_impl>> conn)
|
const std::optional<std::reference_wrapper<const sql::connection_impl>>
|
||||||
{
|
conn) {
|
||||||
data_ = &data;
|
data_ = &data;
|
||||||
dialect_ = &d;
|
dialect_ = &d;
|
||||||
connection_ = conn;
|
connection_ = conn;
|
||||||
|
|
@ -208,23 +207,28 @@ void query_builder::visit(internal::query_into_part &part) {
|
||||||
query_.sql += ")"/* + result*/;
|
query_.sql += ")"/* + result*/;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct value_visitor {
|
struct value_visitor
|
||||||
|
{
|
||||||
value_visitor(attribute_string_writer& w, sql::query_context& ctx)
|
value_visitor(attribute_string_writer& w, sql::query_context& ctx)
|
||||||
: value_to_string_visitor(w, ctx) {}
|
: value_to_string_visitor(w, ctx) {
|
||||||
|
}
|
||||||
|
|
||||||
void operator()(const utils::database_type& val) {
|
void operator()(const utils::database_type& val) {
|
||||||
std::visit(value_to_string_visitor, val);
|
std::visit(value_to_string_visitor, val);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void operator()(const utils::placeholder&/*val*/) {
|
void operator()(const utils::placeholder&/*val*/) {
|
||||||
value_to_string_visitor.query.bind_vars.emplace_back(std::string("value_") + std::to_string(value_to_string_visitor.query.bind_vars.size() + 1));
|
value_to_string_visitor.query.bind_vars.emplace_back(
|
||||||
value_to_string_visitor.result = value_to_string_visitor.writer->dialect().next_placeholder(value_to_string_visitor.query.bind_vars);
|
std::string("value_") + std::to_string(value_to_string_visitor.query.bind_vars.size() + 1));
|
||||||
|
value_to_string_visitor.result = value_to_string_visitor.writer->dialect().next_placeholder(
|
||||||
|
value_to_string_visitor.query.bind_vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal::basic_type_to_string_visitor value_to_string_visitor;
|
internal::basic_type_to_string_visitor value_to_string_visitor;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string query_builder::determine_value(const sql::dialect &d, sql::query_context& ctx, const abstract_column_expression &exp) {
|
std::string query_builder::determine_value(const sql::dialect& d, sql::query_context& ctx,
|
||||||
|
const abstract_column_expression& exp) {
|
||||||
attribute_string_writer writer(d, {});
|
attribute_string_writer writer(d, {});
|
||||||
expression_evaluator v(d, ctx);
|
expression_evaluator v(d, ctx);
|
||||||
exp.accept(v);
|
exp.accept(v);
|
||||||
|
|
@ -232,7 +236,8 @@ std::string query_builder::determine_value(const sql::dialect &d, sql::query_con
|
||||||
return v.result();
|
return v.result();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string query_builder::determine_value(value_visitor &visitor, const std::variant<utils::placeholder, utils::database_type> &val) {
|
std::string query_builder::determine_value(value_visitor& visitor,
|
||||||
|
const std::variant<utils::placeholder, utils::database_type>& val) {
|
||||||
std::visit(visitor, val);
|
std::visit(visitor, val);
|
||||||
return visitor.value_to_string_visitor.result;
|
return visitor.value_to_string_visitor.result;
|
||||||
}
|
}
|
||||||
|
|
@ -281,14 +286,12 @@ void query_builder::visit(internal::query_delete_part &/*delete_part*/) {
|
||||||
query_.sql = dialect_->remove();
|
query_.sql = dialect_->remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
void query_builder::visit(internal::query_delete_from_part &part)
|
void query_builder::visit(internal::query_delete_from_part& part) {
|
||||||
{
|
|
||||||
query_.table_name = part.table().name();
|
query_.table_name = part.table().name();
|
||||||
query_.sql += " " + build_table_name(part.token(), *dialect_, query_.table_name);
|
query_.sql += " " + build_table_name(part.token(), *dialect_, query_.table_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void query_builder::visit(internal::query_create_part &/*create_part*/)
|
void query_builder::visit(internal::query_create_part&/*create_part*/) {
|
||||||
{
|
|
||||||
query_.command = sql::sql_command::CreateTable;
|
query_.command = sql::sql_command::CreateTable;
|
||||||
query_.sql = dialect_->create();
|
query_.sql = dialect_->create();
|
||||||
}
|
}
|
||||||
|
|
@ -296,8 +299,7 @@ void query_builder::visit(internal::query_create_part &/*create_part*/)
|
||||||
void build_create_column(std::string& out, const table_column& col, const sql::dialect& d);
|
void build_create_column(std::string& out, const table_column& col, const sql::dialect& d);
|
||||||
std::string build_constraint(const table_constraint& cons, const sql::dialect& d);
|
std::string build_constraint(const table_constraint& cons, const sql::dialect& d);
|
||||||
|
|
||||||
void query_builder::visit(internal::query_create_table_part &part)
|
void query_builder::visit(internal::query_create_table_part& part) {
|
||||||
{
|
|
||||||
query_.sql += " " + dialect_->table() + " " + dialect_->prepare_identifier_string(part.table().name()) + " (";
|
query_.sql += " " + dialect_->table() + " " + dialect_->prepare_identifier_string(part.table().name()) + " (";
|
||||||
query_.table_name = part.table().name();
|
query_.table_name = part.table().name();
|
||||||
|
|
||||||
|
|
@ -496,7 +498,9 @@ std::string query_builder::build_add_constraint_string(const table_constraint &c
|
||||||
if (c.is_primary_key_constraint()) {
|
if (c.is_primary_key_constraint()) {
|
||||||
result.append(dialect_->primary_key()).append(" (").append(c.column_name()).append(")");
|
result.append(dialect_->primary_key()).append(" (").append(c.column_name()).append(")");
|
||||||
} else if (c.is_foreign_key_constraint()) {
|
} else if (c.is_foreign_key_constraint()) {
|
||||||
result.append(dialect_->foreign_key()).append(" (").append(c.column_name()).append(") ").append(dialect_->references()).append(" ").append(c.referenced_table()).append(" (").append(c.referenced_column()).append(")");
|
result.append(dialect_->foreign_key()).append(" (").append(c.column_name()).append(") ").
|
||||||
|
append(dialect_->references()).append(" ").append(c.referenced_table()).append(" (").append(
|
||||||
|
c.referenced_column()).append(")");
|
||||||
} else if (c.is_unique_constraint()) {
|
} else if (c.is_unique_constraint()) {
|
||||||
result.append(dialect_->unique()).append(" (").append(c.column_name()).append(")");
|
result.append(dialect_->unique()).append(" (").append(c.column_name()).append(")");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue