query/source/orm/query/intermediates/query_create_intermediate.cpp

49 lines
1.9 KiB
C++

#include "matador/query/intermediates/query_create_intermediate.hpp"
#include "matador/query/internal/query_parts.hpp"
namespace matador::query {
query_create_intermediate::query_create_intermediate() {
context_->parts.push_back(std::make_unique<internal::query_create_part>());
}
query_create_table_intermediate query_create_intermediate::table(const class table &tab) {
context_->parts.push_back(std::make_unique<internal::query_create_table_part>(tab));
return {context_};
}
executable_query query_create_intermediate::schema( const std::string& schema_name ) {
context_->parts.push_back(std::make_unique<internal::query_create_schema_part>(schema_name));
return {context_};
}
executable_query query_create_table_columns_intermediate::constraints(const std::initializer_list<class object::restriction> constraints) {
return this->constraints(std::list(constraints));
}
executable_query query_create_table_columns_intermediate::constraints(const std::list<class object::restriction>& constraints) {
context_->parts.push_back(std::make_unique<internal::query_create_table_constraints_part>(constraints));
return {context_};
}
query_create_table_columns_intermediate query_create_table_intermediate::columns(std::initializer_list<object::attribute> columns) {
context_->parts.push_back(std::make_unique<internal::query_create_table_columns_part>(columns));
return {context_};
}
query_create_table_columns_intermediate query_create_table_intermediate::columns(const std::list<object::attribute>& columns) {
context_->parts.push_back(std::make_unique<internal::query_create_table_columns_part>(columns));
return {context_};
}
query_create_table_columns_intermediate query_create_table_intermediate::columns(std::initializer_list<column> columns) {
return {context_};
}
query_create_table_columns_intermediate query_create_table_intermediate::columns(const std::list<column>& columns) {
return {context_};
}
}