From: Michael Tremer Date: Fri, 27 Jun 2025 10:45:27 +0000 (+0000) Subject: db: Create its own type X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a59aa290806ded7c7fa7dfb1d543e9e89dd8d324;p=pakfire.git db: Create its own type Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/db.c b/src/pakfire/db.c index 822823b0..74d49847 100644 --- a/src/pakfire/db.c +++ b/src/pakfire/db.c @@ -66,7 +66,7 @@ static void logging_callback(void* data, int r, const char* msg) { sqlite3_errstr(r), msg); } -static int pakfire_db_check_table(struct pakfire_db* db, const char* table) { +static int pakfire_db_check_table(pakfire_db* db, const char* table) { sqlite3_stmt* stmt = NULL; int r; @@ -113,7 +113,7 @@ ERROR: return r; } -static sqlite3_value* pakfire_db_get(struct pakfire_db* db, const char* key) { +static sqlite3_value* pakfire_db_get(pakfire_db* db, const char* key) { sqlite3_stmt* stmt = NULL; sqlite3_value* val = NULL; int r; @@ -168,7 +168,7 @@ ERROR: return val; } -static char* pakfire_db_get_string(struct pakfire_db* db, const char* key) { +static char* pakfire_db_get_string(pakfire_db* db, const char* key) { char* s = NULL; // Fetch the value from the database @@ -191,7 +191,7 @@ ERROR: return s; } -static int pakfire_db_set_string(struct pakfire_db* db, const char* key, const char* val) { +static int pakfire_db_set_string(pakfire_db* db, const char* key, const char* val) { sqlite3_stmt* stmt = NULL; int r; @@ -237,7 +237,7 @@ ERROR: return r; } -static int pakfire_db_set_int(struct pakfire_db* db, const char* key, int val) { +static int pakfire_db_set_int(pakfire_db* db, const char* key, int val) { sqlite3_stmt* stmt = NULL; int r; @@ -283,7 +283,7 @@ ERROR: return r; } -static time_t pakfire_read_modification_time(struct pakfire_db* db) { +static time_t pakfire_read_modification_time(pakfire_db* db) { time_t t = 0; // Fetch the value from the database @@ -298,7 +298,7 @@ static time_t pakfire_read_modification_time(struct pakfire_db* db) { return t; } -static int pakfire_update_modification_time(struct pakfire_db* db) { +static int pakfire_update_modification_time(pakfire_db* db) { // Get the current time in UTC time_t t = time(NULL); @@ -313,7 +313,7 @@ static int pakfire_update_modification_time(struct pakfire_db* db) { return r; } -static int pakfire_db_execute(struct pakfire_db* db, const char* stmt) { +static int pakfire_db_execute(pakfire_db* db, const char* stmt) { int r; DEBUG(db->ctx, "Executing database query: %s\n", stmt); @@ -330,11 +330,11 @@ static int pakfire_db_execute(struct pakfire_db* db, const char* stmt) { return r; } -static int pakfire_db_begin_transaction(struct pakfire_db* db) { +static int pakfire_db_begin_transaction(pakfire_db* db) { return pakfire_db_execute(db, "BEGIN TRANSACTION"); } -static int pakfire_db_commit(struct pakfire_db* db) { +static int pakfire_db_commit(pakfire_db* db) { /* If the database was opened in read-write mode, we will store the timestamp of the latest modification to compare whether the database @@ -349,7 +349,7 @@ static int pakfire_db_commit(struct pakfire_db* db) { return pakfire_db_execute(db, "COMMIT"); } -static int pakfire_db_rollback(struct pakfire_db* db) { +static int pakfire_db_rollback(pakfire_db* db) { return pakfire_db_execute(db, "ROLLBACK"); } @@ -357,12 +357,12 @@ static int pakfire_db_rollback(struct pakfire_db* db) { This function performs any fast optimization and tries to truncate the WAL log file to keep the database as compact as possible on disk. */ -static void pakfire_db_optimize(struct pakfire_db* db) { +static void pakfire_db_optimize(pakfire_db* db) { pakfire_db_execute(db, "PRAGMA optimize"); pakfire_db_execute(db, "PRAGMA wal_checkpoint = TRUNCATE"); } -static void pakfire_db_free(struct pakfire_db* db) { +static void pakfire_db_free(pakfire_db* db) { if (db->handle) { // Optimize the database before it is being closed pakfire_db_optimize(db); @@ -382,7 +382,7 @@ static void pakfire_db_free(struct pakfire_db* db) { free(db); } -static int pakfire_db_get_schema(struct pakfire_db* db) { +static int pakfire_db_get_schema(pakfire_db* db) { // Fetch the schema version sqlite3_value* value = pakfire_db_get(db, "schema"); if (!value) @@ -396,7 +396,7 @@ static int pakfire_db_get_schema(struct pakfire_db* db) { return schema; } -static int pakfire_db_create_schema(struct pakfire_db* db) { +static int pakfire_db_create_schema(pakfire_db* db) { int r; // Create settings table @@ -532,7 +532,7 @@ static int pakfire_db_create_schema(struct pakfire_db* db) { return 0; } -static int pakfire_db_migrate_to_schema_8(struct pakfire_db* db) { +static int pakfire_db_migrate_to_schema_8(pakfire_db* db) { // packages: Drop build_id column // Add foreign keys @@ -542,7 +542,7 @@ static int pakfire_db_migrate_to_schema_8(struct pakfire_db* db) { return 0; } -static int pakfire_db_migrate_schema(struct pakfire_db* db) { +static int pakfire_db_migrate_schema(pakfire_db* db) { int r; while (db->schema < CURRENT_SCHEMA) { @@ -593,7 +593,7 @@ ROLLBACK: return 1; } -static int pakfire_db_check_arch(struct pakfire_db* db) { +static int pakfire_db_check_arch(pakfire_db* db) { const char* arch = NULL; char* db_arch = NULL; int r = 0; @@ -627,7 +627,7 @@ ERROR: return r; } -static int pakfire_db_setup(struct pakfire_db* db) { +static int pakfire_db_setup(pakfire_db* db) { int r; // Setup logging @@ -685,8 +685,8 @@ static int pakfire_db_setup(struct pakfire_db* db) { return 0; } -int pakfire_db_open(struct pakfire_db** db, struct pakfire* pakfire, int flags) { - struct pakfire_db* self = NULL; +int pakfire_db_open(pakfire_db** db, struct pakfire* pakfire, int flags) { + pakfire_db* self = NULL; int sqlite3_flags = 0; int r; @@ -753,13 +753,13 @@ ERROR: return r; } -struct pakfire_db* pakfire_db_ref(struct pakfire_db* db) { +pakfire_db* pakfire_db_ref(pakfire_db* db) { db->nrefs++; return db; } -struct pakfire_db* pakfire_db_unref(struct pakfire_db* db) { +pakfire_db* pakfire_db_unref(pakfire_db* db) { if (--db->nrefs > 0) return db; @@ -768,7 +768,7 @@ struct pakfire_db* pakfire_db_unref(struct pakfire_db* db) { return NULL; } -static unsigned long pakfire_db_integrity_check(struct pakfire_db* db) { +static unsigned long pakfire_db_integrity_check(pakfire_db* db) { sqlite3_stmt* stmt = NULL; int r; @@ -815,7 +815,7 @@ static unsigned long pakfire_db_integrity_check(struct pakfire_db* db) { return errors; } -static unsigned long pakfire_db_foreign_key_check(struct pakfire_db* db) { +static unsigned long pakfire_db_foreign_key_check(pakfire_db* db) { sqlite3_stmt* stmt = NULL; int r; @@ -865,7 +865,7 @@ static unsigned long pakfire_db_foreign_key_check(struct pakfire_db* db) { /* This function performs an integrity check of the database */ -int pakfire_db_check(struct pakfire_db* db) { +int pakfire_db_check(pakfire_db* db) { int r; // Perform integrity check @@ -882,7 +882,7 @@ int pakfire_db_check(struct pakfire_db* db) { } // Returns the number of packages installed -ssize_t pakfire_db_packages(struct pakfire_db* db) { +ssize_t pakfire_db_packages(pakfire_db* db) { sqlite3_stmt* stmt = NULL; ssize_t packages = -1; @@ -917,7 +917,7 @@ static void pakfire_db_add_userinstalled(struct pakfire* pakfire, const char* na queue_push2(&pool->pooljobs, SOLVER_USERINSTALLED|SOLVER_SOLVABLE_NAME, id); } -static int pakfire_db_add_dependencies(struct pakfire_db* db, unsigned long id, struct pakfire_package* pkg) { +static int pakfire_db_add_dependencies(pakfire_db* db, unsigned long id, struct pakfire_package* pkg) { sqlite3_stmt* stmt = NULL; char** list = NULL; int r = 1; @@ -992,7 +992,7 @@ END: return r; } -static int pakfire_db_bind_checksum(struct pakfire_db* db, sqlite3_stmt* stmt, +static int pakfire_db_bind_checksum(pakfire_db* db, sqlite3_stmt* stmt, const int field, struct pakfire_file* file, const enum pakfire_hash_type type) { const unsigned char* checksum = NULL; size_t checksum_length = 0; @@ -1011,7 +1011,7 @@ static int pakfire_db_bind_checksum(struct pakfire_db* db, sqlite3_stmt* stmt, return sqlite3_bind_blob(stmt, field, checksum, checksum_length, NULL); } -static int pakfire_db_add_files(struct pakfire_db* db, unsigned long id, pakfire_archive* archive) { +static int pakfire_db_add_files(pakfire_db* db, unsigned long id, pakfire_archive* archive) { struct pakfire_filelist* filelist = NULL; sqlite3_stmt* stmt = NULL; int r; @@ -1273,7 +1273,7 @@ END: return r; } -static int pakfire_db_add_scriptlets(struct pakfire_db* db, unsigned long id, pakfire_archive* archive) { +static int pakfire_db_add_scriptlets(pakfire_db* db, unsigned long id, pakfire_archive* archive) { sqlite3_stmt* stmt = NULL; size_t size; int r = 1; @@ -1349,7 +1349,7 @@ END: return r; } -int pakfire_db_add_package(struct pakfire_db* db, +int pakfire_db_add_package(pakfire_db* db, struct pakfire_package* pkg, pakfire_archive* archive, int userinstalled) { enum pakfire_hash_type hash_type = PAKFIRE_HASH_UNDEFINED; const unsigned char* checksum = NULL; @@ -1704,7 +1704,7 @@ ERROR: return r; } -int pakfire_db_remove_package(struct pakfire_db* db, struct pakfire_package* pkg) { +int pakfire_db_remove_package(pakfire_db* db, struct pakfire_package* pkg) { sqlite3_stmt* stmt = NULL; int r = 1; @@ -1764,7 +1764,7 @@ ERROR: return r; } -struct pakfire_scriptlet* pakfire_db_get_scriptlet(struct pakfire_db* db, +struct pakfire_scriptlet* pakfire_db_get_scriptlet(pakfire_db* db, struct pakfire_package* pkg, const char* type) { struct pakfire_scriptlet* scriptlet = NULL; sqlite3_stmt* stmt = NULL; @@ -1826,7 +1826,7 @@ ERROR: return scriptlet; } -static int pakfire_db_load_package(struct pakfire_db* db, struct pakfire_repo* repo, sqlite3_stmt* stmt) { +static int pakfire_db_load_package(pakfire_db* db, struct pakfire_repo* repo, sqlite3_stmt* stmt) { struct pakfire_package* pkg = NULL; int r = 1; @@ -2059,7 +2059,7 @@ ERROR: return r; } -int pakfire_db_load(struct pakfire_db* db, struct pakfire_repo* repo) { +int pakfire_db_load(pakfire_db* db, struct pakfire_repo* repo) { sqlite3_stmt* stmt = NULL; int r = 1; @@ -2199,7 +2199,7 @@ ERROR: return r; } -static int pakfire_db_load_file_checksum(struct pakfire_db* db, struct pakfire_file* file, +static int pakfire_db_load_file_checksum(pakfire_db* db, struct pakfire_file* file, sqlite3_stmt* stmt, const enum pakfire_hash_type type, const int field) { // Fetch checksum const unsigned char* checksum = sqlite3_column_blob(stmt, field); @@ -2215,7 +2215,7 @@ static int pakfire_db_load_file_checksum(struct pakfire_db* db, struct pakfire_f return pakfire_file_set_checksum(file, type, checksum, checksum_length); } -static int pakfire_db_load_file(struct pakfire_db* db, struct pakfire_filelist* filelist, +static int pakfire_db_load_file(pakfire_db* db, struct pakfire_filelist* filelist, sqlite3_stmt* stmt) { struct pakfire_file* file = NULL; int r; @@ -2338,7 +2338,7 @@ ERROR: return r; } -int pakfire_db_filelist(struct pakfire_db* db, struct pakfire_filelist** filelist) { +int pakfire_db_filelist(pakfire_db* db, struct pakfire_filelist** filelist) { struct pakfire_filelist* list = NULL; sqlite3_stmt* stmt = NULL; int r; @@ -2420,7 +2420,7 @@ ERROR: return r; } -int pakfire_db_package_filelist(struct pakfire_db* db, struct pakfire_filelist** filelist, +int pakfire_db_package_filelist(pakfire_db* db, struct pakfire_filelist** filelist, struct pakfire_package* pkg) { struct pakfire_filelist* fl = NULL; sqlite3_stmt* stmt = NULL; diff --git a/src/pakfire/db.h b/src/pakfire/db.h index cc85fd2b..2ab6c61a 100644 --- a/src/pakfire/db.h +++ b/src/pakfire/db.h @@ -29,33 +29,33 @@ #include #include -struct pakfire_db; +typedef struct pakfire_db pakfire_db; enum { PAKFIRE_DB_READONLY = 0, PAKFIRE_DB_READWRITE = (1 << 0), }; -int pakfire_db_open(struct pakfire_db** db, struct pakfire* pakfire, int flags); +int pakfire_db_open(pakfire_db** db, struct pakfire* pakfire, int flags); -struct pakfire_db* pakfire_db_ref(struct pakfire_db* db); -struct pakfire_db* pakfire_db_unref(struct pakfire_db* db); +pakfire_db* pakfire_db_ref(pakfire_db* db); +pakfire_db* pakfire_db_unref(pakfire_db* db); -int pakfire_db_check(struct pakfire_db* db); +int pakfire_db_check(pakfire_db* db); -ssize_t pakfire_db_packages(struct pakfire_db* db); +ssize_t pakfire_db_packages(pakfire_db* db); -int pakfire_db_add_package(struct pakfire_db* db, struct pakfire_package* pkg, +int pakfire_db_add_package(pakfire_db* db, struct pakfire_package* pkg, pakfire_archive* archive, int userinstalled); -int pakfire_db_remove_package(struct pakfire_db* db, struct pakfire_package* pkg); +int pakfire_db_remove_package(pakfire_db* db, struct pakfire_package* pkg); -int pakfire_db_load(struct pakfire_db* db, struct pakfire_repo* repo); +int pakfire_db_load(pakfire_db* db, struct pakfire_repo* repo); struct pakfire_scriptlet* pakfire_db_get_scriptlet( - struct pakfire_db* db, struct pakfire_package* pkg, const char* type); + pakfire_db* db, struct pakfire_package* pkg, const char* type); -int pakfire_db_filelist(struct pakfire_db* db, struct pakfire_filelist** filelist); -int pakfire_db_package_filelist(struct pakfire_db* db, struct pakfire_filelist** filelist, +int pakfire_db_filelist(pakfire_db* db, struct pakfire_filelist** filelist); +int pakfire_db_package_filelist(pakfire_db* db, struct pakfire_filelist** filelist, struct pakfire_package* pkg); #endif /* PAKFIRE_DB_H */ diff --git a/src/pakfire/pakfire.c b/src/pakfire/pakfire.c index ea5d3260..500d6905 100644 --- a/src/pakfire/pakfire.c +++ b/src/pakfire/pakfire.c @@ -393,7 +393,7 @@ static int pakfire_setup_pool(struct pakfire* pakfire) { static int pakfire_load_installed_packages(struct pakfire* self) { struct pakfire_repo* repo = NULL; - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; int r; // Fetch the system repository @@ -1861,7 +1861,7 @@ static int pakfire_verify(struct pakfire* pakfire, int *changed) { } static int pakfire_check_files(struct pakfire* pakfire, - struct pakfire_db* db, struct pakfire_filelist* errors) { + pakfire_db* db, struct pakfire_filelist* errors) { struct pakfire_filelist* filelist = NULL; int r; @@ -1881,7 +1881,7 @@ ERROR: } int pakfire_check(struct pakfire* pakfire, struct pakfire_filelist* errors) { - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; int r; // Open database in read-only mode and try to load all installed packages diff --git a/src/pakfire/transaction.c b/src/pakfire/transaction.c index 479c9771..2f949e63 100644 --- a/src/pakfire/transaction.c +++ b/src/pakfire/transaction.c @@ -1300,7 +1300,7 @@ static int pakfire_transaction_verify(struct pakfire_transaction* transaction, } static int pakfire_transaction_run_script(struct pakfire_transaction* transaction, - struct pakfire_db* db, const char* type, struct pakfire_package* pkg, pakfire_archive* archive) { + pakfire_db* db, const char* type, struct pakfire_package* pkg, pakfire_archive* archive) { struct pakfire_scriptlet* scriptlet = NULL; // Fetch scriptlet from archive if possible @@ -1361,7 +1361,7 @@ ERROR: } static int pakfire_transaction_erase(struct pakfire_transaction* transaction, - struct pakfire_db* db, struct pakfire_package* pkg) { + pakfire_db* db, struct pakfire_package* pkg) { struct pakfire_filelist* filelist = NULL; int r; @@ -1486,7 +1486,7 @@ static int pakfire_transaction_apply_systemd_tmpfiles( } static int pakfire_transaction_run_step(struct pakfire_transaction* transaction, - struct pakfire_db* db, const enum pakfire_actions action, struct pakfire_package* pkg, pakfire_archive* archive) { + pakfire_db* db, const enum pakfire_actions action, struct pakfire_package* pkg, pakfire_archive* archive) { if (!pkg) { errno = EINVAL; return 1; @@ -1683,7 +1683,7 @@ static int pakfire_transaction_run_step(struct pakfire_transaction* transaction, } static int pakfire_transaction_run_steps(struct pakfire_transaction* transaction, - struct pakfire_db* db, enum pakfire_actions action) { + pakfire_db* db, enum pakfire_actions action) { int r = 0; // Update status @@ -1846,7 +1846,7 @@ static int pakfire_usrmove(pakfire_ctx* ctx, struct pakfire* pakfire) { static int pakfire_transaction_perform(struct pakfire_transaction* transaction) { struct pakfire_repo* repo = NULL; - struct pakfire_db* db; + pakfire_db* db; size_t total_size = 0; int r; diff --git a/tests/libpakfire/db.c b/tests/libpakfire/db.c index a056f7c9..8e622a3a 100644 --- a/tests/libpakfire/db.c +++ b/tests/libpakfire/db.c @@ -27,7 +27,7 @@ #include "../testsuite.h" static int test_open_ro(const struct test* t) { - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; int r = EXIT_FAILURE; ASSERT_SUCCESS(pakfire_db_open(&db, t->pakfire, PAKFIRE_DB_READONLY)); @@ -43,7 +43,7 @@ FAIL: } static int test_open_rw(const struct test* t) { - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; int r = EXIT_FAILURE; ASSERT_SUCCESS(pakfire_db_open(&db, t->pakfire, PAKFIRE_DB_READWRITE)); @@ -59,7 +59,7 @@ FAIL: } static int test_check(const struct test* t) { - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; int r = EXIT_FAILURE; ASSERT_SUCCESS(pakfire_db_open(&db, t->pakfire, PAKFIRE_DB_READWRITE)); @@ -79,7 +79,7 @@ FAIL: static int test_add_package(const struct test* t) { struct pakfire_package* package = NULL; - struct pakfire_db* db = NULL; + pakfire_db* db = NULL; struct pakfire_repo* repo = NULL; pakfire_archive* archive = NULL; int r = EXIT_FAILURE;