1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef ARANATHA_BASE_DATABASE_MYSQLDATABASE_H
#define ARANATHA_BASE_DATABASE_MYSQLDATABASE_H
#include "Aranatha/Base/Database.h"
#include <boost/unordered_map.hpp>
#include <sqlite3.h>
class SqliteDatabase;
class SqliteResult;
class SqliteStatement;
class SqliteDatabase;
class SqliteDatabase : public Database
{
private:
const std::string _filename;
sqlite3 * _handle; // mysqlclient ?
RetainPtr< SqliteStatement > _begin_statement;
RetainPtr< SqliteStatement > _commit_statement;
RetainPtr< SqliteStatement > _abort_statement;
public:
const std::string & filename() const { return _filename; }
sqlite3 * handle() const { return _handle; }
SqliteDatabase(const std::string & filename);
~SqliteDatabase();
RetainPtr< Statement > prepare(const std::string & sql);
bool has_table(Table table);
void handle_error(int result);
}; |