added sequence-specific code (create, drop and nextval)

This commit is contained in:
2026-02-17 13:31:06 +01:00
parent 80426c5293
commit 5668f1060b
17 changed files with 174 additions and 8 deletions
+38
View File
@@ -134,6 +134,19 @@ const std::vector<table_column> &query_select_part::columns() const {
return columns_;
}
query_select_nextval_part::query_select_nextval_part(std::string sequence_name)
: query_part(sql::dialect_token::NextVal)
, sequence_name_(std::move(sequence_name)){
}
const std::string& query_select_nextval_part::sequence_name() const {
return sequence_name_;
}
void query_select_nextval_part::accept(query_part_visitor& visitor) {
visitor.visit(*this);
}
query_from_part::query_from_part(std::vector<table> tables)
: query_part(sql::dialect_token::From)
, tables_(std::move(tables)) {
@@ -419,6 +432,18 @@ void query_create_table_constraints_part::accept(query_part_visitor &visitor) {
visitor.visit(*this);
}
query_create_sequence_part::query_create_sequence_part(std::string sequence_name)
: query_part(sql::dialect_token::Sequence)
, sequence_name_(std::move(sequence_name)) {}
const std::string& query_create_sequence_part::sequence_name() const {
return sequence_name_;
}
void query_create_sequence_part::accept(query_part_visitor& visitor) {
visitor.visit(*this);
}
query_create_schema_part::query_create_schema_part(std::string schema)
: query_part(sql::dialect_token::Schema)
, schema_(std::move(schema)) {
@@ -453,6 +478,19 @@ void query_drop_table_part::accept(query_part_visitor &visitor) {
visitor.visit(*this);
}
query_drop_sequence_part::query_drop_sequence_part(std::string sequence_name)
: query_part(sql::dialect_token::Table)
, sequence_name_(std::move(sequence_name)) {
}
const std::string& query_drop_sequence_part::sequence_name() const {
return sequence_name_;
}
void query_drop_sequence_part::accept(query_part_visitor& visitor) {
visitor.visit(*this);
}
query_drop_schema_part::query_drop_schema_part(std::string schema_)
: query_part(sql::dialect_token::Schema)
, schema_(std::move(schema_)) {