#ifndef QUERY_SESSION_HPP #define QUERY_SESSION_HPP #include "matador/sql/connection.hpp" #include "matador/sql/connection_pool.hpp" #include "matador/sql/query_builder.hpp" #include "matador/sql/query_intermediates.hpp" namespace matador::sql { class session { public: explicit session(connection_pool &pool); query_create_intermediate create(); query_drop_intermediate drop(); query_select_intermediate select(std::initializer_list column_names); query_insert_intermediate insert(); query_update_intermediate update(const std::string &table); query_delete_intermediate remove(); query_result fetch(const std::string &sql); std::pair execute(const std::string &sql); private: connection_pool &pool_; query_builder query_; }; } #endif //QUERY_SESSION_HPP