19 #ifndef KompexSQLiteDatabase_H
20 #define KompexSQLiteDatabase_H
78 SQLiteDatabase(
const std::string &filename,
int flags,
const char *zVfs);
107 void Open(
const char *filename,
int flags,
const char *zVfs);
128 void Open(
const std::string &filename,
int flags,
const char *zVfs);
133 void Open(
const wchar_t *filename);
186 inline int ReleaseMemory(
int bytesOfMemory)
const {
return sqlite3_release_memory(bytesOfMemory);}
204 void MoveDatabaseToMemory(UtfEncoding encoding = UTF8);
209 void SaveDatabaseFromMemoryToFile(
const std::string &filename =
"");
212 void SaveDatabaseFromMemoryToFile(
const wchar_t *filename);
225 bool IsDatabaseReadOnly();
244 void CreateModule(
const std::string &moduleName,
const sqlite3_module *module,
void *clientData,
void(*xDestroy)(
void*));
248 static void TraceOutput(
void *ptr,
const char *sql);
250 static void ProfileOutput(
void* ptr,
const char* sql, sqlite3_uint64 time);
252 static int ProcessDDLRow(
void *db,
int nColumns,
char **values,
char **columns);
254 static int ProcessDMLRow(
void *db,
int nColumns,
char **values,
char **columns);
256 void TakeSnapshot(sqlite3 *destinationDatabase);
269 void CleanUpFailedMemoryDatabase(sqlite3 *memoryDatabase, sqlite3 *rollbackDatabase,
bool isDetachNecessary,
bool isRollbackNecessary, sqlite3_stmt *stmt,
const std::string &errMsg);
275 #endif // KompexSQLiteDatabase_H