Files | ||||
file | rpmlib.h | |||
file | rpmdb.c | |||
file | rpmdb.h | |||
Access RPM indices using Berkeley DB interface(s). | ||||
Data Structures | ||||
struct | dbiHStats_s | |||
Hash database statistics. More... | ||||
struct | dbiBStats_s | |||
B-tree database statistics. More... | ||||
struct | _dbiIndexItem | |||
A single item from an index database (i.e. More... | ||||
struct | _dbiIndexSet | |||
Items retrieved from the index database. More... | ||||
struct | _dbiVec | |||
Private methods for accessing an index database. More... | ||||
struct | _dbiIndex | |||
Describes an index database (implemented on Berkeley db3 functionality). More... | ||||
Functions | ||||
dbiIndex | dbiOpen (rpmdb db, int rpmtag, unsigned int flags) | |||
Return handle for an index database. | ||||
int | dbiCopen (dbiIndex dbi, void **dbcp, unsigned int flags) | |||
| ||||
int | dbiCclose (dbiIndex dbi, void *dbcursor, unsigned int flags) | |||
| ||||
int | dbiDel (dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, unsigned int flags) | |||
Delete (key,data) pair(s) from index database. | ||||
int | dbiGet (dbiIndex dbi, void *dbcursor, void **keypp, size_t *keylenp, void **datapp, size_t *datalenp, unsigned int flags) | |||
Retrieve (key,data) pair from index database. | ||||
int | dbiPut (dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, const void *datap, size_t datalen, unsigned int flags) | |||
Store (key,data) pair in index database. | ||||
int | dbiCount (dbiIndex dbi, void *dbcursor, unsigned int *countp, unsigned int flags) | |||
Retrieve count of (possible) duplicate items. | ||||
int | dbiVerify (dbiIndex dbi, unsigned int flags) | |||
Verify (and close) index database. | ||||
int | dbiClose (dbiIndex dbi, unsigned int flags) | |||
Close index database. | ||||
int | dbiSync (dbiIndex dbi, unsigned int flags) | |||
Flush pending operations to disk. | ||||
int | dbiByteSwapped (dbiIndex dbi) | |||
Is database byte swapped? | ||||
dbiIndexSet | dbiFreeIndexSet (dbiIndexSet set) | |||
Destroy set of index database items. | ||||
unsigned int | dbiIndexSetCount (dbiIndexSet set) | |||
Count items in index database set. | ||||
unsigned int | dbiIndexRecordOffset (dbiIndexSet set, int recno) | |||
Return record offset of header from element in index database set. | ||||
unsigned int | dbiIndexRecordFileNumber (dbiIndexSet set, int recno) | |||
Return file index from element in index database set. | ||||
Variables | ||||
int(* | _dbiVec::open )(rpmdb rpmdb, int rpmtag, dbiIndex *dbip) | |||
Return handle for an index database. | ||||
int(* | _dbiVec::close )(dbiIndex dbi, unsigned int flags) | |||
Close index database, and destroy database handle. | ||||
int(* | _dbiVec::sync )(dbiIndex dbi, unsigned int flags) | |||
Flush pending operations to disk. | ||||
int(* | _dbiVec::copen )(dbiIndex dbi, void **dbcp, unsigned int flags) | |||
Open database cursor. | ||||
int(* | _dbiVec::cclose )(dbiIndex dbi, void *dbcursor, unsigned int flags) | |||
Close database cursor. | ||||
int(* | _dbiVec::cdel )(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, unsigned int flags) | |||
Delete (key,data) pair(s) using db->del or dbcursor->c_del. | ||||
int(* | _dbiVec::cget )(dbiIndex dbi, void *dbcursor, void **keypp, size_t *keylenp, void **datapp, size_t *datalenp, unsigned int flags) | |||
Retrieve (key,data) pair using db->get or dbcursor->c_get. | ||||
int(* | _dbiVec::cput )(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, const void *datap, size_t datalen, unsigned int flags) | |||
Store (key,data) pair using db->put or dbcursor->c_put. | ||||
int(* | _dbiVec::ccount )(dbiIndex dbi, void *dbcursor, unsigned int *countp, unsigned int flags) | |||
Retrieve count of (possible) duplicate items using dbcursor->c_count. | ||||
int(* | _dbiVec::byteswapped )(dbiIndex dbi) | |||
Is database byte swapped? | ||||
int(* | _dbiVec::stat )(dbiIndex dbi, unsigned int flags) | |||
Save statistics in database handle. |
int dbiByteSwapped | ( | dbiIndex | dbi | ) |
Is database byte swapped?
dbi | index database handle |
Definition at line 183 of file rpmdb.c.
References _dbiVec::byteswapped, and _dbiIndex::dbi_vec.
Referenced by dbiSearch(), and dbiUpdateIndex().
int dbiCclose | ( | dbiIndex | dbi, | |
void * | dbcursor, | |||
unsigned int | flags | |||
) |
dbi | index database handle |
flags | (unused) |
Definition at line 195 of file rpmdb.c.
References _dbiVec::cclose, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, and tagName().
Referenced by openDatabase(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbRemove(), and unsatisfiedDepend().
int dbiClose | ( | dbiIndex | dbi, | |
unsigned int | flags | |||
) |
Close index database.
dbi | index database handle | |
flags | (unused) |
Definition at line 337 of file rpmdb.c.
References _dbiVec::close, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, and tagName().
Referenced by rpmdbClose(), and rpmdbCloseDBI().
int dbiCopen | ( | dbiIndex | dbi, | |
void ** | dbcp, | |||
unsigned int | flags | |||
) |
dbi | index database handle |
flags | DBI_WRITECURSOR, DBI_ITERATOR or 0 |
Definition at line 188 of file rpmdb.c.
References _dbiVec::copen, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, DBI_WRITECURSOR, and tagName().
Referenced by openDatabase(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbRemove(), and unsatisfiedDepend().
int dbiCount | ( | dbiIndex | dbi, | |
void * | dbcursor, | |||
unsigned int * | countp, | |||
unsigned int | flags | |||
) |
Retrieve count of (possible) duplicate items.
dbi | index database handle | |
dbcursor | database cursor | |
countp | address of count | |
flags | (unused) |
Definition at line 311 of file rpmdb.c.
References _dbiVec::ccount, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, and tagName().
int dbiDel | ( | dbiIndex | dbi, | |
void * | dbcursor, | |||
const void * | keyp, | |||
size_t | keylen, | |||
unsigned int | flags | |||
) |
Delete (key,data) pair(s) from index database.
dbi | index database handle | |
keyp | key data | |
keylen | key data length | |
flags | (unused) |
Definition at line 211 of file rpmdb.c.
References _dbiVec::cdel, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, RPMDBI_PACKAGES, and tagName().
Referenced by dbiUpdateIndex(), and rpmdbRemove().
dbiIndexSet dbiFreeIndexSet | ( | dbiIndexSet | set | ) |
Destroy set of index database items.
set | set of index database items |
Definition at line 748 of file rpmdb.c.
References _free(), and _dbiIndexSet::recs.
Referenced by addIndexEntry(), dbiFindByLabel(), dbiFindMatches(), removeIndexEntry(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbInitIterator(), and rpmRunTransactions().
int dbiGet | ( | dbiIndex | dbi, | |
void * | dbcursor, | |||
void ** | keypp, | |||
size_t * | keylenp, | |||
void ** | datapp, | |||
size_t * | datalenp, | |||
unsigned int | flags | |||
) |
Retrieve (key,data) pair from index database.
dbi | index database handle | |
keypp | address of key data | |
keylenp | address of key data length | |
datapp | address of data pointer | |
datalenp | address of data length | |
flags | (unused) |
Definition at line 229 of file rpmdb.c.
References _dbiVec::cget, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, printable(), and tagName().
Referenced by dbiSearch(), openDatabase(), rpmdbAdd(), rpmdbNextIterator(), and unsatisfiedDepend().
unsigned int dbiIndexRecordFileNumber | ( | dbiIndexSet | set, | |
int | recno | |||
) |
Return file index from element in index database set.
set | set of index database items | |
recno | index of item in set |
Definition at line 743 of file rpmdb.c.
Referenced by rpmdbFindByFile(), rpmdbNextIterator(), and rpmRunTransactions().
unsigned int dbiIndexRecordOffset | ( | dbiIndexSet | set, | |
int | recno | |||
) |
Return record offset of header from element in index database set.
set | set of index database items | |
recno | index of item in set |
Definition at line 738 of file rpmdb.c.
Referenced by dbiFindMatches(), rpmdbFindByFile(), rpmdbNextIterator(), and rpmRunTransactions().
unsigned int dbiIndexSetCount | ( | dbiIndexSet | set | ) |
Count items in index database set.
set | set of index database items |
Definition at line 733 of file rpmdb.c.
Referenced by dbiFindMatches(), rpmdbCountPackages(), and rpmRunTransactions().
Return handle for an index database.
db | rpm database | |
rpmtag | rpm tag | |
flags | (unused) |
Definition at line 343 of file rpmdb.c.
References _, _rebuildinprogress, db3Free(), dbiTagsMax, dbiTagToDbix(), errno, mydbvecs, _dbiVec::open, RPMERR_DBOPEN, rpmError, rpmExpandNumeric(), strerror(), and tagName().
Referenced by openDatabase(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpenAll(), rpmdbRemove(), and unsatisfiedDepend().
int dbiPut | ( | dbiIndex | dbi, | |
void * | dbcursor, | |||
const void * | keyp, | |||
size_t | keylen, | |||
const void * | datap, | |||
size_t | datalen, | |||
unsigned int | flags | |||
) |
Store (key,data) pair in index database.
dbi | index database handle | |
keyp | key data | |
keylen | key data length | |
datap | data pointer | |
datalen | data length | |
flags | (unused) |
Definition at line 271 of file rpmdb.c.
References _dbiVec::cput, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, printable(), and tagName().
Referenced by dbiUpdateIndex(), dbiUpdateRecord(), rpmdbAdd(), and unsatisfiedDepend().
int dbiSync | ( | dbiIndex | dbi, | |
unsigned int | flags | |||
) |
Flush pending operations to disk.
dbi | index database handle | |
flags | (unused) |
Definition at line 176 of file rpmdb.c.
References _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, _dbiVec::sync, and tagName().
Referenced by dbiUpdateRecord(), rpmdbAdd(), rpmdbRemove(), and rpmdbSync().
int dbiVerify | ( | dbiIndex | dbi, | |
unsigned int | flags | |||
) |
Verify (and close) index database.
dbi | index database handle | |
flags | (unused) |
Definition at line 322 of file rpmdb.c.
References _debug, _dbiVec::close, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, _dbiIndex::dbi_verify_on_close, and tagName().
Referenced by rpmdbVerify().
int(* _dbiVec::byteswapped)(dbiIndex dbi) [inherited] |
Is database byte swapped?
dbi | index database handle |
Referenced by dbiByteSwapped().
int(* _dbiVec::cclose)(dbiIndex dbi,void *dbcursor, unsigned int flags) [inherited] |
Close database cursor.
dbi | index database handle | |
dbcursor | database cursor | |
flags | (unused) |
Referenced by dbiCclose().
int(* _dbiVec::ccount)(dbiIndex dbi, void *dbcursor,unsigned int *countp, unsigned int flags) [inherited] |
Retrieve count of (possible) duplicate items using dbcursor->c_count.
dbi | index database handle | |
dbcursor | database cursor | |
countp | address of count | |
flags | (unused) |
Referenced by dbiCount().
int(* _dbiVec::cdel)(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, unsigned int flags) [inherited] |
Delete (key,data) pair(s) using db->del or dbcursor->c_del.
dbi | index database handle | |
dbcursor | database cursor | |
keyp | key data | |
keylen | key data length | |
flags | (unused) |
Referenced by dbiDel().
int(* _dbiVec::cget)(dbiIndex dbi, void *dbcursor,void **keypp,size_t *keylenp,void **datapp,size_t *datalenp, unsigned int flags) [inherited] |
Retrieve (key,data) pair using db->get or dbcursor->c_get.
dbi | index database handle | |
dbcursor | database cursor | |
keypp | address of key data | |
keylenp | address of key data length | |
datapp | address of data pointer | |
datalenp | address of data length | |
flags | (unused) |
Referenced by dbiGet().
int(* _dbiVec::close)(dbiIndex dbi, unsigned int flags) [inherited] |
Close index database, and destroy database handle.
dbi | index database handle | |
flags | (unused) |
Referenced by dbiClose(), and dbiVerify().
int(* _dbiVec::copen)(dbiIndex dbi,void **dbcp, unsigned int flags) [inherited] |
Open database cursor.
dbi | index database handle | |
dbcp | address of database cursor | |
flags | (unused) |
Referenced by dbiCopen().
int(* _dbiVec::cput)(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, const void *datap, size_t datalen, unsigned int flags) [inherited] |
Store (key,data) pair using db->put or dbcursor->c_put.
dbi | index database handle | |
dbcursor | database cursor | |
keyp | key data | |
keylen | key data length | |
datap | data pointer | |
datalen | data length | |
flags | (unused) |
Referenced by dbiPut().
int(* _dbiVec::open)(rpmdb rpmdb, int rpmtag,dbiIndex *dbip) [inherited] |
int(* _dbiVec::stat)(dbiIndex dbi, unsigned int flags) [inherited] |
Save statistics in database handle.
dbi | index database handle | |
flags | retrieve statistics that don't require traversal? |
int(* _dbiVec::sync)(dbiIndex dbi, unsigned int flags) [inherited] |
Flush pending operations to disk.
dbi | index database handle | |
flags | (unused) |
Referenced by dbiSync().