|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
SQL dialect implementation for PostgreSQL, SQLite. More...
#include <query_dialect.h>


Public Member Functions | |
| sql_dialect (database_types db_type) | |
| ~sql_dialect () override=default | |
| void | set_query_type (query_type type) override |
| query_type | get_query_type () const override |
| void | set_select_columns (const std::vector< std::string > &columns) override |
| void | set_from_table (const std::string &table) override |
| void | add_where_condition (const query_condition &condition) override |
| void | add_where_condition (const std::string &field, const std::string &op, const core::database_value &value) override |
| void | add_join (const std::string &table, const std::string &condition, join_type type) override |
| void | set_group_by (const std::vector< std::string > &columns) override |
| void | set_having (const std::string &condition) override |
| void | add_order_by (const std::string &column, sort_order order) override |
| void | set_limit (size_t count) override |
| void | set_offset (size_t count) override |
| void | set_insert_table (const std::string &table) override |
| void | set_insert_data (const std::map< std::string, core::database_value > &data) override |
| void | set_insert_rows (const std::vector< std::map< std::string, core::database_value > > &rows) override |
| void | set_update_table (const std::string &table) override |
| void | set_update_data (const std::map< std::string, core::database_value > &data) override |
| void | set_delete_table (const std::string &table) override |
| void | set_collection (const std::string &name) override |
| void | set_key (const std::string &key) override |
| std::string | build () const override |
| void | reset () override |
| database_types | get_database_type () const override |
Public Member Functions inherited from database::query_dialect | |
| virtual | ~query_dialect ()=default |
Private Member Functions | |
| std::string | escape_identifier (const std::string &identifier) const |
| std::string | format_value (const core::database_value &value) const |
| std::string | join_type_to_string (join_type type) const |
Private Attributes | |
| database_types | db_type_ |
| query_type | type_ |
| std::vector< std::string > | select_columns_ |
| std::string | from_table_ |
| std::vector< query_condition > | where_conditions_ |
| std::vector< std::string > | joins_ |
| std::vector< std::string > | group_by_columns_ |
| std::string | having_clause_ |
| std::vector< std::string > | order_by_clauses_ |
| size_t | limit_count_ |
| size_t | offset_count_ |
| std::string | target_table_ |
| std::map< std::string, core::database_value > | set_data_ |
| std::vector< std::map< std::string, core::database_value > > | insert_rows_ |
Additional Inherited Members | |
Public Types inherited from database::query_dialect | |
| enum class | query_type { none , select , insert , update , delete_query } |
SQL dialect implementation for PostgreSQL, SQLite.
Definition at line 98 of file query_dialect.h.
|
explicit |
Definition at line 35 of file query_dialect.cpp.
|
overridedefault |
|
overridevirtual |
Implements database::query_dialect.
Definition at line 74 of file query_dialect.cpp.
References join_type_to_string(), and joins_.

|
overridevirtual |
Implements database::query_dialect.
Definition at line 91 of file query_dialect.cpp.
References database::asc, and order_by_clauses_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 64 of file query_dialect.cpp.
References where_conditions_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 69 of file query_dialect.cpp.
References where_conditions_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 151 of file query_dialect.cpp.
References database::query_dialect::delete_query, escape_identifier(), format_value(), from_table_, group_by_columns_, having_clause_, database::query_dialect::insert, insert_rows_, joins_, limit_count_, offset_count_, order_by_clauses_, database::query_dialect::select, select_columns_, set_data_, target_table_, type_, database::query_dialect::update, and where_conditions_.

|
private |
Definition at line 303 of file query_dialect.cpp.
References db_type_, database::postgres, and database::sqlite.
Referenced by build().

|
private |
Definition at line 315 of file query_dialect.cpp.
Referenced by build().

|
overridevirtual |
Implements database::query_dialect.
Definition at line 298 of file query_dialect.cpp.
References db_type_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 48 of file query_dialect.cpp.
References type_.
|
private |
Definition at line 345 of file query_dialect.cpp.
References database::cross, database::full_outer, database::inner, database::left, and database::right.
Referenced by add_join().

|
overridevirtual |
Implements database::query_dialect.
Definition at line 281 of file query_dialect.cpp.
References from_table_, group_by_columns_, having_clause_, insert_rows_, joins_, limit_count_, database::query_dialect::none, offset_count_, order_by_clauses_, select_columns_, set_data_, target_table_, type_, and where_conditions_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 141 of file query_dialect.cpp.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 135 of file query_dialect.cpp.
References database::query_dialect::delete_query, target_table_, and type_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 59 of file query_dialect.cpp.
References from_table_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 81 of file query_dialect.cpp.
References group_by_columns_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 86 of file query_dialect.cpp.
References having_clause_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 114 of file query_dialect.cpp.
References set_data_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 119 of file query_dialect.cpp.
References insert_rows_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 108 of file query_dialect.cpp.
References database::query_dialect::insert, target_table_, and type_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 146 of file query_dialect.cpp.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 98 of file query_dialect.cpp.
References limit_count_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 103 of file query_dialect.cpp.
References offset_count_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 43 of file query_dialect.cpp.
References type_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 53 of file query_dialect.cpp.
References database::query_dialect::select, select_columns_, and type_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 130 of file query_dialect.cpp.
References set_data_.
|
overridevirtual |
Implements database::query_dialect.
Definition at line 124 of file query_dialect.cpp.
References target_table_, type_, and database::query_dialect::update.
|
private |
Definition at line 142 of file query_dialect.h.
Referenced by escape_identifier(), and get_database_type().
|
private |
Definition at line 145 of file query_dialect.h.
Referenced by build(), reset(), and set_from_table().
|
private |
Definition at line 148 of file query_dialect.h.
Referenced by build(), reset(), and set_group_by().
|
private |
Definition at line 149 of file query_dialect.h.
Referenced by build(), reset(), and set_having().
|
private |
Definition at line 156 of file query_dialect.h.
Referenced by build(), reset(), and set_insert_rows().
|
private |
Definition at line 147 of file query_dialect.h.
Referenced by add_join(), build(), and reset().
|
private |
Definition at line 151 of file query_dialect.h.
Referenced by build(), reset(), and set_limit().
|
private |
Definition at line 152 of file query_dialect.h.
Referenced by build(), reset(), and set_offset().
|
private |
Definition at line 150 of file query_dialect.h.
Referenced by add_order_by(), build(), and reset().
|
private |
Definition at line 144 of file query_dialect.h.
Referenced by build(), reset(), and set_select_columns().
|
private |
Definition at line 155 of file query_dialect.h.
Referenced by build(), reset(), set_insert_data(), and set_update_data().
|
private |
Definition at line 154 of file query_dialect.h.
Referenced by build(), reset(), set_delete_table(), set_insert_table(), and set_update_table().
|
private |
Definition at line 143 of file query_dialect.h.
Referenced by build(), get_query_type(), reset(), set_delete_table(), set_insert_table(), set_query_type(), set_select_columns(), and set_update_table().
|
private |
Definition at line 146 of file query_dialect.h.
Referenced by add_where_condition(), add_where_condition(), build(), and reset().