db_create
|
|
#include <db.h>
int
db_create(DB **dbp, DB_ENV *dbenv, u_int32_t flags);
Description
The db_create method creates a DB structure that is the
handle for a Berkeley DB database. A pointer to this structure is returned
in the memory to which db refers. Calling the
DB->close, DB->remove or DB->rename methods will
discard the returned handle.
If the dbenv argument is NULL, the database is standalone; that
is, it is not part of any Berkeley DB environment.
If the dbenv argument is not NULL, the database is created
within the specified Berkeley DB environment. The database access methods
automatically make calls to the other subsystems in Berkeley DB, based on the
enclosing environment. For example, if the environment has been
configured to use locking, the access methods will automatically acquire
the correct locks when reading and writing pages of the database.
The flags value must be set to 0 or
the following value:
- DB_XA_CREATE
- Instead of creating a standalone database, create a database intended
to be accessed via applications running under an X/Open conformant
Transaction Manager. The database will be opened in the environment
specified by the OPENINFO parameter of the GROUPS section of the
ubbconfig file. See the XA
Introduction section in the Berkeley DB Reference Guide for more information.
The DB handle contains a special field, "app_private", which
is declared as type "void *". This field is provided for the use of
the application program. It is initialized to NULL and is not further
used by Berkeley DB in any way.
The db_create method returns a non-zero error value on failure and 0 on success.
Errors
The db_create method may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the db_create method may fail and
return DB_RUNRECOVERY,
in which case all subsequent Berkeley DB calls will fail in the same way.
Class
DB
See Also
Databases and Related Methods
Copyright Sleepycat Software
|