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

DataBase Index element API.


Files

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

file  rpmlib.h
 In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not.


Data Structures

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

Functions

dbiIndex dbiOpen (rpmdb db, rpmTag rpmtag, unsigned int flags)
int dbiCopen (dbiIndex dbi, DB_TXN *txnid, DBC **dbcp, unsigned int flags)
int dbiCclose (dbiIndex dbi, DBC *dbcursor, unsigned int flags)
int dbiCdup (dbiIndex dbi, DBC *dbcursor, DBC **dbcp, unsigned int flags)
int dbiDel (dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int dbiGet (dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int dbiPget (dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *pkey, DBT *data, unsigned int flags)
int dbiPut (dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int dbiCount (dbiIndex dbi, DBC *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 dbiAssociate (dbiIndex dbi, dbiIndex dbisecondary, int(*callback)(DB *, const DBT *, const DBT *, DBT *), unsigned int flags)
int dbiJoin (dbiIndex dbi, DBC **curslist, DBC **dbcp, unsigned int flags)
int dbiByteSwapped (dbiIndex dbi)
int dbiStat (dbiIndex dbi, unsigned int flags)
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, rpmTag rpmtag, dbiIndex *dbip)
int(* _dbiVec::close )(dbiIndex dbi, unsigned int flags)
int(* _dbiVec::sync )(dbiIndex dbi, unsigned int flags)
int(* _dbiVec::associate )(dbiIndex dbi, dbiIndex dbisecondary, int(*callback)(DB *, const DBT *, const DBT *, DBT *), unsigned int flags)
int(* _dbiVec::join )(dbiIndex dbi, DBC **curslist, DBC **dbcp, unsigned int flags)
int(* _dbiVec::copen )(dbiIndex dbi, DB_TXN *txnid, DBC **dbcp, unsigned int dbiflags)
int(* _dbiVec::cclose )(dbiIndex dbi, DBC *dbcursor, unsigned int flags)
int(* _dbiVec::cdup )(dbiIndex dbi, DBC *dbcursor, DBC **dbcp, unsigned int flags)
int(* _dbiVec::cdel )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* _dbiVec::cget )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* _dbiVec::cpget )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *pkey, DBT *data, unsigned int flags)
int(* _dbiVec::cput )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* _dbiVec::ccount )(dbiIndex dbi, DBC *dbcursor, unsigned int *countp, unsigned int flags)
int(* _dbiVec::byteswapped )(dbiIndex dbi)
int(* _dbiVec::stat )(dbiIndex dbi, unsigned int flags)

Function Documentation

int dbiAssociate dbiIndex  dbi,
dbiIndex  dbisecondary,
int(*  callback)(DB *, const DBT *, const DBT *, DBT *),
unsigned int  flags
[inline, static]
 

Associate secondary database with primary.

Parameters:
dbi index database handle
dbisecondary secondary index database handle
callback create secondary key from primary (NULL if DB_RDONLY)
flags DB_CREATE or 0
Returns:
0 on success

Definition at line 712 of file rpmdb.h.

References _dbiVec::associate, _dbiIndex::dbi_vec, and dbiIndex.

int dbiByteSwapped dbiIndex  dbi  )  [inline, static]
 

Is database byte swapped?

Parameters:
dbi index database handle
Returns:
0 same order, 1 swapped order

Definition at line 744 of file rpmdb.h.

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

Referenced by dbt2set(), and set2dbt().

int dbiCclose dbiIndex  dbi,
DBC *  dbcursor,
unsigned int  flags
[inline, static]
 

Close a database cursor.

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

Definition at line 527 of file rpmdb.h.

References _dbiVec::cclose, _dbiIndex::dbi_vec, and dbiIndex.

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

int dbiCdup dbiIndex  dbi,
DBC *  dbcursor,
DBC **  dbcp,
unsigned int  flags
[inline, static]
 

Duplicate a database cursor.

Parameters:
dbi index database handle
dbcursor database cursor
Return values:
dbcp address of new database cursor
Parameters:
flags DB_POSITION for same position, 0 for uninitialized
Returns:
0 on success

Definition at line 543 of file rpmdb.h.

References _dbiVec::cdup, _dbiIndex::dbi_vec, and dbiIndex.

int dbiClose dbiIndex  dbi,
unsigned int  flags
[inline, static]
 

Close index database.

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

Definition at line 682 of file rpmdb.h.

References _dbiVec::close, _dbiIndex::dbi_vec, and dbiIndex.

Referenced by rpmdbClose(), and rpmdbCloseDBI().

int dbiCopen dbiIndex  dbi,
DB_TXN *  txnid,
DBC **  dbcp,
unsigned int  flags
[inline, static]
 

Open a database cursor.

Parameters:
dbi index database handle
txnid database transaction handle
Return values:
dbcp returned database cursor
Parameters:
flags DB_WRITECURSOR if writing, or 0
Returns:
0 on success

Definition at line 511 of file rpmdb.h.

References _dbiVec::copen, _dbiIndex::dbi_vec, and dbiIndex.

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

int dbiCount dbiIndex  dbi,
DBC *  dbcursor,
unsigned int *  countp,
unsigned int  flags
[inline, static]
 

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 652 of file rpmdb.h.

References _dbiVec::ccount, _dbiIndex::dbi_vec, and dbiIndex.

int dbiDel dbiIndex  dbi,
DBC *  dbcursor,
DBT *  key,
DBT *  data,
unsigned int  flags
[inline, static]
 

Delete (key,data) pair(s) from index database.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->del)
key delete key value/length/flags
data delete data value/length/flags
flags (unused)
Returns:
0 on success

Definition at line 560 of file rpmdb.h.

References _dbiVec::cdel, rpmdb_s::db_delops, _dbiIndex::dbi_rpmdb, _dbiIndex::dbi_vec, dbiIndex, rpmswEnter(), and rpmswExit().

Referenced by rpmdbRemove().

dbiIndexSet dbiFreeIndexSet dbiIndexSet  set  ) 
 

Destroy set of index database items.

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

Definition at line 611 of file rpmdb.c.

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

Referenced by dbiFindByLabel(), dbiFindMatches(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbRemove(), and rpmtsRun().

int dbiGet dbiIndex  dbi,
DBC *  dbcursor,
DBT *  key,
DBT *  data,
unsigned int  flags
[inline, static]
 

Retrieve (key,data) pair from index database.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->get)
key retrieve key value/length/flags
data retrieve data value/length/flags
flags (unused)
Returns:
0 on success

Definition at line 583 of file rpmdb.h.

References _dbiVec::cget, rpmdb_s::db_getops, _dbiIndex::dbi_rpmdb, _dbiIndex::dbi_vec, dbiIndex, rpmswEnter(), and rpmswExit().

Referenced by dbiFindMatches(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbRemove(), 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 606 of file rpmdb.c.

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

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

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 601 of file rpmdb.c.

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

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

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 596 of file rpmdb.c.

References _dbiIndexSet::count, and dbiIndexSet.

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

int dbiJoin dbiIndex  dbi,
DBC **  curslist,
DBC **  dbcp,
unsigned int  flags
[inline, static]
 

Return join cursor for list of cursors.

Parameters:
dbi index database handle
curslist NULL terminated list of database cursors
Return values:
dbcp address of join database cursor
Parameters:
flags DB_JOIN_NOSORT or 0
Returns:
0 on success

Definition at line 730 of file rpmdb.h.

References _dbiIndex::dbi_vec, dbiIndex, and _dbiVec::join.

dbiIndex dbiOpen rpmdb  db,
rpmTag  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 244 of file rpmdb.c.

References _, rpmdb_s::_dbi, _rebuildinprogress, db3Free(), rpmdb_s::db_api, rpmdb_s::db_bits, rpmdb_s::db_nbits, _dbiIndex::dbi_stats, dbiIndex, dbiStat(), dbiTagsMax, dbiTagToDbix(), errno, mydbvecs, _dbiVec::open, PBM_ALLOC, rpmdb, RPMDBI_PACKAGES, RPMERR_DBOPEN, rpmError, rpmExpandNumeric(), rpmTag, strerror(), and tagName().

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

int dbiPget dbiIndex  dbi,
DBC *  dbcursor,
DBT *  key,
DBT *  pkey,
DBT *  data,
unsigned int  flags
[inline, static]
 

Retrieve (key,data) pair using dbcursor->c_pget.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->get)
key secondary retrieve key value/length/flags
pkey primary retrieve key value/length/flags
data primary retrieve data value/length/flags
flags DB_NEXT, DB_SET, or 0
Returns:
0 on success

Definition at line 607 of file rpmdb.h.

References _dbiVec::cpget, rpmdb_s::db_getops, _dbiIndex::dbi_rpmdb, _dbiIndex::dbi_vec, dbiIndex, rpmswEnter(), and rpmswExit().

int dbiPut dbiIndex  dbi,
DBC *  dbcursor,
DBT *  key,
DBT *  data,
unsigned int  flags
[inline, static]
 

Store (key,data) pair in index database.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->put)
key store key value/length/flags
data store data value/length/flags
flags (unused)
Returns:
0 on success

Definition at line 630 of file rpmdb.h.

References _dbiVec::cput, rpmdb_s::db_putops, _dbiIndex::dbi_rpmdb, _dbiIndex::dbi_vec, dbiIndex, rpmswEnter(), and rpmswExit().

Referenced by miFreeHeader(), rpmdbAdd(), rpmdbRemove(), and unsatisfiedDepend().

int dbiStat dbiIndex  dbi,
unsigned int  flags
[inline, static]
 

Is database byte swapped?

Parameters:
dbi index database handle
flags DB_FAST_STAT or 0
Returns:
0 on success

Definition at line 758 of file rpmdb.h.

References _dbiIndex::dbi_vec, dbiIndex, and _dbiVec::stat.

Referenced by dbiOpen().

int dbiSync dbiIndex  dbi,
unsigned int  flags
[inline, static]
 

Flush pending operations to disk.

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

Definition at line 696 of file rpmdb.h.

References _dbiIndex::dbi_vec, dbiIndex, and _dbiVec::sync.

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

int dbiVerify dbiIndex  dbi,
unsigned int  flags
[inline, static]
 

Verify (and close) index database.

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

Definition at line 667 of file rpmdb.h.

References _dbiVec::close, _dbiIndex::dbi_vec, _dbiIndex::dbi_verify_on_close, and dbiIndex.

Referenced by rpmdbVerify().


Variable Documentation

int(* _dbiVec::associate)(dbiIndex dbi, dbiIndex dbisecondary, int (*callback) (DB *, const DBT *, const DBT *, DBT *), unsigned int flags) [inherited]
 

Associate secondary database with primary.

Parameters:
dbi index database handle
dbisecondary secondary index database handle
callback create secondary key from primary (NULL if DB_RDONLY)
flags DB_CREATE or 0
Returns:
0 on success

Referenced by dbiAssociate().

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, DBC * dbcursor, unsigned int flags) [inherited]
 

Close database cursor.

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

Referenced by dbiCclose().

int(* _dbiVec::ccount)(dbiIndex dbi, DBC * 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, DBC * dbcursor, DBT * key, DBT * data, unsigned int flags) [inherited]
 

Delete (key,data) pair(s) using db->del or dbcursor->c_del.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->del)
key delete key value/length/flags
data delete data value/length/flags
flags (unused)
Returns:
0 on success

Referenced by dbiDel().

int(* _dbiVec::cdup)(dbiIndex dbi, DBC * dbcursor, DBC ** dbcp, unsigned int flags) [inherited]
 

Duplicate a database cursor.

Parameters:
dbi index database handle
dbcursor database cursor
Return values:
dbcp address of new database cursor
Parameters:
flags DB_POSITION for same position, 0 for uninitialized
Returns:
0 on success

Referenced by dbiCdup().

int(* _dbiVec::cget)(dbiIndex dbi, DBC * dbcursor, DBT * key, DBT * data, unsigned int flags) [inherited]
 

Retrieve (key,data) pair using db->get or dbcursor->c_get.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->get)
key retrieve key value/length/flags
data retrieve data value/length/flags
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, DB_TXN * txnid, DBC ** dbcp, unsigned int dbiflags) [inherited]
 

Open database cursor.

Parameters:
dbi index database handle
txnid database transaction handle
Return values:
dbcp address of new database cursor
Parameters:
dbiflags DB_WRITECURSOR or 0
Returns:
0 on success

Referenced by dbiCopen().

int(* _dbiVec::cpget)(dbiIndex dbi, DBC * dbcursor, DBT * key, DBT * pkey, DBT * data, unsigned int flags) [inherited]
 

Retrieve (key,data) pair using dbcursor->c_pget.

Parameters:
dbi index database handle
dbcursor database cursor
key secondary retrieve key value/length/flags
pkey primary retrieve key value/length/flags
data primary retrieve data value/length/flags
flags DB_NEXT, DB_SET, or 0
Returns:
0 on success

Referenced by dbiPget().

int(* _dbiVec::cput)(dbiIndex dbi, DBC * dbcursor, DBT * key, DBT * data, unsigned int flags) [inherited]
 

Store (key,data) pair using db->put or dbcursor->c_put.

Parameters:
dbi index database handle
dbcursor database cursor (NULL will use db->put)
key store key value/length/flags
data store data value/length/flags
flags (unused)
Returns:
0 on success

Referenced by dbiPut().

int(* _dbiVec::join)(dbiIndex dbi, DBC ** curslist, DBC ** dbcp, unsigned int flags) [inherited]
 

Return join cursor for list of cursors.

Parameters:
dbi index database handle
curslist NULL terminated list of database cursors
Return values:
dbcp address of join database cursor
Parameters:
flags DB_JOIN_NOSORT or 0
Returns:
0 on success

Referenced by dbiJoin().

int(* _dbiVec::open)(rpmdb rpmdb, rpmTag 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

Referenced by dbiStat().

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 Mon Apr 25 19:16:29 2005 for rpm by doxygen 1.3.5