DB_SEQUENCE->open()
#include <db.h>
int
DB_SEQUENCE->open(DB_SEQUENCE *seq, DB_TXN *txnid, DBT *key,
u_int32_t flags); The DB_SEQUENCE->open() method opens the sequence represented by the key. The key must be compatible with the underlying database specified in the corresponding call to db_sequence_create.
The DB_SEQUENCE->open() method returns a non-zero error value on failure and 0 on success.
Parameters
key
The key specifies which record in the database stores the persistent sequence data.
flags
The flags parameter must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:
DB_CREATECreate the sequence. If the sequence does not already exist and the
DB_CREATEflag is not specified, theDB_SEQUENCE->open()method will fail.DB_EXCLReturn an error if the sequence already exists. This flag is only meaningful when specified with the
DB_CREATEflag.DB_THREADCause the DB_SEQUENCE handle returned by
DB_SEQUENCE->open()to be free-threaded; that is, usable by multiple threads within a single address space. Note that if multiple threads create multiple sequences using the same database handle that handle must have been opened specifying this flag.
txnid
If the operation is part of an application-specified transaction, the txnid parameter is a transaction handle returned from DB_ENV->txn_begin(); if the operation is part of a Berkeley DB Concurrent Data Store group, the txnid parameter is a handle returned from DB_ENV->cdsgroup_begin(); otherwise NULL. If no transaction handle is specified, but the operation occurs in a transactional database, the operation will be implicitly transaction protected. Transactionally protected operations on a DB_SEQUENCE handle require the DB_SEQUENCE handle itself be transactionally protected during its open if the open creates the sequence.