60 lines
1.0 KiB
C++
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;
|
|
}
|
|
|
|
}
|