From d5ebf00b72753d3a0c1067d5609f4decd07c80e4 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 29 Mar 2020 00:12:51 +0300 Subject: [PATCH] Improve SQLite logging. GitOrigin-RevId: 5a779f25594f518508a0a9df7f6c64cfb9cbc9e4 --- tddb/td/db/SqliteDb.cpp | 14 +++++++++++--- tddb/td/db/SqliteDb.h | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tddb/td/db/SqliteDb.cpp b/tddb/td/db/SqliteDb.cpp index c74069ce..88b07613 100644 --- a/tddb/td/db/SqliteDb.cpp +++ b/tddb/td/db/SqliteDb.cpp @@ -93,9 +93,13 @@ void SqliteDb::trace(bool flag) { Status SqliteDb::exec(CSlice cmd) { CHECK(!empty()); char *msg; - VLOG(sqlite) << "Start exec " << tag("query", cmd) << tag("database", raw_->db()); + if (enable_logging_) { + VLOG(sqlite) << "Start exec " << tag("query", cmd) << tag("database", raw_->db()); + } auto rc = sqlite3_exec(raw_->db(), cmd.c_str(), nullptr, nullptr, &msg); - VLOG(sqlite) << "Finish exec " << tag("query", cmd) << tag("database", raw_->db()); + if (enable_logging_) { + VLOG(sqlite) << "Finish exec " << tag("query", cmd) << tag("database", raw_->db()); + } if (rc != SQLITE_OK) { CHECK(msg != nullptr); return Status::Error(PSLICE() << tag("query", cmd) << " to database \"" << raw_->path() << "\" failed: " << msg); @@ -151,7 +155,11 @@ Status SqliteDb::commit_transaction() { } Status SqliteDb::check_encryption() { - return exec("SELECT count(*) FROM sqlite_master"); + auto status = exec("SELECT count(*) FROM sqlite_master"); + if (status.is_ok()) { + enable_logging_ = true; + } + return status; } Result SqliteDb::open_with_key(CSlice path, const DbKey &db_key) { diff --git a/tddb/td/db/SqliteDb.h b/tddb/td/db/SqliteDb.h index 9f7955bd..6152106f 100644 --- a/tddb/td/db/SqliteDb.h +++ b/tddb/td/db/SqliteDb.h @@ -80,6 +80,7 @@ class SqliteDb { explicit SqliteDb(std::shared_ptr raw) : raw_(std::move(raw)) { } std::shared_ptr raw_; + bool enable_logging_ = false; Status check_encryption(); };