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;
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;
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
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;
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;
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
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);
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);
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
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");
}
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);
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)
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
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
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) {
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;
return r;
}
-static int pakfire_db_setup(struct pakfire_db* db) {
+static int pakfire_db_setup(pakfire_db* db) {
int r;
// Setup logging
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;
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;
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;
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;
/*
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
}
// 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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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);
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;
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;
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;
#include <pakfire/repo.h>
#include <pakfire/scriptlet.h>
-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 */