#ifndef QUERY_QUERY_DATA_HPP #define QUERY_QUERY_DATA_HPP #include "matador/object/attribute_definition.hpp" #include "matador/sql/table.hpp" #include "matador/utils/types.hpp" namespace matador::sql { enum class sql_command { SQL_UNKNOWN, SQL_CREATE_TABLE, SQL_CREATE_SCHEMA, SQL_CREATE_DATABASE, SQL_UPDATE, SQL_INSERT, SQL_DELETE, SQL_SELECT, SQL_DROP_TABLE, SQL_DROP_SCHEMA, SQL_DROP_DATABASE, SQL_ALTER_TABLE }; struct sql_command_info { std::string sql; sql_command command{}; }; struct query_context { std::string sql; sql_command command{}; std::string command_name; sql::table table{""}; std::vector prototype; std::vector result_vars; std::vector bind_vars; std::vector bind_types; std::unordered_map column_aliases; std::unordered_map table_aliases; std::vector additional_commands; }; } #endif //QUERY_QUERY_DATA_HPP