rpm/backport-Add-backend-name-and-path-of-main-database-file-to-d.patch
2021-01-12 20:52:15 +08:00

99 lines
3.1 KiB
Diff

From bc00f99cb0c6bc367bd198b3b0fdc7cd445737c5 Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 21 Oct 2019 13:37:22 +0300
Subject: [PATCH] Add backend name and path of main database file to db_ops
struct
URL:https://github.com/rpm-software-management/rpm/commit/bc00f99cb0c6bc367bd198b3b0fdc7cd445737c5
Conflict:delete the contents of lib/backend/sqlite.c, because we have no sqlite database.
---
lib/backend/db3.c | 3 +++
lib/backend/dbi.h | 5 ++++-
lib/backend/dummydb.c | 3 +++
lib/backend/lmdb.c | 3 +++
lib/backend/ndb/glue.c | 3 +++
5 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/lib/backend/db3.c b/lib/backend/db3.c
index ff1fc26..ab2f11f 100644
--- a/lib/backend/db3.c
+++ b/lib/backend/db3.c
@@ -1365,6 +1365,9 @@ static unsigned int db3_pkgdbKey(dbiIndex dbi, dbiCursor dbc)
}
struct rpmdbOps_s db3_dbops = {
+ .name = "bdb",
+ .path = "Packages",
+
.open = db3_dbiOpen,
.close = db3_dbiClose,
.verify = db3_dbiVerify,
diff --git a/lib/backend/dbi.h b/lib/backend/dbi.h
index e9e42d8..a618ea2 100644
--- a/lib/backend/dbi.h
+++ b/lib/backend/dbi.h
@@ -59,7 +59,7 @@ struct rpmdb_s {
dbiIndex * db_indexes; /*!< Tag indices. */
int db_buildindex; /*!< Index rebuild indicator */
- struct rpmdbOps_s * db_ops; /*!< backend ops */
+ const struct rpmdbOps_s * db_ops; /*!< backend ops */
/* dbenv and related parameters */
void * db_dbenv; /*!< Backend private handle */
@@ -245,6 +245,9 @@ RPM_GNUC_INTERNAL
const void * idxdbKey(dbiIndex dbi, dbiCursor dbc, unsigned int *keylen);
struct rpmdbOps_s {
+ const char *name; /* backend name */
+ const char *path; /* main database name */
+
int (*open)(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, int flags);
int (*close)(dbiIndex dbi, unsigned int flags);
int (*verify)(dbiIndex dbi, unsigned int flags);
diff --git a/lib/backend/dummydb.c b/lib/backend/dummydb.c
index 6137675..631b635 100644
--- a/lib/backend/dummydb.c
+++ b/lib/backend/dummydb.c
@@ -88,6 +88,9 @@ static const void * dummydb_idxdbKey(dbiIndex dbi, dbiCursor dbc, unsigned int *
struct rpmdbOps_s dummydb_dbops = {
+ .name = "dummy",
+ .path = NULL,
+
.open = dummydb_Open,
.close = dummydb_Close,
.verify = dummydb_Verify,
diff --git a/lib/backend/lmdb.c b/lib/backend/lmdb.c
index f63fcb7..801f50e 100644
--- a/lib/backend/lmdb.c
+++ b/lib/backend/lmdb.c
@@ -922,6 +922,9 @@ static unsigned int lmdb_pkgdbKey(dbiIndex dbi, dbiCursor dbc)
}
struct rpmdbOps_s lmdb_dbops = {
+ .name = "lmdb",
+ .path = "data.mdb",
+
.open = lmdb_dbiOpen,
.close = lmdb_dbiClose,
.verify = lmdb_dbiVerify,
diff --git a/lib/backend/ndb/glue.c b/lib/backend/ndb/glue.c
index b088a0b..d679ed1 100644
--- a/lib/backend/ndb/glue.c
+++ b/lib/backend/ndb/glue.c
@@ -496,6 +496,9 @@ static const void * ndb_idxdbKey(dbiIndex dbi, dbiCursor dbc, unsigned int *keyl
struct rpmdbOps_s ndb_dbops = {
+ .name = "ndb",
+ .path = "Packages.db",
+
.open = ndb_Open,
.close = ndb_Close,
.verify = ndb_Verify,
--
1.8.3.1