Added default options for synchronous and journal mode

Added enum options SQLITE_SYNCHRONOUS_DEFAULT and SQLITE_JOURNAL_MODE_DEFAULT
and changed the default to be these instead.
This commit is contained in:
Mymaqn 2024-10-30 13:56:19 +01:00 committed by Johanna Amann
parent 6e026ba313
commit 3ca56f7e0f
4 changed files with 17 additions and 8 deletions

View file

@ -134,6 +134,7 @@ bool SQLite::DoInit(const WriterInfo& info, int arg_num_fields, const Field* con
char* errorMsg = 0;
int res;
switch ( synchronous ) {
case SQLITE_SYNCHRONOUS_DEFAULT: res = SQLITE_OK; break;
case SQLITE_SYNCHRONOUS_OFF: res = sqlite3_exec(db, "PRAGMA synchronous=OFF;", NULL, NULL, &errorMsg); break;
case SQLITE_SYNCHRONOUS_NORMAL:
res = sqlite3_exec(db, "PRAGMA synchronous=NORMAL;", NULL, NULL, &errorMsg);
@ -151,6 +152,7 @@ bool SQLite::DoInit(const WriterInfo& info, int arg_num_fields, const Field* con
}
switch ( journal_mode ) {
case SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
case SQLITE_JOURNAL_MODE_DELETE:
res = sqlite3_exec(db, "PRAGMA journal_mode=DELETE;", NULL, NULL, &errorMsg);
break;

View file

@ -49,12 +49,14 @@ private:
int64_t journal_mode;
enum SQLiteSynchronous {
SQLITE_SYNCHRONOUS_DEFAULT,
SQLITE_SYNCHRONOUS_OFF,
SQLITE_SYNCHRONOUS_NORMAL,
SQLITE_SYNCHRONOUS_FULL,
SQLITE_SYNCHRONOUS_EXTRA,
};
enum SQLiteJournalMode {
SQLITE_JOURNAL_MODE_DEFAULT,
SQLITE_JOURNAL_MODE_DELETE,
SQLITE_JOURNAL_MODE_TRUNCATE,
SQLITE_JOURNAL_MODE_PERSIST,

View file

@ -8,6 +8,7 @@ const empty_field: string;
const unset_field: string;
enum SQLiteSynchronous %{
SQLITE_SYNCHRONOUS_DEFAULT,
SQLITE_SYNCHRONOUS_OFF,
SQLITE_SYNCHRONOUS_NORMAL,
SQLITE_SYNCHRONOUS_FULL,
@ -15,9 +16,10 @@ enum SQLiteSynchronous %{
%}
enum SQLiteJournalMode %{
SQLITE_JOURNAL_MODE_DEFAULT,
SQLITE_JOURNAL_MODE_DELETE,
SQLITE_JOURNAL_MODE_TRUNCATE,
SQLITE_JOURNAL_MODE_PERIST,
SQLITE_JOURNAL_MODE_PERSIST,
SQLITE_JOURNAL_MODE_MEMORY,
SQLITE_JOURNAL_MODE_WAL,
SQLITE_JOURNAL_MODE_OFF,