Viewing file: env_set_flags.html (5.86 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Berkeley DB: DbEnv::set_flags
DbEnv::set_flags
|

|
#include <db_cxx.h>
int
DbEnv::set_flags(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 DbEnv::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 DbEnv::set_mp_mmapsize method 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 DbEnv::set_flags 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 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 DbEnv::set_flags method may fail and throw an exception or return a non-zero error for the following conditions:
- EINVAL
- An invalid flag value or parameter was specified.
The DbEnv::set_flags 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.
If a catastrophic error has occurred, the DbEnv::set_flags method may fail and either
return DB_RUNRECOVERY or throw an exception encapsulating
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
Class
DbEnv
See Also
DbEnv::close,
DbEnv::err, DbEnv::errx
DbEnv::open,
DbEnv::remove,
DbEnv::set_alloc,
DbEnv::set_cachesize,
DbEnv::set_data_dir,
DbEnv::set_errcall,
DbEnv::set_errfile,
DbEnv::set_error_stream,
DbEnv::set_errpfx,
DbEnv::set_feedback,
DbEnv::set_flags,
DbEnv::set_mutexlocks,
DbEnv::set_pageyield,
DbEnv::set_paniccall,
DbEnv::set_panicstate,
DbEnv::set_recovery_init,
DbEnv::set_rpc_server,
DbEnv::set_region_init,
DbEnv::set_shm_key,
DbEnv::set_tas_spins,
DbEnv::set_tmp_dir,
DbEnv::set_verbose,
DbEnv::strerror
and
DbEnv::version.
Copyright Sleepycat Software
|