# 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