#include "test_connection.hpp" #include "test_statement.hpp" #include "test_result_reader.hpp" #include "matador/sql/query_context.hpp" #include "matador/sql/internal/query_result_impl.hpp" #include "matador/sql/interface/statement_impl.hpp" #include "matador/utils/string.hpp" #include #include namespace matador::test::orm { test_connection::test_connection(const sql::connection_info &info) : connection_impl(info) {} utils::result test_connection::open() { is_open_ = true; const auto user = info().user; return utils::ok(); } utils::result test_connection::close() { is_open_ = false; return utils::ok(); } utils::result test_connection::is_open() const { return utils::ok(is_open_); } utils::result test_connection::is_valid() const { return is_open(); } utils::result test_connection::client_version() const { return utils::ok(utils::version{1, 2, 3}); } utils::result test_connection::server_version() const { return utils::ok(utils::version{3, 2, 1}); } utils::result test_connection::execute(const std::string &/*stmt*/) { return utils::ok(static_cast(4)); } utils::result, utils::error> test_connection::fetch(const sql::query_context &context) { return utils::ok(std::make_unique(std::make_unique(), context.prototype, context.prototype.size())); } utils::result, utils::error> test_connection::prepare(const sql::query_context &context) { std::unique_ptr s(std::make_unique(context)); return utils::ok(std::move(s)); } utils::result, utils::error> test_connection::describe(const std::string &/*table*/) { return utils::ok(std::vector{}); } utils::result test_connection::exists(const std::string &/*schema_name*/, const std::string &/*table_name*/) { return utils::ok(false); } std::string test_connection::to_escaped_string(const utils::blob& value) const { return utils::to_string(value); } }