aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2021-09-23 11:20:42 +0300
committerlevlam <levlam@telegram.org>2021-09-23 11:20:42 +0300
commit23f585caf0ffde6081af6ffaabf01ff5e864dd64 (patch)
tree502895738decc938666ee8712338849d84d846fc
parent626caad19aa07fa4492a7f7b23828f487f54c969 (diff)
Unify set SQLite PRAGMAs.
-rw-r--r--sqlite/CMakeLists.txt3
-rw-r--r--td/telegram/LanguagePackManager.cpp3
-rw-r--r--td/telegram/TdDb.cpp15
-rw-r--r--tddb/td/db/SqliteConnectionSafe.cpp4
4 files changed, 6 insertions, 19 deletions
diff --git a/sqlite/CMakeLists.txt b/sqlite/CMakeLists.txt
index 091b00cde..b42ca7255 100644
--- a/sqlite/CMakeLists.txt
+++ b/sqlite/CMakeLists.txt
@@ -33,6 +33,9 @@ endif()
target_compile_definitions(tdsqlite PRIVATE
-DSQLITE_DEFAULT_MEMSTATUS=0
+ -DSQLITE_DEFAULT_SYNCHRONOUS=1
+ -DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1
+ -DSQLITE_TEMP_STORE=2
-DSQLITE_OMIT_LOAD_EXTENSION
-DSQLITE_OMIT_DECLTYPE
-DSQLITE_OMIT_PROGRESS_CALLBACK
diff --git a/td/telegram/LanguagePackManager.cpp b/td/telegram/LanguagePackManager.cpp
index e65a9ffd2..149d8bf60 100644
--- a/td/telegram/LanguagePackManager.cpp
+++ b/td/telegram/LanguagePackManager.cpp
@@ -125,9 +125,6 @@ bool LanguagePackManager::is_custom_language_code(Slice language_code) {
static Result<SqliteDb> open_database(const string &path) {
TRY_RESULT(database, SqliteDb::open_with_key(path, true, DbKey::empty()));
- TRY_STATUS(database.exec("PRAGMA synchronous=NORMAL"));
- TRY_STATUS(database.exec("PRAGMA temp_store=MEMORY"));
- TRY_STATUS(database.exec("PRAGMA encoding=\"UTF-8\""));
TRY_STATUS(database.exec("PRAGMA journal_mode=WAL"));
return std::move(database);
}
diff --git a/td/telegram/TdDb.cpp b/td/telegram/TdDb.cpp
index 53f594eae..efe6b8a76 100644
--- a/td/telegram/TdDb.cpp
+++ b/td/telegram/TdDb.cpp
@@ -142,17 +142,6 @@ Status init_binlog(Binlog &binlog, string path, BinlogKeyValue<Binlog> &binlog_p
return Status::OK();
}
-Status init_db(SqliteDb &db) {
- TRY_STATUS(db.exec("PRAGMA encoding=\"UTF-8\""));
- TRY_STATUS(db.exec("PRAGMA journal_mode=WAL"));
-
- TRY_STATUS(db.exec("PRAGMA synchronous=NORMAL"));
- TRY_STATUS(db.exec("PRAGMA temp_store=MEMORY"));
- TRY_STATUS(db.exec("PRAGMA secure_delete=1"));
-
- return Status::OK();
-}
-
} // namespace
std::shared_ptr<FileDbInterface> TdDb::get_file_db_shared() {
@@ -310,8 +299,8 @@ Status TdDb::init_sqlite(int32 scheduler_id, const TdParameters &parameters, DbK
sql_connection_ = std::make_shared<SqliteConnectionSafe>(sql_database_path, key, db_instance.get_cipher_version());
sql_connection_->set(std::move(db_instance));
auto &db = sql_connection_->get();
-
- TRY_STATUS(init_db(db));
+ TRY_STATUS(db.exec("PRAGMA journal_mode=WAL"));
+ TRY_STATUS(db.exec("PRAGMA secure_delete=1"));
// Init databases
// Do initialization once and before everything else to avoid "database is locked" error.
diff --git a/tddb/td/db/SqliteConnectionSafe.cpp b/tddb/td/db/SqliteConnectionSafe.cpp
index c7b615f62..de39ce95e 100644
--- a/tddb/td/db/SqliteConnectionSafe.cpp
+++ b/tddb/td/db/SqliteConnectionSafe.cpp
@@ -21,10 +21,8 @@ SqliteConnectionSafe::SqliteConnectionSafe(string path, DbKey key, optional<int3
LOG(FATAL) << "Can't open database: " << r_db.error().message();
}
auto db = r_db.move_as_ok();
- db.exec("PRAGMA synchronous=NORMAL").ensure();
- db.exec("PRAGMA temp_store=MEMORY").ensure();
+ db.exec("PRAGMA journal_mode=WAL").ensure();
db.exec("PRAGMA secure_delete=1").ensure();
- db.exec("PRAGMA recursive_triggers=1").ensure();
return db;
}) {
}