,I$Berkeley DB: txn_stat[P

txn_stat





#include <db.h>

inttxn_stat(DB_TXNMGR *txnp,5 DB_TXN_STAT **statp, void *(*db_malloc)(size_t));





Description

Emethod creates a statistical structure and copies pointers to it into user-specified memory locations.

6Statistical structure are created in allocated memory.IfBdb_malloc is non-NULL, it is called to allocate the memory,:otherwise, the library function malloc(3)) is used.CThe function db_malloc must match the calling conventions of&the malloc(3)) library routine.CRegardless, the caller is responsible for deallocating the returnedmemory.ETo deallocate the returned memory, free each returned memory pointer;@pointers inside the memory do not need to be individually freed.

CThe transaction region statistics are stored in a structure of typeADB_TXN_STAT. The following DB_TXN_STAT fields will be filled in:

F

u_int32_t st_refcnt;
The number of references to the region.4
u_int32_t st_regsize;
The size of the region.:
DB_LSN st_last_ckp;
The LSN of the last checkpoint.Z
DB_LSN st_pending_ckp;
The LSN of any checkpoint that is currently in progress. If=st_pending_ckp is the same as st_last_ckp thereis no checkpoint in progress.Z
time_t st_time_ckp;
The time the last completed checkpoint finished (as returned bytime(2)).B
u_int32_t st_last_txnid;
The last transaction ID allocated._
u_int32_t st_maxtxns;
The maximum number of active transactions supported by the region.J
u_int32_t st_naborts;
The number of transactions that have aborted.R
u_int32_t st_nactive;
The number of transactions that are currently active.H
u_int32_t st_nbegins;
The number of transactions that have begun.M
u_int32_t st_ncommits;
The number of transactions that have committed.g
u_int32_t st_region_wait;
The number of times that a thread of control was forced to wait beforeobtaining the region lock.b
u_int32_t st_region_nowait;
The number of times that a thread of control was able to obtain the region lock without waiting.h
DB_TXN_ACTIVE * st_txnarray;
A pointer to an array of st_nactive DB_TXN_ACTIVE structures,Fdescribing the currently active transactions. The following fields of.the DB_TXN_ACTIVE structure will be filled in:
u

u_int32_t txnid;
The transaction ID as returned by txn_begin.K
DB_LSN lsn;
The log sequence number of the transaction-begin record.



The txn_statHfunction returns the value of errno on failure, and 0 on success.



Errors

QIf a fatal error occurs in Berkeley DB, the txn_stat function may fail and returnFDB_RUNRECOVERY, at which point all subsequent database calls will alsoreturn DB_RUNRECOVERY.

The txn_stat)function may fail and return errnoKfor any of the errors specified for the following Berkeley DB and C library functions: abort(3), fcntl(3), fprintf(3), getpid(3), malloc(3),and memset(3).



See Also

5txn_abort,8txn_begin,Btxn_checkpoint,8txn_close,7txn_commit,/txn_id,6txn_open,9txn_prepare,txn_statand:txn_unlink.
ÿÿ