Improve SQLite logging.
This commit is contained in:
parent
59acbf6d15
commit
c6c8fdcb10
@ -125,14 +125,17 @@ Status SqliteDb::exec(CSlice cmd) {
|
|||||||
VLOG(sqlite) << "Start exec " << tag("query", cmd) << tag("database", raw_->db());
|
VLOG(sqlite) << "Start exec " << tag("query", cmd) << tag("database", raw_->db());
|
||||||
}
|
}
|
||||||
auto rc = tdsqlite3_exec(raw_->db(), cmd.c_str(), nullptr, nullptr, &msg);
|
auto rc = tdsqlite3_exec(raw_->db(), cmd.c_str(), nullptr, nullptr, &msg);
|
||||||
if (enable_logging_) {
|
|
||||||
VLOG(sqlite) << "Finish exec " << tag("query", cmd) << tag("database", raw_->db());
|
|
||||||
}
|
|
||||||
if (rc != SQLITE_OK) {
|
if (rc != SQLITE_OK) {
|
||||||
CHECK(msg != nullptr);
|
CHECK(msg != nullptr);
|
||||||
|
if (enable_logging_) {
|
||||||
|
VLOG(sqlite) << "Finish exec with error " << msg;
|
||||||
|
}
|
||||||
return Status::Error(PSLICE() << tag("query", cmd) << " to database \"" << raw_->path() << "\" failed: " << msg);
|
return Status::Error(PSLICE() << tag("query", cmd) << " to database \"" << raw_->path() << "\" failed: " << msg);
|
||||||
}
|
}
|
||||||
CHECK(msg == nullptr);
|
CHECK(msg == nullptr);
|
||||||
|
if (enable_logging_) {
|
||||||
|
VLOG(sqlite) << "Finish exec";
|
||||||
|
}
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ class SqliteDb {
|
|||||||
|
|
||||||
// dangerous
|
// dangerous
|
||||||
SqliteDb clone() const {
|
SqliteDb clone() const {
|
||||||
return SqliteDb(raw_);
|
return SqliteDb(raw_, enable_logging_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool empty() const {
|
bool empty() const {
|
||||||
@ -77,7 +77,8 @@ class SqliteDb {
|
|||||||
optional<int32> get_cipher_version() const;
|
optional<int32> get_cipher_version() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit SqliteDb(std::shared_ptr<detail::RawSqliteDb> raw) : raw_(std::move(raw)) {
|
SqliteDb(std::shared_ptr<detail::RawSqliteDb> raw, bool enable_logging)
|
||||||
|
: raw_(std::move(raw)), enable_logging_(enable_logging) {
|
||||||
}
|
}
|
||||||
std::shared_ptr<detail::RawSqliteDb> raw_;
|
std::shared_ptr<detail::RawSqliteDb> raw_;
|
||||||
bool enable_logging_ = false;
|
bool enable_logging_ = false;
|
||||||
|
@ -75,7 +75,7 @@ string SqliteKeyValue::get(Slice key) {
|
|||||||
get_stmt_.bind_blob(1, key).ensure();
|
get_stmt_.bind_blob(1, key).ensure();
|
||||||
get_stmt_.step().ensure();
|
get_stmt_.step().ensure();
|
||||||
if (!get_stmt_.has_row()) {
|
if (!get_stmt_.has_row()) {
|
||||||
return "";
|
return string();
|
||||||
}
|
}
|
||||||
auto data = get_stmt_.view_blob(0).str();
|
auto data = get_stmt_.view_blob(0).str();
|
||||||
get_stmt_.step().ignore();
|
get_stmt_.step().ignore();
|
||||||
|
@ -181,8 +181,7 @@ Status SqliteStatement::step() {
|
|||||||
VLOG(sqlite) << "Start step " << tag("query", tdsqlite3_sql(stmt_.get())) << tag("statement", stmt_.get())
|
VLOG(sqlite) << "Start step " << tag("query", tdsqlite3_sql(stmt_.get())) << tag("statement", stmt_.get())
|
||||||
<< tag("database", db_.get());
|
<< tag("database", db_.get());
|
||||||
auto rc = tdsqlite3_step(stmt_.get());
|
auto rc = tdsqlite3_step(stmt_.get());
|
||||||
VLOG(sqlite) << "Finish step " << tag("query", tdsqlite3_sql(stmt_.get())) << tag("statement", stmt_.get())
|
VLOG(sqlite) << "Finish step with response " << (rc == SQLITE_ROW ? "ROW" : (rc == SQLITE_DONE ? "DONE" : "ERROR"));
|
||||||
<< tag("database", db_.get());
|
|
||||||
if (rc == SQLITE_ROW) {
|
if (rc == SQLITE_ROW) {
|
||||||
state_ = State::GotRow;
|
state_ = State::GotRow;
|
||||||
return Status::OK();
|
return Status::OK();
|
||||||
|
Loading…
Reference in New Issue
Block a user