Lines Matching defs:txnp
376 txn_commit(txnp)
377 DB_TXN *txnp;
383 mgr = txnp->mgrp;
386 if ((ret = __txn_check_running(txnp, NULL)) != 0)
397 !IS_ZERO_LSN(txnp->last_lsn)) {
398 if (txnp->parent == NULL)
399 ret = __txn_regop_log(logp, txnp, &txnp->last_lsn,
403 ret = __txn_child_log(logp, txnp, &txnp->last_lsn, 0,
404 TXN_COMMIT, txnp->parent->txnid);
415 if (txnp->parent == NULL)
416 __txn_freekids(txnp);
418 return (__txn_end(txnp, 1));
426 txn_abort(txnp)
427 DB_TXN *txnp;
432 TXN_PANIC_CHECK(txnp->mgrp);
433 if ((ret = __txn_check_running(txnp, NULL)) != 0)
436 for (kids = TAILQ_FIRST(&txnp->kids);
438 kids = TAILQ_FIRST(&txnp->kids))
441 if ((ret = __txn_undo(txnp)) != 0) {
442 __db_err(txnp->mgrp->dbenv,
446 return (__txn_end(txnp, 0));
454 txn_prepare(txnp)
455 DB_TXN *txnp;
462 if ((ret = __txn_check_running(txnp, &td)) != 0)
465 dbenv = txnp->mgrp->dbenv;
479 (ret = __txn_xa_regop_log(dbenv->lg_info, txnp, &txnp->last_lsn,
480 F_ISSET(txnp->mgrp, DB_TXN_NOSYNC) ? 0 : DB_FLUSH, TXN_PREPARE,
487 LOCK_TXNTHREAD(txnp->mgrp);
489 UNLOCK_TXNTHREAD(txnp->mgrp);
497 txn_id(txnp)
498 DB_TXN *txnp;
500 return (txnp->txnid);
511 DB_TXN *txnp;
523 while ((txnp =
525 if ((t_ret = txn_abort(txnp)) != 0) {
526 __txn_end(txnp, 0);
579 * Return 0 if the txnp is reasonable, otherwise returns EINVAL.
582 __txn_check_running(txnp, tdp)
583 const DB_TXN *txnp;
589 if (txnp != NULL && txnp->mgrp != NULL && txnp->mgrp->region != NULL) {
590 tp = (TXN_DETAIL *)((u_int8_t *)txnp->mgrp->region + txnp->off);
605 __txn_end(txnp, is_commit)
606 DB_TXN *txnp;
615 mgr = txnp->mgrp;
618 locker = txnp->txnid;
619 request.op = txnp->parent == NULL ||
624 lock_tvec(mgr->dbenv->lk_info, txnp, 0, &request, 1, NULL);
641 tp = (TXN_DETAIL *)((u_int8_t *)mgr->region + txnp->off);
642 if (txnp->parent == NULL || !is_commit) {
662 if (txnp->parent != NULL && !is_commit)
663 TAILQ_REMOVE(&txnp->parent->kids, txnp, klinks);
666 if (F_ISSET(txnp, TXN_MALLOC) && (txnp->parent == NULL || !is_commit)) {
668 TAILQ_REMOVE(&mgr->txn_chain, txnp, links);
671 __os_free(txnp, sizeof(*txnp));
684 __txn_undo(txnp)
685 DB_TXN *txnp;
693 mgr = txnp->mgrp;
707 key_lsn = txnp->last_lsn; /* structure assignment */
745 TXN_DETAIL *txnp;
803 for (txnp =
805 txnp != NULL;
806 txnp = SH_TAILQ_NEXT(txnp, links, __txn_detail)) {
812 if (!IS_ZERO_LSN(txnp->begin_lsn) &&
813 log_compare(&txnp->begin_lsn, &ckp_lsn) < 0)
814 ckp_lsn = txnp->begin_lsn;
926 TXN_DETAIL *txnp;
962 for (txnp = SH_TAILQ_FIRST(&mgr->region->active_txn, __txn_detail);
963 txnp != NULL;
964 txnp = SH_TAILQ_NEXT(txnp, links, __txn_detail)) {
965 stats->st_txnarray[ndx].txnid = txnp->txnid;
966 stats->st_txnarray[ndx].lsn = txnp->begin_lsn;
984 __txn_freekids(txnp)
985 DB_TXN *txnp;
991 mgr = txnp->mgrp;
993 for (kids = TAILQ_FIRST(&txnp->kids);
995 kids = TAILQ_FIRST(&txnp->kids)) {
1009 TAILQ_REMOVE(&txnp->kids, kids, klinks);
1010 if (F_ISSET(txnp, TXN_MALLOC)) {