|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Abstract interface for database-specific query formatting. More...
#include <query_dialect.h>


Public Types | |
| enum class | query_type { none , select , insert , update , delete_query } |
Public Member Functions | |
| virtual | ~query_dialect ()=default |
| virtual void | set_query_type (query_type type)=0 |
| virtual query_type | get_query_type () const =0 |
| virtual void | set_select_columns (const std::vector< std::string > &columns)=0 |
| virtual void | set_from_table (const std::string &table)=0 |
| virtual void | add_where_condition (const query_condition &condition)=0 |
| virtual void | add_where_condition (const std::string &field, const std::string &op, const core::database_value &value)=0 |
| virtual void | add_join (const std::string &table, const std::string &condition, join_type type)=0 |
| virtual void | set_group_by (const std::vector< std::string > &columns)=0 |
| virtual void | set_having (const std::string &condition)=0 |
| virtual void | add_order_by (const std::string &column, sort_order order)=0 |
| virtual void | set_limit (size_t count)=0 |
| virtual void | set_offset (size_t count)=0 |
| virtual void | set_insert_table (const std::string &table)=0 |
| virtual void | set_insert_data (const std::map< std::string, core::database_value > &data)=0 |
| virtual void | set_insert_rows (const std::vector< std::map< std::string, core::database_value > > &rows)=0 |
| virtual void | set_update_table (const std::string &table)=0 |
| virtual void | set_update_data (const std::map< std::string, core::database_value > &data)=0 |
| virtual void | set_delete_table (const std::string &table)=0 |
| virtual void | set_collection (const std::string &name)=0 |
| virtual void | set_key (const std::string &key)=0 |
| virtual std::string | build () const =0 |
| virtual void | reset ()=0 |
| virtual database_types | get_database_type () const =0 |
Abstract interface for database-specific query formatting.
This class defines the Strategy interface for formatting queries according to different database dialects (SQL, MongoDB, Redis).
Definition at line 34 of file query_dialect.h.
|
strong |
| Enumerator | |
|---|---|
| none | |
| select | |
| insert | |
| update | |
| delete_query | |
Definition at line 40 of file query_dialect.h.
|
virtualdefault |
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.
|
pure virtual |
Implemented in database::detail::sql_dialect.