From: Michael Tremer Date: Thu, 21 Jan 2021 11:24:07 +0000 (+0000) Subject: libpakfire: db: Set some sensible defaults for the connection X-Git-Tag: 0.9.28~1285^2~828 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0076c50da239f8fe29406f5342ed69d4c7efa585;p=pakfire.git libpakfire: db: Set some sensible defaults for the connection Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/db.c b/src/libpakfire/db.c index bc55c73f3..3f36a3add 100644 --- a/src/libpakfire/db.c +++ b/src/libpakfire/db.c @@ -48,6 +48,17 @@ static void logging_callback(void* data, int r, const char* msg) { sqlite3_errstr(r), msg); } +static int pakfire_db_execute(struct pakfire_db* db, const char* stmt) { + int r; + char* error = NULL; + + do { + r = sqlite3_exec(db->handle, stmt, NULL, NULL, &error); + } while (r == SQLITE_BUSY); + + return (r == SQLITE_OK); +} + static void pakfire_db_free(struct pakfire_db* db) { DEBUG(db->pakfire, "Releasing database at %p\n", db); @@ -69,10 +80,16 @@ static int pakfire_db_setup(struct pakfire_db* db) { // Setup logging sqlite3_config(SQLITE_CONFIG_LOG, logging_callback, db->pakfire); + // Make LIKE case-sensitive + pakfire_db_execute(db, "PRAGMA case_sensitive_like = ON"); + // Done when not in read-write mode if (db->mode != PAKFIRE_DB_READWRITE) return 0; + // Disable secure delete + pakfire_db_execute(db, "PRAGMA secure_delete = OFF"); + // XXX Create schema return 0;