2011-09-13 17:44:24 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" / >
< title > DB_ENV-> txn_stat()< / title >
< link rel = "stylesheet" href = "apiReference.css" type = "text/css" / >
< meta name = "generator" content = "DocBook XSL Stylesheets V1.73.2" / >
< link rel = "start" href = "index.html" title = "Berkeley DB C API Reference" / >
< link rel = "up" href = "txn.html" title = "Chapter 12. The DB_TXN Handle" / >
< link rel = "prev" href = "txncheckpoint.html" title = "DB_ENV->txn_checkpoint()" / >
< link rel = "next" href = "txnstat_print.html" title = "DB_ENV->txn_stat_print()" / >
< / head >
< body >
< div xmlns = "" class = "navheader" >
< div class = "libver" >
2012-11-14 21:35:20 +00:00
< p > Library Version 11.2.5.3< / p >
2011-09-13 17:44:24 +00:00
< / div >
< table width = "100%" summary = "Navigation header" >
< tr >
< th colspan = "3" align = "center" > DB_ENV-> txn_stat()< / th >
< / tr >
< tr >
< td width = "20%" align = "left" > < a accesskey = "p" href = "txncheckpoint.html" > Prev< / a > < / td >
< th width = "60%" align = "center" > Chapter 12.
The DB_TXN Handle
< / th >
< td width = "20%" align = "right" > < a accesskey = "n" href = "txnstat_print.html" > Next< / a > < / td >
< / tr >
< / table >
< hr / >
< / div >
< div class = "sect1" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
< h2 class = "title" style = "clear: both" > < a id = "txnstat" > < / a > DB_ENV-> txn_stat()< / h2 >
< / div >
< / div >
< / div >
< pre class = "programlisting" > #include < db.h>
int
DB_ENV-> txn_stat(DB_ENV *env, DB_TXN_STAT **statp, u_int32_t flags); < / pre >
< p >
The < code class = "methodname" > DB_ENV-> txn_stat()< / code > method returns the transaction subsystem
statistics.
< / p >
< p >
The < code class = "methodname" > DB_ENV-> txn_stat()< / code > method creates a statistical structure of type
< code class = "literal" > DB_TXN_STAT< / code > and copies a pointer to it into a user-specified memory
location.
< / p >
< p >
Statistical structures are stored in allocated memory. If
application-specific allocation routines have been declared (see
< a class = "xref" href = "envset_alloc.html" title = "DB_ENV->set_alloc()" > DB_ENV-> set_alloc()< / a >
for more information), they are used to allocate the memory;
otherwise, the standard C library < span class = "bold" > < strong > malloc< / strong > < / span > (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.
< / p >
< p >
The following DB_TXN_STAT fields will be filled in:
< / p >
< div class = "itemizedlist" >
< ul type = "disc" >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_inittxns;< / strong > < / span >
< / p >
< p >
The initial number of transactions configured.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > DB_LSN st_last_ckp;< / strong > < / span >
< / p >
< p >
The LSN of the last checkpoint.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_last_txnid;< / strong > < / span >
< / p >
< p >
The last transaction ID allocated.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_maxnactive;< / strong > < / span >
< / p >
< p >
The maximum number of active transactions at any one time.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_maxnsnapshot;< / strong > < / span >
< / p >
< p >
The maximum number of transactions on the snapshot list at any one
time.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_maxtxns;< / strong > < / span >
< / p >
< p >
The maximum number of active transactions configured.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > uintmax_t st_naborts;< / strong > < / span >
< / p >
< p >
The number of transactions that have aborted.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_nactive;< / strong > < / span >
< / p >
< p >
The number of transactions that are currently active.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > uintmax_t st_nbegins;< / strong > < / span >
< / p >
< p >
The number of transactions that have begun.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > uintmax_t st_ncommits;< / strong > < / span >
< / p >
< p >
The number of transactions that have committed.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_nrestores;< / strong > < / span >
< / p >
< p >
The number of transactions that have been restored.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t st_nsnapshot;< / strong > < / span >
< / p >
< p >
The number of transactions on the snapshot list. These are
transactions which modified a database opened with
< a class = "link" href = "dbopen.html#dbopen_DB_MULTIVERSION" > DB_MULTIVERSION< / a > ,
and which have committed or aborted, but the copies of pages they
created are still in the cache.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > uintmax_t st_region_nowait;< / strong > < / span >
< / p >
< p >
The number of times that a thread of control was able to obtain the
transaction region mutex without waiting.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > uintmax_t st_region_wait;< / strong > < / span >
< / p >
< p >
The number of times that a thread of control was forced to wait before
obtaining the transaction region mutex.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > roff_t st_regsize;< / strong > < / span >
< / p >
< p >
The region size, in bytes.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > time_t st_time_ckp;< / strong > < / span >
< / p >
< p >
The time the last completed checkpoint finished (as the number of
seconds since the Epoch, returned by the IEEE/ANSI Std 1003.1 (POSIX)
< span class = "bold" > < strong > time< / strong > < / span > function).
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > DB_TXN_ACTIVE *st_txnarray;< / strong > < / span >
< / p >
< p >
A pointer to an array of < span class = "bold" > < strong > st_nactive< / strong > < / span >
DB_TXN_ACTIVE structures, describing the currently active
transactions. The following fields of the DB_TXN_ACTIVE structure will
be filled in:
< / p >
< div class = "itemizedlist" >
< ul type = "circle" >
< li >
< p >
< span class = "bold" > < strong > u_int32_t txnid;< / strong > < / span >
< / p >
< p >
The transaction ID of the transaction.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t parentid;< / strong > < / span >
< / p >
< p >
The transaction ID of the parent transaction (or 0, if no parent).
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > pid_t pid;< / strong > < / span >
< / p >
< p >
The process ID of the originator of the transaction.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > db_threadid_t tid;< / strong > < / span >
< / p >
< p >
The thread of control ID of the originator of the transaction.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > DB_LSN lsn;< / strong > < / span >
< / p >
< p >
The current log sequence number when the transaction was begun.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > DB_LSN read_lsn;< / strong > < / span >
< / p >
< p >
The log sequence number of reads for snapshot transactions.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t mvcc_ref;< / strong > < / span >
< / p >
< p >
The number of buffer copies created by this transaction that remain
in cache.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t priority;< / strong > < / span >
< / p >
< p >
This transaction's deadlock resolution priority.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t status;< / strong > < / span >
< / p >
< p >
Provides one of the following constants,
indicating the transaction status:
< / p >
< table class = "simplelist" border = "0" summary = "Simple list" >
< tr >
< td > TXN_ABORTED< / td >
< / tr >
< tr >
< td > TXN_COMMITTED< / td >
< / tr >
< tr >
< td > TXN_NEED_ABORT< / td >
< / tr >
< tr >
< td > TXN_PREPARED< / td >
< / tr >
< tr >
< td > TXN_RUNNING< / td >
< / tr >
< / table >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int32_t xa_status;< / strong > < / span >
< / p >
< p >
Provides one of the following constants, which indicate the
XA status:
< / p >
< table class = "simplelist" border = "0" summary = "Simple list" >
< tr >
< td > TXN_XA_ACTIVE< / td >
< / tr >
< tr >
< td > TXN_XA_DEADLOCKED< / td >
< / tr >
< tr >
< td > TXN_XA_IDLE< / td >
< / tr >
< tr >
< td > TXN_XA_PREPARED< / td >
< / tr >
< tr >
< td > TXN_XA_ROLLEDBACK< / td >
< / tr >
< / table >
< / li >
< li >
< p >
< span class = "bold" > < strong > u_int8_t gid[DB_GID_SIZE];< / strong > < / span >
< / p >
< p >
If the transaction was prepared using
< a class = "xref" href = "txnprepare.html" title = "DB_TXN->prepare()" > DB_TXN-> prepare()< / a > , then
< span class = "bold" > < strong > gid< / strong > < / span > contains the
transaction's Global ID. Otherwise,
< span class = "bold" > < strong > gid's< / strong > < / span > contents are undefined.
< / p >
< / li >
< li >
< p >
< span class = "bold" > < strong > char name[];< / strong > < / span >
< / p >
< p >
If a name was specified for the transaction, up to the first 50 bytes
of that name, followed by a nul termination byte.
< / p >
< / li >
< / ul >
< / div >
< / li >
< / ul >
< / div >
< p >
The < code class = "methodname" > DB_ENV-> txn_stat()< / code > method may not be called before the
< a class = "xref" href = "envopen.html" title = "DB_ENV->open()" > DB_ENV-> open()< / a > method is called.
< / p >
< p >
The < code class = "methodname" > DB_ENV-> txn_stat()< / code > < span >
< span >
method returns a non-zero error value on failure and 0 on success.
< / span >
< / span >
< / p >
< div class = "sect2" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h3 class = "title" > < a id = "idp62839144" > < / a > Parameters< / h3 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< div class = "sect3" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h4 class = "title" > < a id = "idp62839856" > < / a > statp< / h4 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
The < span class = "bold" > < strong > statp< / strong > < / span > parameter references memory
into which a pointer to the allocated statistics structure is copied.
< / p >
< / div >
< div class = "sect3" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h4 class = "title" > < a id = "idp62871592" > < / a > flags< / h4 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
The < span class = "bold" > < strong > flags< / strong > < / span > parameter must be set to 0
or the following value:
< / p >
< div class = "itemizedlist" >
< ul type = "disc" >
< li >
< p >
< code class = "literal" > DB_STAT_CLEAR< / code >
< / p >
< p >
Reset statistics after returning their values.
< / p >
< / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "sect2" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h3 class = "title" > < a id = "idp62867864" > < / a > Errors< / h3 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
The < code class = "methodname" > DB_ENV-> txn_stat()< / code > < span >
< span >
method may fail and return one of the following non-zero errors:
< / span >
< / span >
< / p >
< div class = "sect3" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h4 class = "title" > < a id = "idp62875480" > < / a > EINVAL< / h4 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
An invalid flag value or parameter was specified.
< / p >
< / div >
< / div >
< div class = "sect2" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h3 class = "title" > < a id = "idp62770624" > < / a > Class< / h3 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
< a class = "link" href = "env.html" title = "Chapter 5. The DB_ENV Handle" > DB_ENV< / a > , < a class = "link" href = "txn.html" title = "Chapter 12. The DB_TXN Handle" > DB_TXN< / a >
< / p >
< / div >
< div class = "sect2" lang = "en" xml:lang = "en" >
< div class = "titlepage" >
< div >
< div >
2012-11-14 21:35:20 +00:00
< h3 class = "title" > < a id = "idp62878760" > < / a > See Also< / h3 >
2011-09-13 17:44:24 +00:00
< / div >
< / div >
< / div >
< p >
< a class = "xref" href = "txn.html#txnlist" title = "Transaction Subsystem and Related Methods" > Transaction Subsystem and Related Methods< / a >
< / p >
< / div >
< / div >
< div class = "navfooter" >
< hr / >
< table width = "100%" summary = "Navigation footer" >
< tr >
< td width = "40%" align = "left" > < a accesskey = "p" href = "txncheckpoint.html" > Prev< / a > < / td >
< td width = "20%" align = "center" >
< a accesskey = "u" href = "txn.html" > Up< / a >
< / td >
< td width = "40%" align = "right" > < a accesskey = "n" href = "txnstat_print.html" > Next< / a > < / td >
< / tr >
< tr >
< td width = "40%" align = "left" valign = "top" > DB_ENV-> txn_checkpoint() < / td >
< td width = "20%" align = "center" >
< a accesskey = "h" href = "index.html" > Home< / a >
< / td >
< td width = "40%" align = "right" valign = "top" > DB_ENV-> txn_stat_print()< / td >
< / tr >
< / table >
< / div >
< / body >
< / html >