mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +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;
|
const empty_field = Log::empty_field &redef;
|
||||||
|
|
||||||
type SQLiteSynchronous: enum {
|
type SQLiteSynchronous: enum {
|
||||||
|
SQLITE_SYNCHRONOUS_DEFAULT,
|
||||||
SQLITE_SYNCHRONOUS_OFF,
|
SQLITE_SYNCHRONOUS_OFF,
|
||||||
SQLITE_SYNCHRONOUS_NORMAL,
|
SQLITE_SYNCHRONOUS_NORMAL,
|
||||||
SQLITE_SYNCHRONOUS_FULL,
|
SQLITE_SYNCHRONOUS_FULL,
|
||||||
|
@ -31,27 +32,29 @@ export {
|
||||||
|
|
||||||
## Values supported for SQLite's PRAGMA journal_mode statement.
|
## Values supported for SQLite's PRAGMA journal_mode statement.
|
||||||
type SQLiteJournalMode: enum {
|
type SQLiteJournalMode: enum {
|
||||||
|
SQLITE_JOURNAL_MODE_DEFAULT,
|
||||||
SQLITE_JOURNAL_MODE_DELETE,
|
SQLITE_JOURNAL_MODE_DELETE,
|
||||||
SQLITE_JOURNAL_MODE_TRUNCATE,
|
SQLITE_JOURNAL_MODE_TRUNCATE,
|
||||||
SQLITE_JOURNAL_MODE_PERIST,
|
SQLITE_JOURNAL_MODE_PERSIST,
|
||||||
SQLITE_JOURNAL_MODE_MEMORY,
|
SQLITE_JOURNAL_MODE_MEMORY,
|
||||||
SQLITE_JOURNAL_MODE_WAL,
|
SQLITE_JOURNAL_MODE_WAL,
|
||||||
SQLITE_JOURNAL_MODE_OFF,
|
SQLITE_JOURNAL_MODE_OFF,
|
||||||
};
|
};
|
||||||
|
|
||||||
## If set, runs the PRAGMA synchronous statement with the
|
## If changed from SQLITE_SYNCHRONOUS_DEFAULT, runs the PRAGMA synchronous
|
||||||
## provided value after connecting to the SQLite database. See
|
## statement with the provided value after connecting to the SQLite database. See
|
||||||
## `SQLite's synchronous documentation <https://www.sqlite.org/pragma.html#pragma_synchronous>`_
|
## `SQLite's synchronous documentation <https://www.sqlite.org/pragma.html#pragma_synchronous>`_
|
||||||
## for more details around performance and data safety trade offs.
|
## 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
|
## If changed from SQLITE_JOURNAL_MODE_DEFAULT, runs the PRAGMA
|
||||||
## provided value after connecting to the SQLite database. See
|
## 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>`_
|
## `SQLite's journal_mode documentation <https://www.sqlite.org/pragma.html#pragma_journal_mode>`_
|
||||||
## for more details around performance, data safety trade offs
|
## for more details around performance, data safety trade offs
|
||||||
## and interaction with the PRAGMA synchronous statement.
|
## 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;
|
char* errorMsg = 0;
|
||||||
int res;
|
int res;
|
||||||
switch ( synchronous ) {
|
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_OFF: res = sqlite3_exec(db, "PRAGMA synchronous=OFF;", NULL, NULL, &errorMsg); break;
|
||||||
case SQLITE_SYNCHRONOUS_NORMAL:
|
case SQLITE_SYNCHRONOUS_NORMAL:
|
||||||
res = sqlite3_exec(db, "PRAGMA synchronous=NORMAL;", NULL, NULL, &errorMsg);
|
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 ) {
|
switch ( journal_mode ) {
|
||||||
|
case SQLITE_JOURNAL_MODE_DEFAULT: res = SQLITE_OK; break;
|
||||||
case SQLITE_JOURNAL_MODE_DELETE:
|
case 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;
|
||||||
|
|
|
@ -49,12 +49,14 @@ private:
|
||||||
int64_t journal_mode;
|
int64_t journal_mode;
|
||||||
|
|
||||||
enum SQLiteSynchronous {
|
enum SQLiteSynchronous {
|
||||||
|
SQLITE_SYNCHRONOUS_DEFAULT,
|
||||||
SQLITE_SYNCHRONOUS_OFF,
|
SQLITE_SYNCHRONOUS_OFF,
|
||||||
SQLITE_SYNCHRONOUS_NORMAL,
|
SQLITE_SYNCHRONOUS_NORMAL,
|
||||||
SQLITE_SYNCHRONOUS_FULL,
|
SQLITE_SYNCHRONOUS_FULL,
|
||||||
SQLITE_SYNCHRONOUS_EXTRA,
|
SQLITE_SYNCHRONOUS_EXTRA,
|
||||||
};
|
};
|
||||||
enum SQLiteJournalMode {
|
enum SQLiteJournalMode {
|
||||||
|
SQLITE_JOURNAL_MODE_DEFAULT,
|
||||||
SQLITE_JOURNAL_MODE_DELETE,
|
SQLITE_JOURNAL_MODE_DELETE,
|
||||||
SQLITE_JOURNAL_MODE_TRUNCATE,
|
SQLITE_JOURNAL_MODE_TRUNCATE,
|
||||||
SQLITE_JOURNAL_MODE_PERSIST,
|
SQLITE_JOURNAL_MODE_PERSIST,
|
||||||
|
|
|
@ -8,6 +8,7 @@ const empty_field: string;
|
||||||
const unset_field: string;
|
const unset_field: string;
|
||||||
|
|
||||||
enum SQLiteSynchronous %{
|
enum SQLiteSynchronous %{
|
||||||
|
SQLITE_SYNCHRONOUS_DEFAULT,
|
||||||
SQLITE_SYNCHRONOUS_OFF,
|
SQLITE_SYNCHRONOUS_OFF,
|
||||||
SQLITE_SYNCHRONOUS_NORMAL,
|
SQLITE_SYNCHRONOUS_NORMAL,
|
||||||
SQLITE_SYNCHRONOUS_FULL,
|
SQLITE_SYNCHRONOUS_FULL,
|
||||||
|
@ -15,9 +16,10 @@ enum SQLiteSynchronous %{
|
||||||
%}
|
%}
|
||||||
|
|
||||||
enum SQLiteJournalMode %{
|
enum SQLiteJournalMode %{
|
||||||
|
SQLITE_JOURNAL_MODE_DEFAULT,
|
||||||
SQLITE_JOURNAL_MODE_DELETE,
|
SQLITE_JOURNAL_MODE_DELETE,
|
||||||
SQLITE_JOURNAL_MODE_TRUNCATE,
|
SQLITE_JOURNAL_MODE_TRUNCATE,
|
||||||
SQLITE_JOURNAL_MODE_PERIST,
|
SQLITE_JOURNAL_MODE_PERSIST,
|
||||||
SQLITE_JOURNAL_MODE_MEMORY,
|
SQLITE_JOURNAL_MODE_MEMORY,
|
||||||
SQLITE_JOURNAL_MODE_WAL,
|
SQLITE_JOURNAL_MODE_WAL,
|
||||||
SQLITE_JOURNAL_MODE_OFF,
|
SQLITE_JOURNAL_MODE_OFF,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue