#include <db_cxx.h> int DbEnv::fileid_reset(const char *file, u_int32_t flags);
The DbEnv::fileid_reset()
method allows database files to be copied,
and then the copy used in the same database environment as the
original.
All databases contain an ID string used to identify the database in
the database environment cache. If a physical database file is
copied, and used in the same environment as another file with the same
ID strings, corruption can occur. The DbEnv::fileid_reset()
method
creates new ID strings for all of the databases in the physical file.
The DbEnv::fileid_reset()
method modifies the physical file,
in-place. Applications should not reset IDs in files that are
currently in use.
The DbEnv::fileid_reset()
method may be called at any time during
the life of the application.
The DbEnv::fileid_reset()
method is a
non-atomic operation. If the operation fails, it is possible for the
copied database to be in an inconsistent state.
The DbEnv::fileid_reset()
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.
The DbEnv::fileid_reset()
method may fail and throw a DbException
exception, encapsulating one of the following non-zero errors, or return one
of the following non-zero errors: