Skip to content

Commit

Permalink
Merge pull request #1762 from Expensify/chirag-skipQueryLog
Browse files Browse the repository at this point in the history
skipQueryLog param
  • Loading branch information
coleaeason authored Jun 11, 2024
2 parents 2ae10af + 0736d50 commit 10f9e1f
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
10 changes: 5 additions & 5 deletions libstuff/libstuff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2535,7 +2535,7 @@ void SQueryLogClose() {

// --------------------------------------------------------------------------
// Executes a SQLite query
int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int64_t warnThreshold, bool skipWarn) {
int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int64_t warnThreshold, bool skipInfoWarn) {
#define MAX_TRIES 3
// Execute the query and get the results
uint64_t startTime = STimeNow();
Expand Down Expand Up @@ -2666,7 +2666,7 @@ int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int6
}

uint64_t elapsed = STimeNow() - startTime;
if ((int64_t)elapsed > warnThreshold || (int64_t)elapsed > 10000) {
if (!skipInfoWarn && ((int64_t)elapsed > warnThreshold || (int64_t)elapsed > 10000)) {
// Avoid logging queries so long that we need dozens of lines to log them.
string sqlToLog = sql.substr(0, 20000);
SRedactSensitiveValues(sqlToLog);
Expand Down Expand Up @@ -2703,7 +2703,7 @@ int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int6

// Only OK and commit conflicts are allowed without warning because they're the only "successful" results that we expect here.
// OK means it succeeds, conflicts will get retried further up the call stack.
if (error != SQLITE_OK && extErr != SQLITE_BUSY_SNAPSHOT && !skipWarn) {
if (error != SQLITE_OK && extErr != SQLITE_BUSY_SNAPSHOT && !skipInfoWarn) {
string sqlToLog = sql.substr(0, 20000);
SRedactSensitiveValues(sqlToLog);

Expand Down Expand Up @@ -3062,9 +3062,9 @@ string SQ(double val) {
return SToStr(val);
}

int SQuery(sqlite3* db, const char* e, const string& sql, int64_t warnThreshold, bool skipWarn) {
int SQuery(sqlite3* db, const char* e, const string& sql, int64_t warnThreshold, bool skipInfoWarn) {
SQResult ignore;
return SQuery(db, e, sql, ignore, warnThreshold, skipWarn);
return SQuery(db, e, sql, ignore, warnThreshold, skipInfoWarn);
}

string SUNQUOTED_TIMESTAMP(uint64_t when) {
Expand Down
4 changes: 2 additions & 2 deletions libstuff/libstuff.h
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,8 @@ void SQueryLogOpen(const string& logFilename);
void SQueryLogClose();

// Returns an SQLite result code.
int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int64_t warnThreshold = 2000 * STIME_US_PER_MS, bool skipWarn = false);
int SQuery(sqlite3* db, const char* e, const string& sql, int64_t warnThreshold = 2000 * STIME_US_PER_MS, bool skipWarn = false);
int SQuery(sqlite3* db, const char* e, const string& sql, SQResult& result, int64_t warnThreshold = 2000 * STIME_US_PER_MS, bool skipInfoWarn = false);
int SQuery(sqlite3* db, const char* e, const string& sql, int64_t warnThreshold = 2000 * STIME_US_PER_MS, bool skipInfoWarn = false);
bool SQVerifyTable(sqlite3* db, const string& tableName, const string& sql);
bool SQVerifyTableExists(sqlite3* db, const string& tableName);

Expand Down
4 changes: 2 additions & 2 deletions sqlitecluster/SQLite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ string SQLite::read(const string& query) const {
return result[0][0];
}

bool SQLite::read(const string& query, SQResult& result) const {
bool SQLite::read(const string& query, SQResult& result, bool skipInfoWarn) const {
uint64_t before = STimeNow();
bool queryResult = false;
_queryCount++;
Expand All @@ -486,7 +486,7 @@ bool SQLite::read(const string& query, SQResult& result) const {
queryResult = true;
} else {
_isDeterministicQuery = true;
queryResult = !SQuery(_db, "read only query", query, result);
queryResult = !SQuery(_db, "read only query", query, result, 2000 * STIME_US_PER_MS, skipInfoWarn);
if (_isDeterministicQuery && queryResult) {
_queryCache.emplace(make_pair(query, result));
}
Expand Down
2 changes: 1 addition & 1 deletion sqlitecluster/SQLite.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class SQLite {

// Performs a read-only query (eg, SELECT). This can be done inside or outside a transaction. Returns true on
// success, and fills the 'result' with the result of the query.
bool read(const string& query, SQResult& result) const;
bool read(const string& query, SQResult& result, bool skipInfoWarn = false) const;

// Performs a read-only query (eg, SELECT) that returns a single value.
string read(const string& query) const;
Expand Down

0 comments on commit 10f9e1f

Please sign in to comment.