mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +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;
|
||||
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:
|
||||
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_DEFAULT: res = SQLITE_OK; break;
|
||||
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_OFF:
|
||||
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);
|
||||
break;
|
||||
case SQLITE_SYNCHRONOUS_FULL: res = sqlite3_exec(db, "PRAGMA synchronous=FULL;", NULL, NULL, &errorMsg); break;
|
||||
case SQLITE_SYNCHRONOUS_EXTRA:
|
||||
case BifEnum::LogSQLite::SQLiteSynchronous::SQLITE_SYNCHRONOUS_FULL:
|
||||
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);
|
||||
break;
|
||||
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 ) {
|
||||
case SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
|
||||
case SQLITE_JOURNAL_MODE_DELETE:
|
||||
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
|
||||
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_DELETE:
|
||||
res = sqlite3_exec(db, "PRAGMA journal_mode=DELETE;", NULL, NULL, &errorMsg);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
break;
|
||||
case SQLITE_JOURNAL_MODE_WAL: res = sqlite3_exec(db, "PRAGMA journal_mode=WAL;", NULL, NULL, &errorMsg); break;
|
||||
case SQLITE_JOURNAL_MODE_OFF: res = sqlite3_exec(db, "PRAGMA journal_mode=OFF;", NULL, NULL, &errorMsg); break;
|
||||
case BifEnum::LogSQLite::SQLiteJournalMode::SQLITE_JOURNAL_MODE_WAL:
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -48,24 +48,6 @@ private:
|
|||
int64_t synchronous;
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue