return 0;
}
-int pakfire_db_open(pakfire_db** db, pakfire_root* root, int flags) {
+int pakfire_db_open(pakfire_db** db, pakfire_ctx* ctx, pakfire_root* root, int flags) {
pakfire_db* self = NULL;
int sqlite3_flags = 0;
int r;
return -errno;
// Store a reference to the context
- self->ctx = pakfire_root_get_ctx(root);
+ self->ctx = pakfire_ctx_ref(ctx);
// Store a reference to the root
self->root = pakfire_root_ref(root);
#include <sys/types.h>
#include <pakfire/archive.h>
+#include <pakfire/ctx.h>
#include <pakfire/package.h>
#include <pakfire/root.h>
#include <pakfire/repo.h>
PAKFIRE_DB_READWRITE = (1 << 0),
};
-int pakfire_db_open(pakfire_db** db, pakfire_root* root, int flags);
+int pakfire_db_open(pakfire_db** db, pakfire_ctx* ctx, pakfire_root* root, int flags);
pakfire_db* pakfire_db_ref(pakfire_db* db);
pakfire_db* pakfire_db_unref(pakfire_db* db);
repo = pakfire_root_get_repo(self, PAKFIRE_REPO_SYSTEM);
// Open the database (or create a new one)
- r = pakfire_db_open(&db, self, PAKFIRE_DB_READWRITE);
+ r = pakfire_db_open(&db, self->ctx, self, PAKFIRE_DB_READWRITE);
if (r < 0)
goto ERROR;
int r;
// Open database in read-only mode and try to load all installed packages
- r = pakfire_db_open(&db, self, PAKFIRE_DB_READWRITE);
+ r = pakfire_db_open(&db, self->ctx, self, PAKFIRE_DB_READWRITE);
if (r)
goto ERROR;
return r;
// Open the database
- r = pakfire_db_open(&db, transaction->root, PAKFIRE_DB_READWRITE);
+ r = pakfire_db_open(&db, transaction->ctx, transaction->root, PAKFIRE_DB_READWRITE);
if (r) {
ERROR(transaction->ctx, "Could not open the database\n");
return r;
pakfire_db* db = NULL;
int r = EXIT_FAILURE;
- ASSERT_SUCCESS(pakfire_db_open(&db, t->root, PAKFIRE_DB_READONLY));
+ ASSERT_SUCCESS(pakfire_db_open(&db, t->ctx, t->root, PAKFIRE_DB_READONLY));
// Everything passed
r = EXIT_SUCCESS;
pakfire_db* db = NULL;
int r = EXIT_FAILURE;
- ASSERT_SUCCESS(pakfire_db_open(&db, t->root, PAKFIRE_DB_READWRITE));
+ ASSERT_SUCCESS(pakfire_db_open(&db, t->ctx, t->root, PAKFIRE_DB_READWRITE));
// Everything passed
r = EXIT_SUCCESS;
pakfire_db* db = NULL;
int r = EXIT_FAILURE;
- ASSERT_SUCCESS(pakfire_db_open(&db, t->root, PAKFIRE_DB_READWRITE));
+ ASSERT_SUCCESS(pakfire_db_open(&db, t->ctx, t->root, PAKFIRE_DB_READWRITE));
// Perform check
ASSERT_SUCCESS(pakfire_db_check(db));
ASSERT(repo = pakfire_root_get_repo(t->root, PAKFIRE_REPO_DUMMY));
- ASSERT_SUCCESS(pakfire_db_open(&db, t->root, PAKFIRE_DB_READWRITE));
+ ASSERT_SUCCESS(pakfire_db_open(&db, t->ctx, t->root, PAKFIRE_DB_READWRITE));
// There must be no packages installed
ssize_t packages = pakfire_db_packages(db);