#include "sqlite_connection.hpp" #include "sqlite_error.hpp" #include namespace matador::backends::sqlite { sqlite_connection::sqlite_connection(const sql::connection_info &info) : connection_impl(info) { } void sqlite_connection::open() { const auto ret = sqlite3_open(info().database.c_str(), &sqlite_db_); if (ret != SQLITE_OK) { throw_sqlite_error(ret, sqlite_db_, "open"); } } void sqlite_connection::close() { int ret = sqlite3_close(sqlite_db_); throw_sqlite_error(ret, sqlite_db_, "close"); sqlite_db_ = nullptr; } bool sqlite_connection::is_open() { return sqlite_db_ != nullptr; } void sqlite_connection::execute(const std::string &stmt) { } void sqlite_connection::prepare(const std::string &stmt) { } } extern "C" { MATADOR_SQLITE_API matador::sql::connection_impl *create_database(const matador::sql::connection_info &info) { return new matador::backends::sqlite::sqlite_connection(info); } MATADOR_SQLITE_API void destroy_database(matador::sql::connection_impl *db) { delete db; } }