head 1.2; access; symbols RPM_4_2_1:1.1.1.5 RPM_4_2:1.1.1.5 RPM_4_1_1:1.1.1.5 RPM_4_1:1.1.1.4 RPM_4_0_5:1.1.1.3 RPM_4_0_4:1.1.1.2 RPM_4_0_3:1.1.1.1 RPM:1.1.1; locks; strict; comment @# @; 1.2 date 2008.01.02.09.52.51; author rse; state dead; branches; next 1.1; commitid z4cpSiAhOCXk5PLs; 1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2002.01.08.00.30.08; author rse; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2003.01.18.13.48.55; author rse; state Exp; branches; next 1.1.1.4; 1.1.1.4 date 2001.12.06.00.07.57; author rse; state Exp; branches; next 1.1.1.5; 1.1.1.5 date 2003.01.18.14.04.56; author rse; state Exp; branches; next ; desc @@ 1.2 log @remove the ancient RPM 4.2.1 source tree copy @ text @
DB->stat |
![]() ![]() |
#include <db.h>int DB->stat(DB *db, void *sp, u_int32_t flags);
The DB->stat function creates a statistical structure and copies a pointer to it into user-specified memory locations. Specifically, if sp is non-NULL, a pointer to the statistics for the database are copied into the memory location to which it refers.
Statistical structures are created in allocated memory. If application-specific allocation routines have been declared (see DB_ENV->set_alloc for more information), they are used to allocate the memory; otherwise, the library function malloc(3) is used. The caller is responsible for deallocating the memory. To deallocate the memory, free the memory reference; references inside the returned memory need not be individually freed.
The flags value must be set to 0 or one of the following values:
Among other things, this flag makes it possible for applications to request key and record counts without incurring the performance penalty of traversing the entire database. If the underlying database is of type Recno, or of type Btree and the database was created with the DB_RECNUM flag, the count of keys will be exact. Otherwise, the count of keys will be the value saved the last time the database was traversed, or 0 if no count of keys has ever been made. If the underlying database is of type Recno, the count of data items will be exact, otherwise, the count of data items will be the value saved the last time the database was traversed, or 0 if no count of data items has ever been done.
If the DB_FAST_STAT flag has not been specified, the DB->stat function will access some of or all the pages in the database, incurring a severe performance penalty as well as possibly flushing the underlying buffer pool.
In the presence of multiple threads or processes accessing an active database, the information returned by DB->stat may be out-of-date.
If the database was not opened read-only and the DB_FAST_STAT flag was not specified, the cached key and record numbers will be updated after the statistical information has been gathered.
The DB->stat function cannot be transaction-protected. For this reason, it should be called in a thread of control that has no open cursors or active transactions.
The DB->stat function returns a non-zero error value on failure and 0 on success.
In the case of a Hash database, the statistics are stored in a structure of type DB_HASH_STAT. The following fields will be filled in:
In the case of a Btree or Recno database, the statistics are stored in a structure of type DB_BTREE_STAT. The following fields will be filled in:
For the Recno Access Method, the exact number of records in the database.
For the Recno Access Method, the exact number of records in the database. If the database has been configured to not renumber records during deletion, the count of records will only reflect undeleted records.
In the case of a Queue database, the statistics are stored in a structure of type DB_QUEUE_STAT. The following fields will be filled in:
The DB->stat function returns a non-zero error value on failure and 0 on success.
The DB->stat function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->stat function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
![]() ![]() |
Copyright Sleepycat Software @ 1.1 log @Initial revision @ text @d1 1 a1 1 @ 1.1.1.1 log @Import: RPM 4.0.3 @ text @@ 1.1.1.2 log @Import: RPM 4.0.4 @ text @d1 1 a1 1 d162 1 @ 1.1.1.3 log @Import: RPM 4.0.5 @ text @d1 2 a2 2 a3 1 d28 1 a28 1
The DB->stat method creates a statistical structure and d35 1 a35 1 library malloc(3) interface is used. The caller is d42 4 d60 4 d66 1 a66 1 DB->stat method will access some of or all the pages in the database, d74 1 a74 1
The DB->stat method cannot be transaction-protected. For this reason, d77 1 a77 1
The DB->stat method returns a non-zero error value on failure and 0 on success. d92 1 d163 1 a163 1
The DB->stat method returns a non-zero error value on failure and 0 on success. d167 4 a170 6
The DB->stat method may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->stat method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
The DB->stat function creates a statistical structure and d36 1 a36 1 library function malloc(3) is used. The caller is a42 4
The DB->stat function cannot be transaction-protected. For this reason, d70 1 a70 1
The DB->stat function returns a non-zero error value on failure and 0 on success. a84 1
The DB->stat function returns a non-zero error value on failure and 0 on success. d159 6 a164 4
The DB->stat function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->stat function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way. d166 1 a166 46 db_create, DB->associate, DB->close, DB->cursor, DB->del, DB->err, DB->errx DB->fd, DB->get, DB->pget, DB->get_byteswapped, DB->get_type, DB->join, DB->key_range, DB->open, DB->put, DB->remove, DB->rename, DB->set_alloc, DB->set_append_recno, DB->set_bt_compare, DB->set_bt_minkey, DB->set_bt_prefix, DB->set_cachesize, DB->set_dup_compare, DB->set_errcall, DB->set_errfile, DB->set_errpfx, DB->set_feedback, DB->set_flags, DB->set_h_ffactor, DB->set_h_hash, DB->set_h_nelem, DB->set_lorder, DB->set_pagesize, DB->set_paniccall, DB->set_q_extentsize, DB->set_re_delim, DB->set_re_len, DB->set_re_pad, DB->set_re_source, DB->stat, DB->sync, DB->truncate, DB->upgrade, and DB->verify. @ 1.1.1.5 log @Import: RPM 4.1.1 @ text @d1 2 a2 2 a3 1 d28 1 a28 1
The DB->stat method creates a statistical structure and d35 1 a35 1 library malloc(3) interface is used. The caller is d42 4 d60 4 d66 1 a66 1 DB->stat method will access some of or all the pages in the database, d74 1 a74 1
The DB->stat method cannot be transaction-protected. For this reason, d77 1 a77 1
The DB->stat method returns a non-zero error value on failure and 0 on success. d92 1 d163 1 a163 1
The DB->stat method returns a non-zero error value on failure and 0 on success. d167 4 a170 6
The DB->stat method may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->stat method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.