71 lines
2.2 KiB
C++
71 lines
2.2 KiB
C++
#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 <string>
|
|
#include <memory>
|
|
|
|
namespace matador::test::orm {
|
|
test_connection::test_connection(const sql::connection_info &info)
|
|
: connection_impl(info) {}
|
|
|
|
utils::result<void, utils::error> test_connection::open() {
|
|
is_open_ = true;
|
|
return utils::ok<void>();
|
|
}
|
|
|
|
utils::result<void, utils::error> test_connection::close() {
|
|
is_open_ = false;
|
|
return utils::ok<void>();
|
|
}
|
|
|
|
utils::result<bool, utils::error> test_connection::is_open() const {
|
|
return utils::ok(is_open_);
|
|
}
|
|
|
|
utils::result<bool, utils::error> test_connection::is_valid() const {
|
|
return is_open();
|
|
}
|
|
|
|
utils::result<utils::version, utils::error> test_connection::client_version() const {
|
|
return utils::ok(utils::version{1, 2, 3});
|
|
}
|
|
|
|
utils::result<utils::version, utils::error> test_connection::server_version() const {
|
|
return utils::ok(utils::version{3, 2, 1});
|
|
}
|
|
|
|
utils::result<size_t, utils::error> test_connection::execute(const std::string &/*stmt*/) {
|
|
return utils::ok(static_cast<size_t>(4));
|
|
}
|
|
|
|
utils::result<std::unique_ptr<sql::query_result_impl>, utils::error> test_connection::fetch(const sql::query_context &context) {
|
|
return utils::ok(std::make_unique<sql::query_result_impl>(std::make_unique<test_result_reader>(), context.prototype, context.prototype.size()));
|
|
}
|
|
|
|
utils::result<std::unique_ptr<sql::statement_impl>, utils::error> test_connection::prepare(const sql::query_context &context) {
|
|
std::unique_ptr<sql::statement_impl> s(std::make_unique<test_statement>(context));
|
|
return utils::ok(std::move(s));
|
|
}
|
|
|
|
utils::result<std::vector<object::attribute_definition>, utils::error> test_connection::describe(const std::string &/*table*/) {
|
|
return utils::ok(std::vector<object::attribute_definition>{});
|
|
}
|
|
|
|
utils::result<bool, utils::error> 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);
|
|
}
|
|
|
|
} |