schema creation progress
This commit is contained in:
@@ -35,10 +35,6 @@ query_add_key_constraint_intermediate query_alter_table_intermediate::add_constr
|
||||
return {context_};
|
||||
}
|
||||
|
||||
executable_query query_alter_table_intermediate::add_constraint( const class object::constraint& constraint ) {
|
||||
return {context_};
|
||||
}
|
||||
|
||||
executable_query query_alter_table_intermediate::drop_constraint( const std::string& name ) {
|
||||
context_->parts.push_back(std::make_unique<internal::query_drop_key_constraint_part>(name));
|
||||
return {context_};
|
||||
|
||||
@@ -36,9 +36,6 @@ sql::query_context query_compiler::compile(const query_data &data,
|
||||
}
|
||||
|
||||
std::string handle_column(sql::query_context &ctx, const sql::dialect *d, const query_data &data, const column &col) {
|
||||
// ctx.result_vars.emplace_back(col.column_name());
|
||||
const auto& column_table = col.table().get();
|
||||
// ctx.column_aliases.insert({column_table->has_alias() ? column_table->alias() : column_table->name() + "." + col.column_name(), col.alias()});
|
||||
if (col.is_function()) {
|
||||
ctx.prototype.emplace_back(col.has_alias() ? col.alias() : col.column_name());
|
||||
ctx.prototype.back().change_type(utils::basic_type::type_int32);
|
||||
@@ -153,7 +150,6 @@ void query_compiler::visit(internal::query_select_part &part) {
|
||||
void query_compiler::visit(internal::query_from_part &part) {
|
||||
query_.table_name = part.table().name();
|
||||
query_.sql += " " + build_table_name(part.token(), *dialect_, part.table());
|
||||
// query_.table_aliases.insert({query_.table_name, part.table().alias()});
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_join_part &part)
|
||||
@@ -177,40 +173,33 @@ void query_compiler::visit(internal::query_group_by_part &part) {
|
||||
query_.sql += " " + dialect_->group_by() + " " + prepare_identifier(*dialect_, part.column());
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_order_by_part &part)
|
||||
{
|
||||
void query_compiler::visit(internal::query_order_by_part &part) {
|
||||
query_.sql += " " + dialect_->order_by() +
|
||||
" " + prepare_criteria(*dialect_, part.column());
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_order_by_asc_part &/*order_by_asc_part*/)
|
||||
{
|
||||
void query_compiler::visit(internal::query_order_by_asc_part &/*order_by_asc_part*/) {
|
||||
query_.sql += " " + dialect_->asc();
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_order_by_desc_part &/*order_by_desc_part*/)
|
||||
{
|
||||
void query_compiler::visit(internal::query_order_by_desc_part &/*order_by_desc_part*/) {
|
||||
query_.sql += " " + dialect_->desc();
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_offset_part &part)
|
||||
{
|
||||
void query_compiler::visit(internal::query_offset_part &part) {
|
||||
query_.sql += " " + dialect_->offset() + " " + std::to_string(part.offset());
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_limit_part &part)
|
||||
{
|
||||
void query_compiler::visit(internal::query_limit_part &part) {
|
||||
query_.sql += " " + dialect_->limit() + " " + std::to_string(part.limit());
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_insert_part &/*insert_part*/)
|
||||
{
|
||||
void query_compiler::visit(internal::query_insert_part &/*insert_part*/) {
|
||||
query_.command = sql::sql_command::SQL_INSERT;
|
||||
query_.sql = dialect_->insert();
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_into_part &part)
|
||||
{
|
||||
void query_compiler::visit(internal::query_into_part &part) {
|
||||
query_.table_name = part.table().name();
|
||||
query_.sql += " " + dialect_->into() +
|
||||
" " + dialect_->prepare_identifier_string(part.table().name());
|
||||
@@ -383,14 +372,12 @@ void query_compiler::visit(internal::query_set_part &part) {
|
||||
query_.sql += result;
|
||||
}
|
||||
|
||||
void query_compiler::visit(internal::query_drop_table_part &part)
|
||||
{
|
||||
void query_compiler::visit(internal::query_drop_table_part &part) {
|
||||
query_.table_name = part.table().name();
|
||||
query_.sql += " " + build_table_name(part.token(), *dialect_, query_.table_name);
|
||||
}
|
||||
|
||||
std::string build_create_column(const object::attribute &col, const sql::dialect &d)
|
||||
{
|
||||
std::string build_create_column(const object::attribute &col, const sql::dialect &d) {
|
||||
std::string result = d.prepare_identifier_string(col.name()) + " " + d.data_type_at(col.type());
|
||||
if (col.attributes().size() > 0) {
|
||||
result.append("(" + std::to_string(col.attributes().size()) + ")");
|
||||
@@ -433,8 +420,7 @@ std::string build_constraint(const class object::constraint& cons, const sql::di
|
||||
return result;
|
||||
}
|
||||
|
||||
std::string query_compiler::build_table_name(const sql::dialect_token token, const sql::dialect &d, const table& t)
|
||||
{
|
||||
std::string query_compiler::build_table_name(const sql::dialect_token token, const sql::dialect &d, const table& t) {
|
||||
return d.token_at(token) + " " +
|
||||
(!d.default_schema_name().empty() ? d.prepare_identifier_string(d.default_schema_name()) + "." : "") +
|
||||
d.prepare_identifier_string(t.name()) +
|
||||
|
||||
Reference in New Issue
Block a user