mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
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:
parent
6e026ba313
commit
3ca56f7e0f
4 changed files with 17 additions and 8 deletions
|
@ -23,6 +23,7 @@ export {
|
|||
const empty_field = Log::empty_field &redef;
|
||||
|
||||
type SQLiteSynchronous: enum {
|
||||
SQLITE_SYNCHRONOUS_DEFAULT,
|
||||
SQLITE_SYNCHRONOUS_OFF,
|
||||
SQLITE_SYNCHRONOUS_NORMAL,
|
||||
SQLITE_SYNCHRONOUS_FULL,
|
||||
|
@ -31,27 +32,29 @@ export {
|
|||
|
||||
## Values supported for SQLite's PRAGMA journal_mode statement.
|
||||
type SQLiteJournalMode: enum {
|
||||
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,
|
||||
};
|
||||
|
||||
## If set, runs the PRAGMA synchronous statement with the
|
||||
## provided value after connecting to the SQLite database. See
|
||||
## If changed from SQLITE_SYNCHRONOUS_DEFAULT, runs the PRAGMA synchronous
|
||||
## statement with the provided value after connecting to the SQLite database. See
|
||||
## `SQLite's synchronous documentation <https://www.sqlite.org/pragma.html#pragma_synchronous>`_
|
||||
## for more details around performance and data safety trade offs.
|
||||
|
||||
const synchronous = SQLITE_SYNCHRONOUS_FULL &redef;
|
||||
const synchronous = SQLITE_SYNCHRONOUS_DEFAULT &redef;
|
||||
|
||||
## If set, runs the PRAGMA journal_mode statement with the
|
||||
## provided value after connecting to the SQLite database. See
|
||||
## If changed from SQLITE_JOURNAL_MODE_DEFAULT, runs the PRAGMA
|
||||
## journal_mode statement with the provided value after connecting to
|
||||
## the SQLite database.
|
||||
## `SQLite's journal_mode documentation <https://www.sqlite.org/pragma.html#pragma_journal_mode>`_
|
||||
## for more details around performance, data safety trade offs
|
||||
## and interaction with the PRAGMA synchronous statement.
|
||||
const journal_mode = SQLITE_JOURNAL_MODE_DELETE &redef;
|
||||
const journal_mode = SQLITE_JOURNAL_MODE_DEFAULT &redef;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue