mariadb/bdb/docs/api_c/db_verify.html
2001-03-04 19:42:05 -05:00

150 lines
8.2 KiB
HTML

<!--$Id: db_verify.so,v 10.3 2000/04/11 15:13:51 dda Exp $-->
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<html>
<head>
<title>Berkeley DB: DB-&gt;verify</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table><tr valign=top>
<td>
<h1>DB-&gt;verify</h1>
</td>
<td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include &lt;db.h&gt;
<p>
int
DB-&gt;verify(DB *db, const char *file,
const char *database, FILE *outfile, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The DB-&gt;verify function verifies the integrity of all databases in the
file specified by the file argument, and optionally outputs the databases'
key/data pairs to a file stream.
<p>The <b>flags</b> parameter must be set to 0 or one of the following
values:
<p><dl compact>
<p><dt><a name="DB_SALVAGE">DB_SALVAGE</a><dd>Write the key/data pairs from all databases in the file to the file stream
named in
the <b>outfile</b> argument. The output format is the same as that
specified for the <a href="../utility/db_dump.html">db_dump</a> utility and can be used as input for
the <a href="../utility/db_load.html">db_load</a> utility.
<p>Because the key/data pairs are output in page order as opposed to the sort
order used by <a href="../utility/db_dump.html">db_dump</a>, using DB-&gt;verify to dump key/data
pairs normally produces less than optimal loads for Btree databases.
</dl>
<p>In addition, the following flags may be set by bitwise inclusively <b>OR</b>'ing them into the
<b>flags</b> parameter:
<p><dl compact>
<p><dt><a name="DB_AGGRESSIVE">DB_AGGRESSIVE</a><dd>Output <b>all</b> the key/data pairs in the file that can be found.
By default, DB-&gt;verify does not assume corruption. For example,
if a key/data pair on a page is marked as deleted, it is not then written
to the output file. When DB_AGGRESSIVE is specified, corruption
is assumed, and any key/data pair that can be found is written. In this
case, key/data pairs that are corrupted or have been deleted may appear
in the output (even if the file being salvaged is in no way corrupt), and
the output will almost certainly require editing before being loaded into
a database.
<p><dt><a name="DB_NOORDERCHK">DB_NOORDERCHK</a><dd>Skip the database checks for btree and duplicate sort order and for
hashing.
<p>The DB-&gt;verify function normally verifies that btree keys and duplicate
items are correctly sorted and hash keys are correctly hashed. If the
file being verified contains multiple databases using differing sorting
or hashing algorithms, some of them must necessarily fail database
verification as only one sort order or hash function can be specified
before DB-&gt;verify is called. To verify files with multiple
databases having differing sorting orders or hashing functions, first
perform verification of the file as a whole by using the
DB_NOORDERCHK flag, and then individually verify the sort order
and hashing function for each database in the file using the
DB_ORDERCHKONLY flag.
<p><dt><a name="DB_ORDERCHKONLY">DB_ORDERCHKONLY</a><dd>Perform the database checks for btree and duplicate sort order and for
hashing, skipped by DB_NOORDERCHK.
<p>When this flag is specified, a <b>database</b> argument should also be
specified, indicating the database in the physical file which is to be
checked. This flag is only safe to use on databases that have already
successfully been verified using DB-&gt;verify with the
DB_NOORDERCHK flag set.
</dl>
<p>The database argument must be set to NULL except when the
DB_ORDERCHKONLY flag is set.
<p>The DB-&gt;verify function returns a non-zero error value on failure, 0 on success, and <a href="../ref/program/errorret.html#DB_VERIFY_BAD">DB_VERIFY_BAD</a> if a database is corrupted. When the
DB_SALVAGE flag is specified, the <a href="../ref/program/errorret.html#DB_VERIFY_BAD">DB_VERIFY_BAD</a> return
means that all key/data pairs in the file may not have been successfully
output.
<p>The DB-&gt;verify function is the underlying function used by the <a href="../utility/db_verify.html">db_verify</a> utility.
See the <a href="../utility/db_verify.html">db_verify</a> utility source code for an example of using DB-&gt;verify
in a IEEE/ANSI Std 1003.1 (POSIX) environment.
<h1>Environment Variables</h1>
<p><dl compact>
<p><dt>DB_HOME<dd>If the <b>dbenv</b> argument to <a href="../api_c/db_create.html">db_create</a> was initialized using
<a href="../api_c/env_open.html">DBENV-&gt;open</a> the environment variable <b>DB_HOME</b> may be used
as the path of the database environment home. Specifically, DB-&gt;verify
is affected by the configuration value DB_DATA_DIR.
</dl>
<h1>Errors</h1>
<p>The DB-&gt;verify function may fail and return a non-zero error for the following conditions:
<p><dl compact>
<p><dt>EINVAL<dd>An invalid flag value or parameter was specified.
</dl>
<p>The DB-&gt;verify function 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-&gt;verify function may fail and return
<a href="../ref/program/errorret.html#DB_RUNRECOVERY">DB_RUNRECOVERY</a>, in which case all subsequent Berkeley DB calls will fail
in the same way.
<h1>See Also</h1>
<a href="../api_c/db_create.html">db_create</a>,
<a href="../api_c/db_close.html">DB-&gt;close</a>,
<a href="../api_c/db_cursor.html">DB-&gt;cursor</a>,
<a href="../api_c/db_del.html">DB-&gt;del</a>,
<a href="../api_c/db_err.html">DB-&gt;err</a>,
<a href="../api_c/db_fd.html">DB-&gt;fd</a>,
<a href="../api_c/db_get.html">DB-&gt;get</a>,
<a href="../api_c/db_get_byteswapped.html">DB-&gt;get_byteswapped</a>,
<a href="../api_c/db_get_type.html">DB-&gt;get_type</a>,
<a href="../api_c/db_join.html">DB-&gt;join</a>,
<a href="../api_c/db_key_range.html">DB-&gt;key_range</a>,
<a href="../api_c/db_open.html">DB-&gt;open</a>,
<a href="../api_c/db_put.html">DB-&gt;put</a>,
<a href="../api_c/db_remove.html">DB-&gt;remove</a>,
<a href="../api_c/db_set_bt_compare.html">DB-&gt;set_bt_compare</a>,
<a href="../api_c/db_set_bt_minkey.html">DB-&gt;set_bt_minkey</a>,
<a href="../api_c/db_set_bt_prefix.html">DB-&gt;set_bt_prefix</a>,
<a href="../api_c/db_set_cachesize.html">DB-&gt;set_cachesize</a>,
<a href="../api_c/db_set_dup_compare.html">DB-&gt;set_dup_compare</a>,
<a href="../api_c/db_set_errcall.html">DB-&gt;set_errcall</a>,
<a href="../api_c/db_set_errfile.html">DB-&gt;set_errfile</a>,
<a href="../api_c/db_set_errpfx.html">DB-&gt;set_errpfx</a>,
<a href="../api_c/db_set_flags.html">DB-&gt;set_flags</a>,
<a href="../api_c/db_set_h_ffactor.html">DB-&gt;set_h_ffactor</a>,
<a href="../api_c/db_set_h_hash.html">DB-&gt;set_h_hash</a>,
<a href="../api_c/db_set_h_nelem.html">DB-&gt;set_h_nelem</a>,
<a href="../api_c/db_set_lorder.html">DB-&gt;set_lorder</a>,
<a href="../api_c/db_set_malloc.html">DB-&gt;set_malloc</a>,
<a href="../api_c/db_set_pagesize.html">DB-&gt;set_pagesize</a>,
<a href="../api_c/db_set_paniccall.html">DB-&gt;set_paniccall</a>,
<a href="../api_c/db_set_q_extentsize.html">DB-&gt;set_q_extentsize</a>,
<a href="../api_c/db_set_realloc.html">DB-&gt;set_realloc</a>,
<a href="../api_c/db_set_re_delim.html">DB-&gt;set_re_delim</a>,
<a href="../api_c/db_set_re_len.html">DB-&gt;set_re_len</a>,
<a href="../api_c/db_set_re_pad.html">DB-&gt;set_re_pad</a>,
<a href="../api_c/db_set_re_source.html">DB-&gt;set_re_source</a>,
<a href="../api_c/db_stat.html">DB-&gt;stat</a>,
<a href="../api_c/db_sync.html">DB-&gt;sync</a>,
<a href="../api_c/db_upgrade.html">DB-&gt;upgrade</a>
and
<a href="../api_c/db_verify.html">DB-&gt;verify</a>.
</tt>
<table><tr><td><br></td><td width="1%">
<a href="../api_c/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>