Db::upgrade
|

|
#include <db_cxx.h>
int
Db::open(const char *name, u_int32_t flags);
Description
The Db::upgrade method upgrades the database represented by name,
if necessary. If no upgrade is necessary, Db::upgrade returns
successfully.
The flags parameter is currently unused, and must be set to 0.
Note: Database upgrades are done in place and are destructive, e.g., 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
upgraded. See Upgrading databases for
more information.
The Db::upgrade
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.
Environment Variables
- DB_HOME
- If the dbenv argument to db_create was initialized using
DbEnv::open the environment variable DB_HOME may be used
as the path of the database home for the interpretation of the dir.
Specifically, Db::upgrade is affected by the configuration string value of
DB_DATA_DIR.
Errors
If a fatal error occurs in Berkeley DB, the Db::upgrade method will fail and either
return DB_RUNRECOVERY or throw an exception encapsulating
DB_RUNRECOVERY, at which point all subsequent database calls will
fail in the same way.
In addition, the Db::upgrade
method may fail and throw an exception
or return a non-zero error
for the following conditions:
- DB_OLD_VERSION
- The database cannot be upgraded by this version of the Berkeley DB software.
In addition, the Db::upgrade method may fail and
throw an exception or return a non-zero error
for errors specified for other Berkeley DB and C library or system methods.
Class
Db
See Also
Db::close,
Db::cursor,
Db::del,
Db::err,
Db::fd,
Db::get,
Db::get_byteswapped,
Db::get_type,
Db::join,
Db::open,
Db::put,
Db::remove,
Db::set_bt_compare,
Db::set_bt_minkey,
Db::set_bt_prefix,
Db::set_cachesize,
Db::set_dup_compare,
Db::set_errcall,
Db::set_errfile,
Db::set_errpfx,
Db::set_flags,
Db::set_h_ffactor,
Db::set_h_hash,
Db::set_h_nelem,
Db::set_lorder,
Db::set_malloc,
Db::set_pagesize,
Db::set_paniccall,
Db::set_realloc,
Db::set_re_delim,
Db::set_re_len,
Db::set_re_pad,
Db::set_re_source,
Db::stat,
Db::sync
and
Db::upgrade.
Copyright Sleepycat Software