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 *, DBT *, 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(* open )(rpmdb rpmdb, rpmTag rpmtag, dbiIndex *dbip)
int(* close )(dbiIndex dbi, unsigned int flags)
int(* sync )(dbiIndex dbi, unsigned int flags)
int(* associate )(dbiIndex dbi, dbiIndex dbisecondary, int(*callback)(DB *, DBT *, DBT *, DBT *), unsigned int flags)
int(* join )(dbiIndex dbi, DBC **curslist, DBC **dbcp, unsigned int flags)
int(* copen )(dbiIndex dbi, DB_TXN *txnid, DBC **dbcp, unsigned int dbiflags)
int(* cclose )(dbiIndex dbi, DBC *dbcursor, unsigned int flags)
int(* cdup )(dbiIndex dbi, DBC *dbcursor, DBC **dbcp, unsigned int flags)
int(* cdel )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* cget )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* cpget )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *pkey, DBT *data, unsigned int flags)
int(* cput )(dbiIndex dbi, DBC *dbcursor, DBT *key, DBT *data, unsigned int flags)
int(* ccount )(dbiIndex dbi, DBC *dbcursor, unsigned int *countp, unsigned int flags)
int(* byteswapped )(dbiIndex dbi)
int(* stat )(dbiIndex dbi, unsigned int flags)

Function Documentation

int dbiAssociate dbiIndex    dbi,
dbiIndex    dbisecondary,
int(*    callback)(DB *, DBT *, 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 691 of file rpmdb.h.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

References _dbiVec::cdel, and _dbiIndex::dbi_vec.

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(), 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 574 of file rpmdb.h.

References _dbiVec::cget, and _dbiIndex::dbi_vec.

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

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

References _dbiIndex::dbi_vec, 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, dbiStat(), dbiTagsMax, dbiTagToDbix(), errno, _dbiVec::open, PBM_ALLOC, 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 594 of file rpmdb.h.

References _dbiVec::cpget, and _dbiIndex::dbi_vec.

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

References _dbiVec::cput, and _dbiIndex::dbi_vec.

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

References _dbiIndex::dbi_vec, 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 675 of file rpmdb.h.

References _dbiIndex::dbi_vec, 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 646 of file rpmdb.h.

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

Referenced by rpmdbVerify().


Variable Documentation

int(* _dbiVec::associate)(dbiIndex dbi, dbiIndex dbisecondary, int (*callback) (DB *, DBT *, 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 Sun Oct 26 13:02:10 2003 for rpm by doxygen1.2.18