rpmtxn.c | rpmtxn.c | |||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
#include "debug.h" | #include "debug.h" | |||
/*@access rpmdb @*/ | /*@access rpmdb @*/ | |||
/*@access dbiIndex @*/ | /*@access dbiIndex @*/ | |||
int _rpmtxn_debug = 0; | int _rpmtxn_debug = 0; | |||
uint32_t rpmtxnId(rpmtxn txn) | uint32_t rpmtxnId(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
uint32_t rc = (_txn ? _txn->id(_txn) : 0); | uint32_t rc = (_txn ? _txn->id(_txn) : 0); | |||
return rc; | return rc; | |||
} | } | |||
const char * rpmtxnName(rpmtxn txn) | const char * rpmtxnName(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
const char * N = NULL; | const char * N = NULL; | |||
int rc = (_txn ? _txn->get_name(_txn, &N) : ENOTSUP); | int rc = (_txn ? _txn->get_name(_txn, &N) : ENOTSUP); | |||
rc = rc; | rc = rc; | |||
return N; | return N; | |||
} | } | |||
int rpmtxnSetName(rpmtxn txn, const char * N) | int rpmtxnSetName(rpmtxn txn, const char * N) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
int rc = (_txn ? _txn->set_name(_txn, N) : ENOTSUP); | int rc = (_txn ? _txn->set_name(_txn, N) : ENOTSUP); | |||
if (_rpmtxn_debug) | if (_rpmtxn_debug) | |||
fprintf(stderr, "<-- %s(%p,%s) rc %d\n", "txn->set_name", _txn, N, rc); | fprintf(stderr, "<-- %s(%p,%s) rc %d\n", "txn->set_name", _txn, N, rc); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnAbort(rpmtxn txn) | int rpmtxnAbort(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
int rc = (_txn ? _txn->abort(_txn) : ENOTSUP); | int rc = (_txn ? _txn->abort(_txn) : ENOTSUP); | |||
if (_rpmtxn_debug) | if (_rpmtxn_debug) | |||
fprintf(stderr, "<-- %s(%p) rc %d\n", "txn->abort", _txn, rc); | fprintf(stderr, "<-- %s(%p) rc %d\n", "txn->abort", _txn, rc); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnBegin(rpmdb rpmdb, rpmtxn parent, rpmtxn * txnp) | int rpmtxnBegin(rpmdb rpmdb, rpmtxn parent, rpmtxn * txnp) | |||
{ | { | |||
DB_ENV * dbenv = (rpmdb ? rpmdb->db_dbenv : NULL); | DB_ENV * dbenv = (DB_ENV *) (rpmdb ? rpmdb->db_dbenv : NULL); | |||
DB_TXN * _parent = parent; | DB_TXN * _parent = (DB_TXN *) parent; | |||
DB_TXN * _txn = NULL; | DB_TXN * _txn = NULL; | |||
u_int32_t _flags = 0; | u_int32_t _flags = 0; | |||
int rc = (dbenv && rpmdb->_dbi[0]->dbi_eflags & DB_INIT_TXN) | int rc = (dbenv && rpmdb->_dbi[0]->dbi_eflags & DB_INIT_TXN) | |||
? dbenv->txn_begin(dbenv, _parent, &_txn, _flags) : ENOTSUP; | ? dbenv->txn_begin(dbenv, _parent, &_txn, _flags) : ENOTSUP; | |||
if (!rc) { | if (!rc) { | |||
if (txnp != NULL) | if (txnp != NULL) | |||
*txnp = _txn; | *txnp = _txn; | |||
else | else | |||
rpmdb->db_txn = _txn; | rpmdb->db_txn = _txn; | |||
} | } | |||
if (_rpmtxn_debug) | if (_rpmtxn_debug) | |||
fprintf(stderr, "<-- %s(%p,%p,%p,0x%x) txn %p rc %d\n", "dbenv->txn_begin", dbenv, _parent, &_txn, (unsigned)_flags, _txn, rc); | fprintf(stderr, "<-- %s(%p,%p,%p,0x%x) txn %p rc %d\n", "dbenv->txn_begin", dbenv, _parent, &_txn, (unsigned)_flags, _txn, rc); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnCommit(rpmtxn txn) | int rpmtxnCommit(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
u_int32_t _flags = 0; | u_int32_t _flags = 0; | |||
int rc = (_txn ? _txn->commit(_txn, _flags) : ENOTSUP); | int rc = (_txn ? _txn->commit(_txn, _flags) : ENOTSUP); | |||
if (_rpmtxn_debug) | if (_rpmtxn_debug) | |||
fprintf(stderr, "<-- %s(%p,0x%x) rc %d\n", "txn->commit", _txn, (unsigned)_ flags, rc); | fprintf(stderr, "<-- %s(%p,0x%x) rc %d\n", "txn->commit", _txn, (unsigned)_ flags, rc); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnCheckpoint(rpmdb rpmdb) | int rpmtxnCheckpoint(rpmdb rpmdb) | |||
{ | { | |||
DB_ENV * dbenv = (rpmdb ? rpmdb->db_dbenv : NULL); | DB_ENV * dbenv = (DB_ENV *) (rpmdb ? rpmdb->db_dbenv : NULL); | |||
u_int32_t _kbytes = 0; | u_int32_t _kbytes = 0; | |||
u_int32_t _minutes = 0; | u_int32_t _minutes = 0; | |||
u_int32_t _flags = 0; | u_int32_t _flags = 0; | |||
int rc = (dbenv && rpmdb->_dbi[0]->dbi_eflags & DB_INIT_TXN) | int rc = (dbenv && rpmdb->_dbi[0]->dbi_eflags & DB_INIT_TXN) | |||
? dbenv->txn_checkpoint(dbenv, _kbytes, _minutes, _flags) : ENOTSUP; | ? dbenv->txn_checkpoint(dbenv, _kbytes, _minutes, _flags) : ENOTSUP; | |||
if (_rpmtxn_debug) | if (_rpmtxn_debug) | |||
fprintf(stderr, "<-- %s(%p,%u,%u,0x%x) rc %d\n", "dbenv->txn_checkpoint", d benv, (unsigned)_kbytes, (unsigned)_minutes, (unsigned)_flags, rc); | fprintf(stderr, "<-- %s(%p,%u,%u,0x%x) rc %d\n", "dbenv->txn_checkpoint", d benv, (unsigned)_kbytes, (unsigned)_minutes, (unsigned)_flags, rc); | |||
return rc; | return rc; | |||
} | } | |||
#ifdef NOTYET | #ifdef NOTYET | |||
int rpmtxnDiscard(rpmtxn txn) | int rpmtxnDiscard(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
uint32_t _flags = 0; | uint32_t _flags = 0; | |||
int rc = (_txn ? _txn->discard(_txn, _flags) : ENOTSUP); | int rc = (_txn ? _txn->discard(_txn, _flags) : ENOTSUP); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnPrepare(rpmtxn txn) | int rpmtxnPrepare(rpmtxn txn) | |||
{ | { | |||
DB_TXN * _txn = txn; | DB_TXN * _txn = (DB_TXN *) txn; | |||
uint8_t _gid[DB_GID_SIZE] = {0}; | uint8_t _gid[DB_GID_SIZE] = {0}; | |||
int rc = (_txn ? _txn->prepare(_txn, _gid) : ENOTSUP); | int rc = (_txn ? _txn->prepare(_txn, _gid) : ENOTSUP); | |||
return rc; | return rc; | |||
} | } | |||
int rpmtxnRecover(rpmdb rpmdb) | int rpmtxnRecover(rpmdb rpmdb) | |||
{ | { | |||
DB_ENV * dbenv = rpmdb->db_dbenv; | DB_ENV * dbenv = (DB_ENV *) rpmdb->db_dbenv; | |||
DB_PREPLIST _preplist[32]; | DB_PREPLIST _preplist[32]; | |||
long _count = (sizeof(_preplist) / sizeof(_preplist[0])); | long _count = (sizeof(_preplist) / sizeof(_preplist[0])); | |||
long _got = 0; | long _got = 0; | |||
uint32_t _flags = DB_FIRST; | uint32_t _flags = DB_FIRST; | |||
int rc = 0; | int rc = 0; | |||
int i; | int i; | |||
while (1) { | while (1) { | |||
rc = dbenv->txn_recover(dbenv, _preplist, _count, &_got, _flags); | rc = dbenv->txn_recover(dbenv, _preplist, _count, &_got, _flags); | |||
_flags = DB_NEXT; | _flags = DB_NEXT; | |||
End of changes. 10 change blocks. | ||||
11 lines changed or deleted | 11 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |