DB_ENV->set_flags |
#include <db.h>int DB_ENV->set_flags(DB_ENV *dbenv, u_int32_t flags, int onoff);
int DB_ENV->get_flags(DB_ENV *dbenv, u_int32_t *flagsp);
Configure a database environment.
The database environment's flag values may also be configured using the environment's DB_CONFIG file. The syntax of the entry in that file is a single line with the string "set_flags", one or more whitespace characters, and the method flag parameter as a string; for example, "set_flags DB_TXN_NOSYNC". Because the DB_CONFIG file is read when the database environment is opened, it will silently overrule configuration done before that time.
The DB_ENV->set_flags method returns a non-zero error value on failure and 0 on success.
Calling DB_ENV->set_flags with the DB_AUTO_COMMIT flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_AUTO_COMMIT flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_AUTO_COMMIT flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_CDB_ALLDB flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_CDB_ALLDB flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_CDB_ALLDB flag may be used to configure Berkeley DB only before the DB_ENV->open method is called.
Calling DB_ENV->set_flags with the DB_DIRECT_DB flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_DIRECT_DB flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_DIRECT_DB flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_DIRECT_LOG flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_DIRECT_LOG flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_DIRECT_LOG flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_DSYNC_DB flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_DSYNC_DB flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_DSYNC_DB flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_DSYNC_LOG flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_DSYNC_LOG flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_DSYNC_LOG flag may be used to configure Berkeley DB at any time during the life of the application.
Automatic log file removal is likely to make catastrophic recovery impossible.
Replication applications will rarely want to configure automatic log file removal as it increases the likelihood a master will be unable to satisfy a client's request for a recent log record.
Calling DB_ENV->set_flags with the DB_LOG_AUTOREMOVE flag affects the database environment, including all threads of control accessing the database environment.
The DB_LOG_AUTOREMOVE flag may be used to configure Berkeley DB at any time during the life of the application.
When in-memory logs are configured and no more log buffer space is available, Berkeley DB methods may return an additional error value, DB_LOG_BUFFER_FULL. When choosing log buffer and file sizes for in-memory logs, applications should ensure the in-memory log buffer size is large enough that no transaction will ever span the entire buffer, and avoid a state where the in-memory buffer is full and no space can be freed because a transaction that started in the first log "file" is still active.
Calling DB_ENV->set_flags with the DB_LOG_INMEMORY flag affects the database environment, including all threads of control accessing the database environment.
The DB_LOG_INMEMORY flag may be used to configure Berkeley DB only before the DB_ENV->open method is called.
Calling DB_ENV->set_flags with the DB_MULTIVERSION flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_MULTIVERSION flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_MULTIVERSION flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_NOLOCKING flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle).
The DB_NOLOCKING flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_NOMMAP flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_NOMMAP flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_NOMMAP flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_NOPANIC flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle).
The DB_NOPANIC flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_OVERWRITE flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle).
The DB_OVERWRITE flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_PANIC_ENVIRONMENT flag affects the database environment, including all threads of control accessing the database environment.
The DB_PANIC_ENVIRONMENT flag may be used to configure Berkeley DB only after the DB_ENV->open method is called.
Calling DB_ENV->set_flags with the DB_REGION_INIT flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_REGION_INIT flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_REGION_INIT flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_TIME_NOTGRANTED flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_TIME_NOTGRANTED flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_TIME_NOTGRANTED flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_TXN_NOSYNC flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_TXN_NOSYNC flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_TXN_NOSYNC flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_TXN_NOWAIT flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_TXN_NOWAIT flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_TXN_NOWAIT flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_TXN_SNAPSHOT flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_TXN_SNAPSHOT flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_TXN_SNAPSHOT flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_TXN_WRITE_NOSYNC flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_TXN_WRITE_NOSYNC flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_TXN_WRITE_NOSYNC flag may be used to configure Berkeley DB at any time during the life of the application.
Calling DB_ENV->set_flags with the DB_YIELDCPU flag only affects the specified DB_ENV handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all DB_ENV handles opened in the environment must either set the DB_YIELDCPU flag or the flag should be specified in the DB_CONFIG configuration file.
The DB_YIELDCPU flag may be used to configure Berkeley DB at any time during the life of the application.
The DB_ENV->set_flags method may fail and return one of the following non-zero errors:
The DB_ENV->get_flags method returns the configuration flags.
The DB_ENV->get_flags method may be called at any time during the life of the application.
The DB_ENV->get_flags method returns a non-zero error value on failure and 0 on success.
Copyright (c) 1996,2007 Oracle. All rights reserved.