Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

DBI.


Files

file  rpmlib.h
file  rpmdb.c
file  rpmdb.h
 Access RPM indices using Berkeley DB interface(s).


Data Structures

struct  dbiHStats_s
struct  dbiBStats_s
struct  _dbiIndexItem
struct  _dbiIndexSet
struct  _dbiVec
struct  _dbiIndex

Functions

dbiIndex dbiOpen (rpmdb db, int rpmtag, unsigned int flags)
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)
int dbiGet (dbiIndex dbi, void *dbcursor, void **keypp, size_t *keylenp, void **datapp, size_t *datalenp, unsigned int flags)
int dbiPut (dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, const void *datap, size_t datalen, unsigned int flags)
int dbiCount (dbiIndex dbi, void *dbcursor, unsigned int *countp, unsigned int flags)
int dbiVerify (dbiIndex dbi, unsigned int flags)
int dbiClose (dbiIndex dbi, unsigned int flags)
int dbiSync (dbiIndex dbi, unsigned int flags)
int dbiByteSwapped (dbiIndex dbi)
dbiIndexSet dbiFreeIndexSet (dbiIndexSet set)
unsigned int dbiIndexSetCount (dbiIndexSet set)
unsigned int dbiIndexRecordOffset (dbiIndexSet set, int recno)
unsigned int dbiIndexRecordFileNumber (dbiIndexSet set, int recno)

Variables

int(* _dbiVec::open )(rpmdb rpmdb, int rpmtag, dbiIndex *dbip)
int(* _dbiVec::close )(dbiIndex dbi, unsigned int flags)
int(* _dbiVec::sync )(dbiIndex dbi, unsigned int flags)
int(* _dbiVec::copen )(dbiIndex dbi, void **dbcp, unsigned int flags)
int(* _dbiVec::cclose )(dbiIndex dbi, void *dbcursor, unsigned int flags)
int(* _dbiVec::cdel )(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, unsigned int flags)
int(* _dbiVec::cget )(dbiIndex dbi, void *dbcursor, void **keypp, size_t *keylenp, void **datapp, size_t *datalenp, unsigned int flags)
int(* _dbiVec::cput )(dbiIndex dbi, void *dbcursor, const void *keyp, size_t keylen, const void *datap, size_t datalen, unsigned int flags)
int(* _dbiVec::ccount )(dbiIndex dbi, void *dbcursor, unsigned int *countp, unsigned int flags)
int(* _dbiVec::byteswapped )(dbiIndex dbi)
int(* _dbiVec::stat )(dbiIndex dbi, unsigned int flags)

Function Documentation

int dbiByteSwapped dbiIndex  dbi  ) 
 

Is database byte swapped?

Parameters:
dbi index database handle
Returns:
0 no

Definition at line 183 of file rpmdb.c.

References _dbiVec::byteswapped, _dbiIndex::dbi_vec, dbiIndex, and INLINE.

Referenced by dbiSearch(), and dbiUpdateIndex().

int dbiCclose dbiIndex  dbi,
void *  dbcursor,
unsigned int  flags
 

Parameters:
dbi index database handle
flags (unused)

Definition at line 195 of file rpmdb.c.

References _debug, _dbiVec::cclose, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, and tagName().

Referenced by openDatabase(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbRemove(), and unsatisfiedDepend().

int dbiClose dbiIndex  dbi,
unsigned int  flags
 

Close index database.

Parameters:
dbi index database handle
flags (unused)
Returns:
0 on success

Definition at line 337 of file rpmdb.c.

References _debug, _dbiVec::close, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, and tagName().

Referenced by rpmdbClose(), and rpmdbCloseDBI().

int dbiCopen dbiIndex  dbi,
void **  dbcp,
unsigned int  flags
 

Parameters:
dbi index database handle
flags DBI_WRITECURSOR, DBI_ITERATOR or 0

Definition at line 188 of file rpmdb.c.

References _debug, _dbiVec::copen, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, DBI_WRITECURSOR, dbiIndex, INLINE, 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.

Parameters:
dbi index database handle
dbcursor database cursor
countp address of count
flags (unused)
Returns:
0 on success

Definition at line 311 of file rpmdb.c.

References _dbiVec::ccount, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, 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.

Parameters:
dbi index database handle
keyp key data
keylen key data length
flags (unused)
Returns:
0 on success

Definition at line 211 of file rpmdb.c.

References _debug, _dbiVec::cdel, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, RPMDBI_PACKAGES, and tagName().

Referenced by dbiUpdateIndex(), and rpmdbRemove().

dbiIndexSet dbiFreeIndexSet dbiIndexSet  set  ) 
 

Destroy set of index database items.

Parameters:
set set of index database items
Returns:
NULL always

Definition at line 748 of file rpmdb.c.

References _free(), dbiIndexSet, and _dbiIndexSet::recs.

Referenced by addIndexEntry(), dbiFindByLabel(), dbiFindMatches(), removeIndexEntry(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbGrowIterator(), 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.

Parameters:
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)
Returns:
0 on success

Definition at line 229 of file rpmdb.c.

References _debug, _dbiVec::cget, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, 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.

Parameters:
set set of index database items
recno index of item in set
Returns:
file index

Definition at line 743 of file rpmdb.c.

References dbiIndexSet, _dbiIndexSet::recs, and _dbiIndexItem::tagNum.

Referenced by rpmdbFindByFile(), rpmdbNextIterator(), and rpmRunTransactions().

unsigned int dbiIndexRecordOffset dbiIndexSet  set,
int  recno
 

Return record offset of header from element in index database set.

Parameters:
set set of index database items
recno index of item in set
Returns:
record offset of header

Definition at line 738 of file rpmdb.c.

References dbiIndexSet, _dbiIndexItem::hdrNum, and _dbiIndexSet::recs.

Referenced by dbiFindMatches(), rpmdbFindByFile(), rpmdbNextIterator(), and rpmRunTransactions().

unsigned int dbiIndexSetCount dbiIndexSet  set  ) 
 

Count items in index database set.

Parameters:
set set of index database items
Returns:
number of items

Definition at line 733 of file rpmdb.c.

References _dbiIndexSet::count, and dbiIndexSet.

Referenced by dbiFindMatches(), rpmdbCountPackages(), and rpmRunTransactions().

dbiIndex dbiOpen rpmdb  db,
int  rpmtag,
unsigned int  flags
 

Return handle for an index database.

Parameters:
db rpm database
rpmtag rpm tag
flags (unused)
Returns:
index database handle

Definition at line 343 of file rpmdb.c.

References _, _rebuildinprogress, db3Free(), dbiIndex, 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.

Parameters:
dbi index database handle
keyp key data
keylen key data length
datap data pointer
datalen data length
flags (unused)
Returns:
0 on success

Definition at line 271 of file rpmdb.c.

References _debug, _dbiVec::cput, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, printable(), and tagName().

Referenced by dbiUpdateIndex(), dbiUpdateRecord(), rpmdbAdd(), and unsatisfiedDepend().

int dbiSync dbiIndex  dbi,
unsigned int  flags
 

Flush pending operations to disk.

Parameters:
dbi index database handle
flags (unused)
Returns:
0 on success

Definition at line 176 of file rpmdb.c.

References _debug, _dbiIndex::dbi_debug, _dbiIndex::dbi_rpmtag, _dbiIndex::dbi_vec, dbiIndex, INLINE, _dbiVec::sync, and tagName().

Referenced by dbiUpdateRecord(), rpmdbAdd(), rpmdbRemove(), and rpmdbSync().

int dbiVerify dbiIndex  dbi,
unsigned int  flags
 

Verify (and close) index database.

Parameters:
dbi index database handle
flags (unused)
Returns:
0 on success

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, dbiIndex, INLINE, and tagName().

Referenced by rpmdbVerify().


Variable Documentation

int(* _dbiVec::byteswapped)(dbiIndex dbi) [inherited]
 

Is database byte swapped?

Parameters:
dbi index database handle
Returns:
0 no

Referenced by dbiByteSwapped().

int(* _dbiVec::cclose)(dbiIndex dbi, void * dbcursor, unsigned int flags) [inherited]
 

Close database cursor.

Parameters:
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.

Parameters:
dbi index database handle
dbcursor database cursor
countp address of count
flags (unused)
Returns:
0 on success

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.

Parameters:
dbi index database handle
dbcursor database cursor
keyp key data
keylen key data length
flags (unused)
Returns:
0 on success

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.

Parameters:
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)
Returns:
0 on success

Referenced by dbiGet().

int(* _dbiVec::close)( dbiIndex dbi, unsigned int flags) [inherited]
 

Close index database, and destroy database handle.

Parameters:
dbi index database handle
flags (unused)
Returns:
0 on success

Referenced by dbiClose(), and dbiVerify().

int(* _dbiVec::copen)(dbiIndex dbi, void ** dbcp, unsigned int flags) [inherited]
 

Open database cursor.

Parameters:
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.

Parameters:
dbi index database handle
dbcursor database cursor
keyp key data
keylen key data length
datap data pointer
datalen data length
flags (unused)
Returns:
0 on success

Referenced by dbiPut().

int(* _dbiVec::open)(rpmdb rpmdb, int rpmtag, dbiIndex * dbip) [inherited]
 

Return handle for an index database.

Parameters:
rpmdb rpm database
rpmtag rpm tag
Returns:
0 on success

Referenced by dbiOpen().

int(* _dbiVec::stat)(dbiIndex dbi, unsigned int flags) [inherited]
 

Save statistics in database handle.

Parameters:
dbi index database handle
flags retrieve statistics that don't require traversal?
Returns:
0 on success

int(* _dbiVec::sync)(dbiIndex dbi, unsigned int flags) [inherited]
 

Flush pending operations to disk.

Parameters:
dbi index database handle
flags (unused)
Returns:
0 on success

Referenced by dbiSync().


Generated on Thu Apr 29 08:03:04 2004 for rpm by doxygen 1.3.6