mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Options for SQLite log writer, eliminate duplicate definitions
Patch provided by Arne Welzel, see GH-4063
This commit is contained in:
parent
d592942ccb
commit
35ad35ad0f
2 changed files with 20 additions and 30 deletions
|
@ -134,13 +134,17 @@ bool SQLite::DoInit(const WriterInfo& info, int arg_num_fields, const Field* con
|
||||||
char* errorMsg = nullptr;
|
char* errorMsg = nullptr;
|
||||||
int res;
|
int res;
|
||||||
switch ( synchronous ) {
|
switch ( synchronous ) {
|
||||||
case SQLITE_SYNCHRONOUS_DEFAULT: res = SQLITE_OK; break;
|
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_DEFAULT: res = SQLITE_OK; break;
|
||||||
case SQLITE_SYNCHRONOUS_OFF: res = sqlite3_exec(db, "PRAGMA synchronous=OFF;", NULL, NULL, &errorMsg); break;
|
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_OFF:
|
||||||
case SQLITE_SYNCHRONOUS_NORMAL:
|
res = sqlite3_exec(db, "PRAGMA synchronous=OFF;", NULL, NULL, &errorMsg);
|
||||||
|
break;
|
||||||
|
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_NORMAL:
|
||||||
res = sqlite3_exec(db, "PRAGMA synchronous=NORMAL;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA synchronous=NORMAL;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
case SQLITE_SYNCHRONOUS_FULL: res = sqlite3_exec(db, "PRAGMA synchronous=FULL;", NULL, NULL, &errorMsg); break;
|
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_FULL:
|
||||||
case SQLITE_SYNCHRONOUS_EXTRA:
|
res = sqlite3_exec(db, "PRAGMA synchronous=FULL;", NULL, NULL, &errorMsg);
|
||||||
|
break;
|
||||||
|
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_EXTRA:
|
||||||
res = sqlite3_exec(db, "PRAGMA synchronous=EXTRA;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA synchronous=EXTRA;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
default: Error("Invalid LogSQLite::synchronous enum"); return false;
|
default: Error("Invalid LogSQLite::synchronous enum"); return false;
|
||||||
|
@ -153,21 +157,25 @@ bool SQLite::DoInit(const WriterInfo& info, int arg_num_fields, const Field* con
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ( journal_mode ) {
|
switch ( journal_mode ) {
|
||||||
case SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
|
||||||
case SQLITE_JOURNAL_MODE_DELETE:
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_DELETE:
|
||||||
res = sqlite3_exec(db, "PRAGMA journal_mode=DELETE;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA journal_mode=DELETE;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
case SQLITE_JOURNAL_MODE_TRUNCATE:
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_TRUNCATE:
|
||||||
res = sqlite3_exec(db, "PRAGMA journal_mode=TRUNCATE;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA journal_mode=TRUNCATE;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
case SQLITE_JOURNAL_MODE_PERSIST:
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_PERSIST:
|
||||||
res = sqlite3_exec(db, "PRAGMA journal_mode=PERSIST;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA journal_mode=PERSIST;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
case SQLITE_JOURNAL_MODE_MEMORY:
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_MEMORY:
|
||||||
res = sqlite3_exec(db, "PRAGMA journal_mode=MEMORY;", NULL, NULL, &errorMsg);
|
res = sqlite3_exec(db, "PRAGMA journal_mode=MEMORY;", NULL, NULL, &errorMsg);
|
||||||
break;
|
break;
|
||||||
case SQLITE_JOURNAL_MODE_WAL: res = sqlite3_exec(db, "PRAGMA journal_mode=WAL;", NULL, NULL, &errorMsg); break;
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_WAL:
|
||||||
case SQLITE_JOURNAL_MODE_OFF: res = sqlite3_exec(db, "PRAGMA journal_mode=OFF;", NULL, NULL, &errorMsg); break;
|
res = sqlite3_exec(db, "PRAGMA journal_mode=WAL;", NULL, NULL, &errorMsg);
|
||||||
|
break;
|
||||||
|
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_OFF:
|
||||||
|
res = sqlite3_exec(db, "PRAGMA journal_mode=OFF;", NULL, NULL, &errorMsg);
|
||||||
|
break;
|
||||||
default: Error("Invalid LogSQLite::journal_mode enum"); return false;
|
default: Error("Invalid LogSQLite::journal_mode enum"); return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,24 +48,6 @@ private:
|
||||||
int64_t synchronous;
|
int64_t synchronous;
|
||||||
int64_t journal_mode;
|
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,
|
|
||||||
SQLITE_JOURNAL_MODE_MEMORY,
|
|
||||||
SQLITE_JOURNAL_MODE_WAL,
|
|
||||||
SQLITE_JOURNAL_MODE_OFF,
|
|
||||||
};
|
|
||||||
|
|
||||||
threading::formatter::Ascii* io;
|
threading::formatter::Ascii* io;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue