Sindbad~EG File Manager
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Db::convert()</title>
<link rel="stylesheet" href="apiReference.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB C++ API Reference" />
<link rel="up" href="db.html" title="Chapter 2. The Db Handle" />
<link rel="prev" href="dbcompact.html" title="Db::compact()" />
<link rel="next" href="db_copy.html" title="db_copy" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 18.1.40</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">
<span xmlns="http://www.w3.org/1999/xhtml">Db::convert()</span>
</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="dbcompact.html">Prev</a> </td>
<th width="60%" align="center">Chapter 2.
The Db Handle
</th>
<td width="20%" align="right"> <a accesskey="n" href="db_copy.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="dbconvert"></a>
<span>Db::convert()</span>
</h2>
</div>
</div>
</div>
<pre class="programlisting">#include <db_cxx.h>
int
Db::convert(const char *file, u_int32_t lorder);</pre>
<p>
The <code class="methodname">Db::convert()</code> method converts all of the databases included in
the file <span class="bold"><strong>file</strong></span> to a specified byte order, if necessary.
If no conversion is necessary, <code class="methodname">Db::convert()</code> always returns success.
</p>
<p>
If the database is partitioned, <a class="xref" href="dbset_partition.html" title="Db::set_partition()">
<span>Db::set_partition()</span>
</a>
must be called before this method in order to convert all database partitions.
</p>
<p>
<span class="bold"><strong>Database conversions are done in place and are
destructive. For example, if pages need to be allocated and no disk
space is available, the database may be left corrupted. Backups
should be made before databases are converted.</strong></span>
</p>
<p>
The <code class="methodname">Db::convert()</code> method is non-atomic
when used on a partitioned or sliced database, or a database with
multiple queue extent files. If the operation fails, it is
possible for the underlying database files to be in an
inconsistent state.
</p>
<p>
The <code class="methodname">Db::convert()</code> <span>
<span>
method either returns a non-zero error value or throws an
exception that encapsulates a non-zero error value on
failure, and returns 0 on success.
</span>
</span>
</p>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idm139755631610912"></a>Parameters</h3>
</div>
</div>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a id="idm139755631619776"></a>file</h4>
</div>
</div>
</div>
<p>
The <span class="bold"><strong>file</strong></span> parameter is the physical
file containing the databases to be converted.
</p>
</div>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a id="idm139755631765232"></a>lorder</h4>
</div>
</div>
</div>
<p>
The <span class="bold"><strong>lorder</strong></span> parameter should represent
the byte order as an integer; for example, big endian order is the number
4,321, and little endian order is the number 1,234.
</p>
</div>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idm139755631728176"></a>Environment Variables</h3>
</div>
</div>
</div>
<p>
If the database was opened within a database environment, the
environment variable <code class="literal">DB_HOME</code> may be used as the path of the
database environment home.
</p>
<p>
<code class="methodname">Db::convert()</code> is affected by any database directory specified using the
<a class="xref" href="envadd_data_dir.html" title="DbEnv::add_data_dir()">
<span>DbEnv::add_data_dir()</span>
</a>
method, or by setting the "add_data_dir" string
in the environment's <a href="../../programmer_reference/env_db_config.html#env_db_config.DB_CONFIG" class="olink">DB_CONFIG</a> file.
</p>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idm139755631890384"></a>Errors</h3>
</div>
</div>
</div>
<p>
The <code class="methodname">Db::convert()</code> <span>
<span>
method may fail and throw a <a class="link" href="dbexception.html" title="Chapter 6. The DbException Class">DbException</a>
exception, encapsulating one of the following non-zero errors, or return one
of the following non-zero errors:
</span>
</span>
</p>
<div class="sect3" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h4 class="title"><a id="idm139755632083520"></a>EINVAL</h4>
</div>
</div>
</div>
<p>
The database is corrupted or the the database is encrypted but
the password is not provided.
</p>
</div>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idm139755632043792"></a>Class</h3>
</div>
</div>
</div>
<p>
<a class="link" href="db.html" title="Chapter 2. The Db Handle">Db</a>
</p>
</div>
<div class="sect2" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="idm139755632229472"></a>See Also</h3>
</div>
</div>
</div>
<p>
<a class="xref" href="db.html#dblist" title="Database and Related Methods">Database and Related Methods</a>
</p>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="dbcompact.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="db.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="db_copy.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">
<span>Db::compact()</span>
</td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> db_copy</td>
</tr>
</table>
</div>
</body>
</html>
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists