#include <db.h> int DB->convert(DB *db, const char *file, u_int32_t lorder);
The DB->convert()
method converts all of the databases included in
the file file to a specified byte order, if necessary.
If no conversion is necessary, DB->convert()
always returns success.
If the database is partitioned, DB->set_partition() must be called before this method in order to convert all database partitions.
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.
The DB->convert()
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.
The DB->convert()
method returns a non-zero error value on failure and 0 on success.
The DB->convert()
method is the underlying method used by the db_convert utility. See the
db_convert utility
source code for an example of using DB->convert()
in a IEEE/ANSI Std
1003.1 (POSIX) environment.
If the database was opened within a database environment, the
environment variable DB_HOME
may be used as the path of the
database environment home.
DB->convert()
is affected by any database directory specified using the
DB_ENV->add_data_dir()
method, or by setting the "add_data_dir" string
in the environment's DB_CONFIG file.
The DB->convert()
method may fail and return one of the following non-zero errors: