query/backends/sqlite/src/sqlite_connection.cpp

60 lines
1.0 KiB
C++

#include "sqlite_connection.hpp"
#include "sqlite_error.hpp"
#include <utility>
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;
}
}