DB_ENV->txn_begin API Ref

#include <db.h>

int DB_ENV->txn_begin(DB_ENV *env, DB_TXN *parent, DB_TXN **tid, u_int32_t flags);


Description: DB_ENV->txn_begin

The DB_ENV->txn_begin method creates a new transaction in the environment and copies a pointer to a DB_TXN that uniquely identifies it into the memory to which tid refers. Calling the DB_TXN->abort, DB_TXN->commit or DB_TXN->discard methods will discard the returned handle.

Note: Transactions may only span threads if they do so serially; that is, each transaction must be active in only a single thread of control at a time. This restriction holds for parents of nested transactions as well; no two children may be concurrently active in more than one thread of control at any one time.

Note: Cursors may not span transactions; that is, each cursor must be opened and closed within a single transaction.

Note: A parent transaction may not issue any Berkeley DB operations -- except for DB_ENV->txn_begin, DB_TXN->abort and DB_TXN->commit -- while it has active child transactions (child transactions that have not yet been committed or aborted).

The DB_ENV->txn_begin method returns a non-zero error value on failure and 0 on success.

Parameters
flags parent

Errors

The DB_ENV->txn_begin method may fail and return one of the following non-zero errors:


ENOMEM


Class DB_ENV, DB_TXN
See Also Transaction Subsystem and Related Methods

APIRef

Copyright (c) 1996,2008 Oracle. All rights reserved.