I found that, starting with RPM 4.16, RPM uses an SQLite database
([reference](https://fedoraproject.org/wiki/Changes/RPM-4.16#Detailed_Description)).
>From querying my local table, I see there are the following tables:
```
sqlite> .tables
Basenames Name Sigmd5
Conflictname Obsoletename Suggestname
Dirnames Packages Supplementname
Enhancename Providename Transfiletriggername
Filetriggername Recommendname Triggername
Group Requirename
Installtid Sha1header
```
I can look at the schemas of individual tables like so:
```
sqlite> .schema Name
CREATE TABLE IF NOT EXISTS 'Name' (key 'TEXT' NOT NULL, hnum INTEGER NOT NULL,
idx INTEGER NOT NULL, FOREIGN KEY (hnum) REFERENCES 'Packages'(hnum));
CREATE INDEX 'Name_key_idx' ON 'Name'(key ASC);
```
Is there any documentation for what is stored in each table?
For example, it seems the `Name` table stores the names of all of the installed
RPM packages, and from the schema for this table I can see that it has a
foreign `hnum` key for the `Packages` table. But when I look at the `Packages`
table, I can't make sense of the data, since it stores blobs:
```
sqlite> .schema Packages
CREATE TABLE IF NOT EXISTS 'Packages' (hnum INTEGER PRIMARY KEY
AUTOINCREMENT,blob BLOB NOT NULL);
sqlite> select * from Packages limit 10;
1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
```
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/discussions/2211#discussioncomment-3775485
You are receiving this because you are subscribed to this thread.
Message ID:
<rpm-software-management/rpm/repo-discussions/2211/comments/3775...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint