DB_ENV->set_flags
|
|
#include <db.h>
int
DB_ENV->set_flags(DB_ENV *dbenv, u_int32_t flags, int onoff);
Description
The flags value must be set to 0 or by bitwise inclusively OR'ing together one or
more of the following values:
If onoff is set to
zero,
the specified flags are cleared; otherwise they are set.
- DB_CDB_ALLDB
- For Berkeley DB Concurrent Data Store applications, perform locking on an environment-wide basis
rather than per-database. This flag may be used only to configure Berkeley DB
before the DB_ENV->open interface is called.
- DB_NOMMAP
- Copy read-only database files in this environment into the local cache
instead of potentially mapping them into process memory (see the
description of the DB_ENV->set_mp_mmapsize function for further information).
- DB_TXN_NOSYNC
- Do not synchronously flush the log on transaction commit or prepare.
This means that transactions exhibit the ACI (atomicity, consistency,
and isolation) properties, but not D (durability); that is, database
integrity will be maintained, but it is possible that some number of the
most recently committed transactions may be undone during recovery.
The number of transactions potentially at risk is governed by how often
the log is checkpointed (see db_checkpoint for more information)
and how many log updates can fit into the log buffer.
The DB_ENV->set_flags function returns a non-zero error value on failure and 0 on success.
The database environment's flag values may also be set 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 interface flag argument 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.
Errors
The DB_ENV->set_flags function may fail and return a non-zero error for the following conditions:
- EINVAL
- An invalid flag value or parameter was specified.
The DB_ENV->set_flags function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB_ENV->set_flags function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
See Also
db_env_create,
DB_ENV->close,
DB_ENV->err, DB_ENV->errx
DB_ENV->open,
DB_ENV->remove,
DB_ENV->set_alloc,
DB_ENV->set_cachesize,
DB_ENV->set_data_dir,
DB_ENV->set_errcall,
DB_ENV->set_errfile,
DB_ENV->set_errpfx,
DB_ENV->set_feedback,
DB_ENV->set_flags,
DB_ENV->set_mutexlocks,
db_env_set_pageyield,
DB_ENV->set_paniccall,
db_env_set_panicstate,
DB_ENV->set_recovery_init,
DB_ENV->set_rpc_server,
db_env_set_region_init,
DB_ENV->set_shm_key,
db_env_set_tas_spins,
DB_ENV->set_tmp_dir,
DB_ENV->set_verbose,
db_strerror
and
db_version.
Copyright Sleepycat Software