2
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
<!--All rights reserved.-->
4
<!--See the file LICENSE for redistribution information.-->
7
<title>Berkeley DB: db_create</title>
8
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
12
<a name="2"><!--meow--></a>
13
<table width="100%"><tr valign=top>
18
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
26
db_create(DB **dbp, DB_ENV *dbenv, u_int32_t flags);
29
<p>The db_create method creates a <a href="../api_c/db_class.html">DB</a> structure that is the
30
handle for a Berkeley DB database. A pointer to this structure is returned
31
in the memory to which <b>db</b> refers. Calling the
32
<a href="../api_c/db_close.html">DB->close</a>, <a href="../api_c/db_remove.html">DB->remove</a> or <a href="../api_c/db_rename.html">DB->rename</a> methods will
33
discard the returned handle.
34
<p>If the <b>dbenv</b> argument is NULL, the database is standalone; that
35
is, it is not part of any Berkeley DB environment.
36
<p>If the <b>dbenv</b> argument is not NULL, the database is created
37
within the specified Berkeley DB environment. The database access methods
38
automatically make calls to the other subsystems in Berkeley DB, based on the
39
enclosing environment. For example, if the environment has been
40
configured to use locking, the access methods will automatically acquire
41
the correct locks when reading and writing pages of the database.
42
<p>The <b>flags</b> value must be set to 0 or
45
<p><dt><a name="DB_XA_CREATE">DB_XA_CREATE</a><dd>Instead of creating a standalone database, create a database intended
46
to be accessed via applications running under an X/Open conformant
47
Transaction Manager. The database will be opened in the environment
48
specified by the OPENINFO parameter of the GROUPS section of the
49
ubbconfig file. See the <a href="../ref/xa/xa_intro.html">XA
50
Introduction</a> section in the Berkeley DB Reference Guide for more information.
52
<p>The <a href="../api_c/db_class.html">DB</a> handle contains a special field, "app_private", which
53
is declared as type "void *". This field is provided for the use of
54
the application program. It is initialized to NULL and is not further
55
used by Berkeley DB in any way.
56
<p>The db_create method returns a non-zero error value on failure and 0 on success.
58
<p>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.
59
If a catastrophic error has occurred, the db_create method may fail and
60
return <a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>,
61
in which case all subsequent Berkeley DB calls will fail in the same way.
63
<a href="../api_c/db_class.html">DB</a>
65
<a href="../api_c/db_list.html">Databases and Related Methods</a>
67
<table width="100%"><tr><td><br></td><td align=right>
68
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
70
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>