// must be called under an environment and parent lock DbRetVal TxnBegin(DB_TXN* parxp, Txn txn, Txn.BeginFlags flags) { DbRetVal ret; RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { DB_TXN* txp; DB_ENV* evp = CheckDisposed(); ret = evp->TxnBegin(evp, parxp, out txp, unchecked((UInt32)flags)); if (ret == DbRetVal.SUCCESS) { txn.Initialize(txp); transactions.Insert(txn); } } return ret; }
public Txn CdsGroupBegin() { Txn txn = new Txn(this); DbRetVal ret; lock (rscLock) { RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { DB_TXN* txp; DB_ENV* evp = CheckDisposed(); ret = evp->CdsGroupBegin(evp, out txp); if (ret == DbRetVal.SUCCESS) { txn.Initialize(txp); transactions.Insert(txn); } } } Util.CheckRetVal(ret); return txn; }