Figaro - The XML Database for the .NET Framework
Assembly: Figaro.BerkeleyDb.Xml (in Figaro.BerkeleyDb.Xml.dll) Version: 2.4.16.1 (2.4.16.1)
Used by
SetEnvironmentOption(EnvConfig, Boolean)
to set the different
FigaroEnv subsystems and
settings for each of the following below.
Namespace:
Figaro.BerkeleyDBAssembly: Figaro.BerkeleyDb.Xml (in Figaro.BerkeleyDb.Xml.dll) Version: 2.4.16.1 (2.4.16.1)
Syntax
| C# |
|---|
public enum EnvConfig |
| Visual Basic (Declaration) |
|---|
Public Enumeration EnvConfig |
| Visual C++ |
|---|
public enum class EnvConfig |
Members
| Member name | Description | |
|---|---|---|
| None | No flags set. | |
| AutoCommit |
If set, database handle operations for which no explicit transaction handle was specified, and which modify databases in the
database environment, will be automatically enclosed within a transaction.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the AutoCommit flag only affects the specified FigaroEnv handle (and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment, all FigaroEnv handles opened in the environment must also set the AutoCommit flag. The AutoCommit flag may be used at any time during the life of the application. | |
| AllConcurrentDatabases |
If set, Figaro CDS applications will perform locking on an environment-wide basis
rather than on a per-database basis.
Calling
SetEnvironmentOption(EnvConfig, Boolean) with
the AllConcurrentDatabases flag only affects the specified
FigaroEnv handle (and any other Berkeley DB handles
opened within the scope of that handle). For consistent behavior across
the environment, all FigaroEnv handles opened in the
environment must also set the AllConcurrentDatabases flag.
The AllConcurrentDatabases flag may be used only before the
Open(String, EnvOpenOptions) method is called.
| |
| DirectDB |
Turn off system buffering of Berkeley DB database files to avoid double caching.
Calling SetEnvironmentOption(EnvConfig, Boolean) with theDirectDB flag only affects the
specified FigaroEnv handle (and any other Berkeley DB handles opened within the scope of that handle).
For consistent behavior across the environment, all FigaroEnv handles opened in the
environment must set this flag.
TheDirectDB flag may be used at any time during the life of the application.
| |
| DirectLog |
Turn off system buffering of Berkeley DB log files to avoid double caching.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the DirectLog flag only
affects the specified FigaroEnv handle
(and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across
the environment, all FigaroEnv handles opened in the
environment must also set this flag.
The DirectLog flag may be used at any time during the life of the application.
| |
| SyncDB |
Configure Berkeley DB to flush database writes to the backing disk before returning from the
write system call, rather than flushing database writes explicitly in a separate system call,
as necessary.
This is only available on some systems (for example, systems supporting the
IEEE/ANSI Std 1003.1 (POSIX) standard O_DSYNC flag, or systems supporting the Windows
FILE_FLAG_WRITE_THROUGH flag). This flag may result in inaccurate file modification times and
other file-level information for Berkeley DB database files. This flag will almost certainly
result in a performance decrease on most systems. This flag is only applicable to certain
filesysystem (for example, the Veritas VxFS filesystem), where the filesystem's support for
trickling writes back to stable storage behaves badly (or more likely, has been misconfigured).
Calling SetEnvironmentOption(EnvConfig, Boolean) with the SyncDB flag only affects the
specified FigaroEnv handle (and any other Berkeley DB handles opened within the scope of
that handle). For consistent behavior across the environment, all FigaroEnv handles opened
in the environment must set the SyncDB flag.
The SyncDB flag may be used at any time during the life of
the application.
| |
| SyncLog |
Configure Berkeley DB to flush log writes to the backing disk before returning from the
write system call, rather than flushing log writes explicitly in a separate system call, as
necessary.
This is only available on some systems (for example, systems supporting the IEEE/ANSI Std
1003.1 (POSIX) standard O_DSYNC flag, or systems supporting the Windows FILE_FLAG_WRITE_THROUGH
flag). This flag may result in inaccurate file modification times and other file-level information
for Berkeley DB log files. This flag may offer a performance increase on some systems and a
performance decrease on others.
Calling SetEnvironmentOption(EnvConfig, Boolean) with
the SyncLog flag only affects the specified FigaroEnv handle
(and any other Berkeley DB handles opened within the scope of that handle). For consistent behavior across the environment,
all FigaroEnv handles opened in the environment must also set the SyncLog flag.
The SyncLog flag may be used at any time during the life of the application.
| |
| AutoLogRemove |
If set, Berkeley DB will automatically remove log files that are no longer needed.
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 SetEnvironmentOption(EnvConfig, Boolean) with the AutoLogRemove flag
affects the database environment, including all threads of control accessing the database environment.
The AutoLogRemove flag may be used at any time during the life of the application.
| |
| LogInMemory |
If set, maintain transaction logs in memory rather than on disk.
This means that transactions exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability){} that is,
database integrity will be maintained, but if the application or system fails, integrity will not persist. All database files must
be verified and/or restored from a replication group master or archival backup after application or system failure.
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 SetEnvironmentOption(EnvConfig, Boolean)
with the LogInMemory flag affects the
database environment, including all threads of control accessing the database environment.
The LogInMemory flag may be used only before the
Open(String, EnvOpenOptions) method is called.
| |
| MultiVersion |
Open the database with support for multiversion concurrency control. This will cause updates to the
database to follow a copy-on-write protocol, which is required to support snapshot isolation.This
flag requires that the database be transactionally protected during its open and is not supported
by the queue format.
If set, all databases in the environment will be opened with this flag.
This flag may be used at any time during the
life of the application.
| |
| NoLocking |
If set, Berkeley DB will grant all requested mutual exclusion mutexes and database locks without regard for their actual availability.
This functionality should never be used for purposes other than debugging.
Calling SetEnvironmentOption(EnvConfig, Boolean)
with the NoLocking flag only affects the
specified FigaroEnv handle (and any other Berkeley DB handles opened within
the scope of that handle).
The NoLocking flag may be used at any time during the life of the application.
| |
| NoProcessMemoryMap |
Berkeley DB will copy read-only database files into the local cache instead of potentially mapping
them into process memory.
The NoProcessMemoryMap flag
may be used at any time during the life of the application.
| |
| NoPanic |
If set, Berkeley DB will ignore any panic state in the database environment
(Database environments in a panic state normally refuse all attempts to call Berkeley
DB functions, throwing RunRecoveryException). This functionality should never be used for
purposes other than debugging.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
NoPanic flag only affects the specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
The NoPanic flag may be used at any time during the
life of the application.
| |
| Overwrite |
Overwrite files stored in encrypted formats before deleting them.
Berkeley DB overwrites files using alternating 0xff, 0x00 and 0xff byte patterns. For file
overwriting to be effective, the underlying file must be stored on a fixed-block
filesystem. Systems with journaling or logging filesystems will require operating
system support and probably modification of the Berkeley DB sources.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
Overwrite flag only affects the specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
The Overwrite flag may be used at any time
during the life of the application.
| |
| PanicEnvironment |
If set, Berkeley DB will set the panic state for the database environment.
(Database environments in a panic state normally refuse all attempts to call
Berkeley DB functions, throwing RunRecoveryException.)
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
PanicEnvironment flag affects the database environment, including
all threads of control accessing the database environment.
The PanicEnvironment flag may be used only
after the Open(String, EnvOpenOptions) method is called.
| |
| RegionInit |
In some applications, the expense of page-faulting the underlying shared memory
regions can affect performance. (For example, if the page-fault occurs while holding
a lock, other lock requests can convoy, and overall throughput may decrease.)
If set, Berkeley DB will page-fault shared regions into memory when initially creating
or joining a Berkeley DB environment. In addition, Berkeley DB will write the shared
regions when creating an environment, forcing the underlying virtual memory and
filesystems to instantiate both the necessary memory and the necessary disk space.
This can also avoid out-of-disk space failures later on.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
RegionInit flag only affects the specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle). For
consistent behavior across the environment, all FigaroEnv
handles opened in the environment must set the RegionInit flag.
The RegionInit flag may be used at any time
during the life of the application.
| |
| TimeNotGranted |
If set, database calls timing out based on lock or transaction timeout values will
throw a DBLockNotGrantedException exception instead of
DBDeadlockException. This
allows applications to distinguish between operations which have deadlocked and
operations which have exceeded their time limits.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
TimeNotGranted flag only affects the specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
The TimeNotGranted flag may be used at any time
during the life of the application.
| |
| NoSyncTransaction |
If set, Berkeley DB will not write or synchronously flush the log on transaction
commit. This means that transactions exhibit the ACI (atomicity, consistency, and
isolation) properties, but not D (durability){} that is, database integrity will be
maintained, but if the application or system fails, it is possible some number of
the most recently committed transactions may be undone during recovery.
The number of transactions at risk is governed by how many log updates can fit into the log
buffer, how often the operating system flushes dirty buffers to disk, and how often
the log is checkpointed.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
NoSyncTransaction flag only affects the
specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
For consistent behavior across the environment, all FigaroEnv
handles opened in the environment must set the NoSyncTransaction flag.
The NoSyncTransaction flag may be used at any time during the
life of the application.
| |
| NoWaitTransaction |
If set and a lock is unavailable for any Berkeley DB operation performed in the
context of a transaction, cause the operation to throw a DBDeadlockException
exception (or throw a DBLockNotGrantedException exception if configured using
the TimeNotGranted flag).
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
NoWaitTransaction flag only affects the
specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
For consistent behavior across the environment, all FigaroEnv
handles opened in the environment must set the NoWaitTransaction flag.
The NoWaitTransaction flag may be used at any time during
the life of the application.
| |
| SnapshotTransaction |
If set, all transactions in the environment will be started as if it
were passed to the
FigaroEnv transaction
subsystem.
Calling SetEnvironmentOption(EnvConfig, Boolean)
with the this flag only affects the specified
FigaroEnv handle (and any
other Berkeley DB handles opened within the scope of that handle).
This flag may be used at any time
during the life of the application.
| |
| WriteNoSyncTransaction |
If set, Berkeley DB will write, but will not synchronously flush, the log on
transaction commit. This means that transactions exhibit the ACI (atomicity, consistency,
and isolation) properties, but not D (durability){} that is, database integrity will
be maintained, but if the system fails, it is possible some number of the most
recently committed transactions may be undone during recovery.
The number of transactions at risk is governed by how often the system flushes dirty buffers to
disk and how often the log is checkpointed.
Calling SetEnvironmentOption(EnvConfig, Boolean) with the
WriteNoSyncTransaction flag only affects the specified FigaroEnv
handle (and any other Berkeley DB handles opened within the scope of that handle).
For consistent behavior across the environment, all FigaroEnv
handles opened in the environment must set the WriteNoSyncTransaction flag.
The WriteNoSyncTransaction flag may be used at any time
during the life of the application.
| |
| YieldCpu |
If set, Berkeley DB will yield the processor immediately after each page or mutex
acquisition. This functionality should never be used for purposes other than stress
testing.
Calling SetEnvironmentOption(EnvConfig, Boolean)
with the YieldCpu
flag only affects the specified FigaroEnv handle (and any other
Berkeley DB handles opened within the scope of that handle). For consistent behavior
the environment, all FigaroEnv handles opened in the environment
must set the YieldCpu flag.
The YieldCpu flag may be used at any time during the
life of the application.
|