added alter table command to fluent query builder (progress)

This commit is contained in:
Sascha Kühl
2025-11-03 16:21:26 +01:00
parent 557abecf91
commit c3c7ea57a2
22 changed files with 451 additions and 26 deletions
+84 -1
View File
@@ -3,6 +3,89 @@
#include <utility>
namespace matador::query::internal {
query_alter_part::query_alter_part()
: query_part(sql::dialect_token::Alter) {}
void query_alter_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
query_alter_table_part::query_alter_table_part(sql::table table )
: query_part(sql::dialect_token::Table)
, table_(std::move(table)) {}
void query_alter_table_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const sql::table& query_alter_table_part::table() const {
return table_;
}
query_add_key_constraint_part::query_add_key_constraint_part(const std::string& name)
: query_part(sql::dialect_token::AddConstraint)
, name_(name){}
void query_add_key_constraint_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const std::string& query_add_key_constraint_part::name() const {
return name_;
}
query_drop_key_constraint_part::query_drop_key_constraint_part( const std::string& name )
: query_part( sql::dialect_token::DropConstraint )
, name_( name ){}
void query_drop_key_constraint_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const std::string& query_drop_key_constraint_part::name() const {
return name_;
}
query_add_foreign_key_constraint_part::query_add_foreign_key_constraint_part(const std::vector<sql::column>& columns)
: query_part(sql::dialect_token::ForeignKey)
, columns_(columns) {}
void query_add_foreign_key_constraint_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const std::vector<sql::column>& query_add_foreign_key_constraint_part::columns() const {
return columns_;
}
query_add_foreign_key_reference_part::query_add_foreign_key_reference_part( sql::table table, const std::vector<sql::column>& columns )
: query_part(sql::dialect_token::References)
, table_(std::move(table))
, columns_(columns) {}
void query_add_foreign_key_reference_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const sql::table& query_add_foreign_key_reference_part::table() const {
return table_;
}
const std::vector<sql::column>& query_add_foreign_key_reference_part::columns() const {
return columns_;
}
query_add_primary_key_constraint_part::query_add_primary_key_constraint_part(const std::vector<sql::column>& columns)
: query_part(sql::dialect_token::PrimaryKey)
, columns_(columns) {}
void query_add_primary_key_constraint_part::accept( query_part_visitor& visitor ) {
visitor.visit(*this);
}
const std::vector<sql::column>& query_add_primary_key_constraint_part::columns() const {
return columns_;
}
query_select_part::query_select_part(std::vector<sql::column> columns)
: query_part(sql::dialect_token::Select)
@@ -74,7 +157,7 @@ const abstract_criteria &query_where_part::condition() const
return *condition_;
}
query_table_name_part::query_table_name_part(sql::dialect_token token, std::string table_name)
query_table_name_part::query_table_name_part(const sql::dialect_token token, std::string table_name)
: query_part(token)
, table_name_(std::move(table_name)) {}