Files
2020-07-24 00:37:46 +09:00

16749 lines
814 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>libdb_dotnet48</name>
</assembly>
<members>
<member name="T:BerkeleyDB.LSN">
<summary>
A log sequence number, which specifies a unique location in a log file.
</summary>
</member>
<member name="F:BerkeleyDB.LSN.LogFileNumber">
<summary>
The log file number.
</summary>
</member>
<member name="F:BerkeleyDB.LSN.Offset">
<summary>
The offset in the log file.
</summary>
</member>
<member name="M:BerkeleyDB.LSN.#ctor(System.UInt32,System.UInt32)">
<summary>
Instantiate a new LSN object
</summary>
<param name="file">The log file number.</param>
<param name="off">The offset in the log file.</param>
</member>
<member name="M:BerkeleyDB.LSN.Compare(BerkeleyDB.LSN,BerkeleyDB.LSN)">
<summary>
Compare two LSNs.
</summary>
<param name="lsn1">The first LSN to compare</param>
<param name="lsn2">The second LSN to compare</param>
<returns>
0 if they are equal, 1 if lsn1 is greater than lsn2, and -1 if lsn1
is less than lsn2.
</returns>
</member>
<member name="T:BerkeleyDB.HashDatabase">
<summary>
A class representing a HashDatabase. The Hash format is an extensible,
dynamic hashing scheme.
</summary>
</member>
<member name="T:BerkeleyDB.Database">
<summary>
A class representing a Berkeley DB database, a base class for access
method specific classes.
</summary>
</member>
<member name="T:BerkeleyDB.BaseDatabase">
<summary>
The base class from which all database classes inherit
</summary>
</member>
<member name="M:BerkeleyDB.BaseDatabase.#ctor(BerkeleyDB.DatabaseEnvironment,System.UInt32)">
<summary>
Protected constructor
</summary>
<param name="envp">
The environment in which to create this database
</param>
<param name="flags">Flags to pass to the DB->create() method</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.#ctor(BerkeleyDB.BaseDatabase)">
<summary>
Create a new database object with the same underlying DB handle as
<paramref name="clone"/>. Used during Database.Open to get an
object of the correct DBTYPE.
</summary>
<param name="clone">Database to clone</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Open(System.String,System.String,BerkeleyDB.DatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Protected factory method to create and open a new database object.
</summary>
<param name="Filename">The database's filename</param>
<param name="DatabaseName">The subdatabase's name</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
The transaction in which to open the database
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Close">
<summary>
Flush any cached database information to disk, close any open
<see cref="M:BerkeleyDB.BaseDatabase.Cursor"/> objects, free any
allocated resources, and close any underlying files.
</summary>
<overloads>
<para>
Although closing a database will close any open cursors, it is
recommended that applications explicitly close all their Cursor
objects before closing the database. The reason why is that when the
cursor is explicitly closed, the memory allocated for it is
reclaimed; however, this will not happen if you close a database
while cursors are still opened.
</para>
<para>
The same rule, for the same reasons, hold true for
<see cref="T:BerkeleyDB.Transaction"/> objects. Simply make sure you resolve
all your transaction objects before closing your database handle.
</para>
<para>
Because key/data pairs are cached in memory, applications should
make a point to always either close database handles or sync their
data to disk (using <see cref="M:BerkeleyDB.BaseDatabase.Sync"/> before exiting, to
ensure that any data cached in main memory are reflected in the
underlying file system.
</para>
<para>
When called on a database that is the primary database for a
secondary index, the primary database should be closed only after
all secondary indices referencing it have been closed.
</para>
<para>
When multiple threads are using the object concurrently, only a
single thread may call the Close method.
</para>
<para>
The object may not be accessed again after Close is called,
regardless of its outcome.
</para>
</overloads>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Close(System.Boolean)">
<summary>
Optionally flush any cached database information to disk, close any
open <see cref="M:BerkeleyDB.BaseDatabase.Cursor"/> objects, free
any allocated resources, and close any underlying files.
</summary>
<param name="sync">
If false, do not flush cached information to disk.
</param>
<remarks>
<para>
The sync parameter is a dangerous option. It should be set to false
only if the application is doing logging (with transactions) so that
the database is recoverable after a system or application crash, or
if the database is always generated from scratch after any system or
application crash.
</para>
<para>
It is important to understand that flushing cached information to
disk only minimizes the window of opportunity for corrupted data.
Although unlikely, it is possible for database corruption to happen
if a system or application crash occurs while writing data to the
database. To ensure that database corruption never occurs,
applications must either use transactions and logging with automatic
recovery or edit a copy of the database, and once all applications
using the database have successfully called Close, atomically
replace the original database with the updated copy.
</para>
<para>
Note that this parameter only works when the database has been
opened using an environment.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Cursor">
<summary>
Create a database cursor.
</summary>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Cursor(BerkeleyDB.CursorConfig)">
<summary>
Create a database cursor with the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Cursor(BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor.
</summary>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Cursor(BerkeleyDB.CursorConfig,BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor with the given
configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Delete(BerkeleyDB.DatabaseEntry)">
<summary>
Remove key/data pairs from the database. The key/data pair
associated with <paramref name="key"/> is discarded from the
database. In the presence of duplicate key values, all records
associated with the designated key will be discarded.
</summary>
<remarks>
<para>
When called on a secondary database, remove the key/data pair from
the primary database and all secondary indices.
</para>
<para>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected.
</para>
</remarks>
<param name="key">
Discard the key/data pair associated with <paramref name="key"/>.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Delete(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Remove key/data pairs from the database. The key/data pair
associated with <paramref name="key"/> is discarded from the
database. In the presence of duplicate key values, all records
associated with the designated key will be discarded.
</summary>
<remarks>
<para>
When called on a secondary database, remove the key/data pair from
the primary database and all secondary indices.
</para>
<para>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</para>
</remarks>
<param name="key">
Discard the key/data pair associated with <paramref name="key"/>.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Exists(BerkeleyDB.DatabaseEntry)">
<summary>
Check whether <paramref name="key"/> appears in the database.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected.
</remarks>
<param name="key">The key to search for.</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
True if <paramref name="key"/> appears in the database, false
otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Exists(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Check whether <paramref name="key"/> appears in the database.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for.</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
True if <paramref name="key"/> appears in the database, false
otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Exists(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Check whether <paramref name="key"/> appears in the database.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for.</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
True if <paramref name="key"/> appears in the database, false
otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Get(BerkeleyDB.DatabaseEntry)">
<summary>
Retrieve a key/data pair from the database. In the presence of
duplicate key values, Get will return the first data item for
<paramref name="key"/>.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected.
</remarks>
<param name="key">The key to search for</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Get(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Retrieve a key/data pair from the database. In the presence of
duplicate key values, Get will return the first data item for
<paramref name="key"/>.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Get(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Retrieve a key/data pair from the database. In the presence of
duplicate key values, Get will return the first data item for
<paramref name="key"/>.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Get(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo,System.UInt32)">
<summary>
Protected method to retrieve data from the underlying DB handle.
</summary>
<param name="key">
The key to search for. If null a new DatabaseEntry is created.
</param>
<param name="data">
The data to search for. If null a new DatabaseEntry is created.
</param>
<param name="txn">The txn for this operation.</param>
<param name="info">Locking info for this operation.</param>
<param name="flags">
Flags value specifying which type of get to perform. Passed
directly to DB-&gt;get().
</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.GetBoth(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
Retrieve a key/data pair from the database which matches
<paramref name="key"/> and <paramref name="data"/>.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected.
</remarks>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is
<paramref name="data"/>.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.GetBoth(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Retrieve a key/data pair from the database which matches
<paramref name="key"/> and <paramref name="data"/>.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is
<paramref name="data"/>.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.GetBoth(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Retrieve a key/data pair from the database which matches
<paramref name="key"/> and <paramref name="data"/>.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is
<paramref name="data"/>.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.PrintFastStats">
<summary>
Display the database statistical information which does not require
traversal of the database.
</summary>
<remarks>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</remarks>
<overloads>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</overloads>
</member>
<member name="M:BerkeleyDB.BaseDatabase.PrintFastStats(System.Boolean)">
<summary>
Display the database statistical information which does not require
traversal of the database.
</summary>
<remarks>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</remarks>
<param name="PrintAll">
If true, display all available information.
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.PrintStats">
<summary>
Display the database statistical information.
</summary>
<overloads>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</overloads>
</member>
<member name="M:BerkeleyDB.BaseDatabase.PrintStats(System.Boolean)">
<summary>
Display the database statistical information.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Remove(System.String)">
<summary>
Remove the underlying file represented by
<paramref name="Filename"/>, incidentally removing all of the
databases it contained.
</summary>
<param name="Filename">The file to remove</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Remove(System.String,BerkeleyDB.DatabaseEnvironment)">
<summary>
Remove the underlying file represented by
<paramref name="Filename"/>, incidentally removing all of the
databases it contained.
</summary>
<param name="Filename">The file to remove</param>
<param name="DbEnv">
The DatabaseEnvironment the database belongs to
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Remove(System.String,System.String)">
<summary>
Remove the database specified by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<param name="Filename">The file to remove</param>
<param name="DatabaseName">The database to remove</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Remove(System.String,System.String,BerkeleyDB.DatabaseEnvironment)">
<summary>
Remove the database specified by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<overloads>
<para>
Applications should never remove databases with open DB handles, or
in the case of removing a file, when any database in the file has an
open handle. For example, some architectures do not permit the
removal of files with open system handles. On these architectures,
attempts to remove databases currently in use by any thread of
control in the system may fail.
</para>
<para>
Remove should not be called if the remove is intended to be
transactionally safe;
<see cref="M:BerkeleyDB.DatabaseEnvironment.RemoveDB(System.String,System.Boolean)"/> should be
used instead.
</para>
</overloads>
<param name="Filename">The file to remove</param>
<param name="DatabaseName">The database to remove</param>
<param name="DbEnv">
The DatabaseEnvironment the database belongs to
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Rename(System.String,System.String)">
<summary>
Rename the underlying file represented by
<paramref name="Filename"/>, incidentally renaming all of the
databases it contained.
</summary>
<param name="Filename">The file to rename</param>
<param name="NewName">The new filename</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Rename(System.String,System.String,BerkeleyDB.DatabaseEnvironment)">
<summary>
Rename the underlying file represented by
<paramref name="Filename"/>, incidentally renaming all of the
databases it contained.
</summary>
<param name="Filename">The file to rename</param>
<param name="NewName">The new filename</param>
<param name="DbEnv">
The DatabaseEnvironment the database belongs to
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Rename(System.String,System.String,System.String)">
<summary>
Rename the database specified by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<param name="Filename">The file to rename</param>
<param name="DatabaseName">The database to rename</param>
<param name="NewName">The new database name</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Rename(System.String,System.String,System.String,BerkeleyDB.DatabaseEnvironment)">
<summary>
Rename the database specified by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<overloads>
<para>
Applications should not rename databases that are currently in use.
If an underlying file is being renamed and logging is currently
enabled in the database environment, no database in the file may be
open when Rename is called. In particular, some architectures do not
permit renaming files with open handles. On these architectures,
attempts to rename databases that are currently in use by any thread
of control in the system may fail.
</para>
<para>
Rename should not be called if the rename is intended to be
transactionally safe;
<see cref="M:BerkeleyDB.DatabaseEnvironment.RenameDB(System.String,System.String,System.Boolean)"/> should be
used instead.
</para>
</overloads>
<param name="Filename">The file to rename</param>
<param name="DatabaseName">The database to rename</param>
<param name="NewName">The new database name</param>
<param name="DbEnv">
The DatabaseEnvironment the database belongs to
</param>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Sync">
<summary>
Flush any cached information to disk.
</summary>
<remarks>
<para>
If the database is in memory only, Sync has no effect and will
always succeed.
</para>
<para>
It is important to understand that flushing cached information to
disk only minimizes the window of opportunity for corrupted data.
Although unlikely, it is possible for database corruption to happen
if a system or application crash occurs while writing data to the
database. To ensure that database corruption never occurs,
applications must either: use transactions and logging with
automatic recovery or edit a copy of the database, and once all
applications using the database have successfully called
<see cref="M:BerkeleyDB.BaseDatabase.Close"/>, atomically replace
the original database with the updated copy.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Truncate">
<summary>
Empty the database, discarding all records it contains.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected.
</remarks>
<overloads>
When called on a database configured with secondary indices,
Truncate will truncate the primary database and all secondary
indices. A count of the records discarded from the primary database
is returned.
</overloads>
<returns>
The number of records discarded from the database.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Truncate(BerkeleyDB.Transaction)">
<summary>
Empty the database, discarding all records it contains.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The number of records discarded from the database.
</returns>
</member>
<member name="M:BerkeleyDB.BaseDatabase.Dispose">
<summary>
Release the resources held by this object, and close the database if
it's still open.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.AutoCommit">
<summary>
If true, all database modification operations based on this object
will be transactionally protected.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.CacheSize">
<summary>
The size of the shared memory buffer pool -- that is, the cache.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Creation">
<summary>
The CreatePolicy with which this database was opened.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.DatabaseName">
<summary>
The name of this database, if it has one.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.DoChecksum">
<summary>
If true, do checksum verification of pages read into the cache from
the backing filestore.
</summary>
<remarks>
Berkeley DB uses the SHA1 Secure Hash Algorithm if encryption is
configured and a general hash algorithm if it is not.
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.EncryptAlgorithm">
<summary>
The algorithm used by the Berkeley DB library to perform encryption
and decryption.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Encrypted">
<summary>
If true, encrypt all data stored in the database.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Endianness">
<summary>
The database byte order.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.ErrorFeedback">
<summary>
The mechanism for reporting detailed error messages to the
application.
</summary>
<remarks>
<para>
When an error occurs in the Berkeley DB library, a
<see cref="T:BerkeleyDB.DatabaseException"/>, or subclass of DatabaseException,
is thrown. In some cases, however, the exception may be insufficient
to completely describe the cause of the error, especially during
initial application debugging.
</para>
<para>
In some cases, when an error occurs, Berkeley DB will call the given
delegate with additional error information. It is up to the delegate
to display the error message in an appropriate manner.
</para>
<para>
Setting ErrorFeedback to NULL unconfigures the callback interface.
</para>
<para>
This error-logging enhancement does not slow performance or
significantly increase application size, and may be run during
normal operation as well as during application debugging.
</para>
<para>
For databases opened inside of a DatabaseEnvironment, setting
ErrorFeedback affects the entire environment and is equivalent to
setting DatabaseEnvironment.ErrorFeedback.
</para>
<para>
For databases not opened in an environment, setting ErrorFeedback
configures operations performed using the specified object, not all
operations performed on the underlying database.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.ErrorPrefix">
<summary>
The prefix string that appears before error messages issued by
Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
ErrorPrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.ErrorPrefix"/>.
</para>
<para>
Setting ErrorPrefix configures operations performed using the
specified object, not all operations performed on the underlying
database.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Feedback">
<summary>
Monitor progress within long running operations.
</summary>
<remarks>
<para>
Some operations performed by the Berkeley DB library can take
non-trivial amounts of time. The Feedback delegate can be used by
applications to monitor progress within these operations. When an
operation is likely to take a long time, Berkeley DB will call the
specified delegate with progress information.
</para>
<para>
It is up to the delegate to display this information in an
appropriate manner.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.FileName">
<summary>
The filename of this database, if it has one.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.FreeThreaded">
<summary>
If true, the object is free-threaded; that is, concurrently usable
by multiple threads in the address space.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.HasMultiple">
<summary>
If true, the object references a physical file supporting multiple
databases.
</summary>
<remarks>
If true, the object is a handle on a database whose key values are
the names of the databases stored in the physical file and whose
data values are opaque objects. No keys or data values may be
modified or stored using the database handle.
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.InHostOrder">
<summary>
If true, the underlying database files were created on an
architecture of the same byte order as the current one. This
information may be used to determine whether application data needs
to be adjusted for this architecture or not.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.MessagePrefix">
<summary>
The prefix string that appears before informational messages issued
by Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
MessagePrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.MessagePrefix"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.NoMMap">
<summary>
<para>
If true, this database is not mapped into process memory.
</para>
<para>
See <see cref="P:BerkeleyDB.DatabaseEnvironment.MMapSize"/> for further
information.
</para>
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.NonDurableTxns">
<summary>
If true, Berkeley DB will not write log records for this database.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Pagesize">
<summary>
The database's current page size.
</summary>
<remarks> If <see cref="P:BerkeleyDB.DatabaseConfig.PageSize"/> was not set by
your application, then the default pagesize is selected based on the
underlying filesystem I/O block size.
</remarks>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Priority">
<summary>
The cache priority for pages referenced by this object.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.ReadOnly">
<summary>
If true, this database has been opened for reading only. Any attempt
to modify items in the database will fail, regardless of the actual
permissions of any underlying files.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.ReadUncommitted">
<summary>
If true, this database supports transactional read operations with
degree 1 isolation. Read operations on the database may request the
return of modified but not yet committed data.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Transactional">
<summary>
If true, this database has been opened in a transactional mode.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Truncated">
<summary>
If true, the underlying file was physically truncated upon open,
discarding all previous databases it might have held.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.Type">
<summary>
The type of the underlying access method (and file format). This
value may be used to determine the type of the database after an
<see cref="M:BerkeleyDB.Database.Open(System.String,BerkeleyDB.DatabaseConfig)"/>.
</summary>
</member>
<member name="P:BerkeleyDB.BaseDatabase.UseMVCC">
<summary>
If true, the database was opened with support for multiversion
concurrency control.
</summary>
</member>
<member name="M:BerkeleyDB.Database.#ctor(BerkeleyDB.DatabaseEnvironment,System.UInt32)">
<summary>
Protected constructor
</summary>
<param name="env">
The environment in which to create this database
</param>
<param name="flags">Flags to pass to the DB->create() method</param>
</member>
<member name="M:BerkeleyDB.Database.#ctor(BerkeleyDB.BaseDatabase)">
<summary>
Create a new database object with the same underlying DB handle as
<paramref name="clone"/>. Used during Database.Open to get an
object of the correct DBTYPE.
</summary>
<param name="clone">Database to clone</param>
</member>
<member name="M:BerkeleyDB.Database.Open(System.String,BerkeleyDB.DatabaseConfig)">
<summary>
Instantiate a new Database object and open the database represented
by <paramref name="Filename"/>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.Database.Open(System.String,System.String,BerkeleyDB.DatabaseConfig)">
<summary>
Instantiate a new Database object and open the database represented
by <paramref name="Filename"/> and <paramref name="DatabaseName"/>.
The file specified by <paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.Database.Open(System.String,BerkeleyDB.DatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new Database object and open the database represented
by <paramref name="Filename"/>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.Database.Open(System.String,System.String,BerkeleyDB.DatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new Database object and open the database represented
by <paramref name="Filename"/> and <paramref name="DatabaseName"/>.
The file specified by <paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.Database.GetBothMultiple(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
If a key/data pair in the database matches <paramref name="key"/>
and <paramref name="data"/>, return the key and all duplicate data
items.
</summary>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetBothMultiple(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)">
<summary>
If a key/data pair in the database matches <paramref name="key"/>
and <paramref name="data"/>, return the key and all duplicate data
items.
</summary>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetBothMultiple(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32,BerkeleyDB.Transaction)">
<summary>
If a key/data pair in the database matches <paramref name="key"/>
and <paramref name="data"/>, return the key and all duplicate data
items.
</summary>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetBothMultiple(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
If a key/data pair in the database matches <paramref name="key"/>
and <paramref name="data"/>, return the key and all duplicate data
items.
</summary>
<param name="key">The key to search for</param>
<param name="data">The data to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> and
<paramref name="data"/> are not in the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetMultiple(BerkeleyDB.DatabaseEntry)">
<summary>
Retrieve a key and all duplicate data items from the database.
</summary>
<param name="key">The key to search for</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetMultiple(BerkeleyDB.DatabaseEntry,System.Int32)">
<summary>
Retrieve a key and all duplicate data items from the database.
</summary>
<param name="key">The key to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<exception cref="T:BerkeleyDB.NotFoundException">
A NotFoundException is thrown if <paramref name="key"/> is not in
the database.
</exception>
<exception cref="T:BerkeleyDB.KeyEmptyException">
A KeyEmptyException is thrown if the database is a
<see cref="T:BerkeleyDB.QueueDatabase"/> or <see cref="T:BerkeleyDB.RecnoDatabase"/>
database and <paramref name="key"/> exists, but was never explicitly
created by the application or was later deleted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetMultiple(BerkeleyDB.DatabaseEntry,System.Int32,BerkeleyDB.Transaction)">
<summary>
Retrieve a key and all duplicate data items from the database.
</summary>
<param name="key">The key to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.GetMultiple(BerkeleyDB.DatabaseEntry,System.Int32,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Retrieve a key and all duplicate data items from the database.
</summary>
<param name="key">The key to search for</param>
<param name="BufferSize">
The initial size of the buffer to fill with duplicate data items. If
the buffer is not large enough, it will be automatically resized.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/>
whose Key parameter is <paramref name="key"/> and whose Value
parameter is the retrieved data items.
</returns>
</member>
<member name="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)">
<summary>
Create a specialized join cursor for use in performing equality or
natural joins on secondary indices.
</summary>
<remarks>
<para>
Once the cursors have been passed as part of <paramref name="lst"/>,
they should not be accessed or modified until the newly created
<see cref="T:BerkeleyDB.JoinCursor"/>has been closed, or else inconsistent
results may be returned.
</para>
<para>
Joined values are retrieved by doing a sequential iteration over the
first cursor in <paramref name="lst"/>, and a nested iteration over
each secondary cursor in the order they are specified in the
curslist parameter. This requires database traversals to search for
the current datum in all the cursors after the first. For this
reason, the best join performance normally results from sorting the
cursors from the one that refers to the least number of data items
to the one that refers to the most.
</para>
</remarks>
<param name="lst">
An array of SecondaryCursors. Each cursor must have been initialized
to refer to the key on which the underlying database should be
joined.
</param>
<param name="sortCursors">
If true, sort the cursors from the one that refers to the least
number of data items to the one that refers to the most. If the
data are structured so that cursors with many data items also share
many common elements, higher performance will result from listing
those cursors before cursors with fewer data items; that is, a sort
order other than the default. A setting of false permits
applications to perform join optimization prior to calling Join.
</param>
<returns>
A specialized join cursor for use in performing equality or natural
joins on secondary indices.
</returns>
</member>
<member name="M:BerkeleyDB.Database.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
Store the key/data pair in the database, replacing any previously
existing key if duplicates are disallowed, or adding a duplicate
data item if duplicates are allowed.
</summary>
<overloads>
<para>
If the database supports duplicates, add the new data value at the
end of the duplicate set. If the database supports sorted
duplicates, the new data value is inserted at the correct sorted
location.
</para>
</overloads>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
</member>
<member name="M:BerkeleyDB.Database.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Store the key/data pair in the database, replacing any previously
existing key if duplicates are disallowed, or adding a duplicate
data item if duplicates are allowed.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.Database.PutNoOverwrite(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
Store the key/data pair in the database, only if the key does not
already appear in the database.
</summary>
<remarks>
This enforcement of uniqueness of keys applies only to the primary
key, the behavior of insertions into secondary databases is not
affected. In particular, the insertion of a record that would result
in the creation of a duplicate key in a secondary database that
allows duplicates would not be prevented by the use of this flag.
</remarks>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
</member>
<member name="M:BerkeleyDB.Database.PutNoOverwrite(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Store the key/data pair in the database, only if the key does not
already appear in the database.
</summary>
<remarks>
This enforcement of uniqueness of keys applies only to the primary
key, the behavior of insertions into secondary databases is not
affected. In particular, the insertion of a record that would result
in the creation of a duplicate key in a secondary database that
allows duplicates would not be prevented by the use of this flag.
</remarks>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.Database.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction,System.UInt32)">
<summary>
Protected wrapper for DB->put. Used by subclasses for access method
specific operations.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
<param name="txn">Transaction with which to protect the put</param>
<param name="flags">Flags to pass to DB->put</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig)">
<summary>
Write the key/data pairs from all databases in the file to
<see cref="P:System.Console.Out"/>. Key values are written for Btree, Hash
and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig,System.Boolean)">
<summary>
Write the key/data pairs from all databases in the file to
<see cref="P:System.Console.Out"/>. Key values are written for Btree, Hash
and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
<param name="Printable">
If true and characters in either the key or data items are printing
characters (as defined by isprint(3)), use printing characters to
represent them. This setting permits users to use standard text
editors and tools to modify the contents of databases or selectively
remove data from salvager output.
</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig,System.IO.TextWriter)">
<summary>
Write the key/data pairs from all databases in the file to
<paramref name="OutputStream"/>. Key values are written for Btree,
Hash and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
<param name="OutputStream">
The TextWriter to which the databases' key/data pairs are written.
If null, <see cref="P:System.Console.Out"/> will be used.
</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig,System.Boolean,System.IO.TextWriter)">
<summary>
Write the key/data pairs from all databases in the file to
<paramref name="OutputStream"/>. Key values are written for Btree,
Hash and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
<param name="Printable">
If true and characters in either the key or data items are printing
characters (as defined by isprint(3)), use printing characters to
represent them. This setting permits users to use standard text
editors and tools to modify the contents of databases or selectively
remove data from salvager output.
</param>
<param name="OutputStream">
The TextWriter to which the databases' key/data pairs are written.
If null, <see cref="P:System.Console.Out"/> will be used.
</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig,System.Boolean,System.Boolean)">
<summary>
Write the key/data pairs from all databases in the file to
<see cref="P:System.Console.Out"/>. Key values are written for Btree, Hash
and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
<param name="Printable">
If true and characters in either the key or data items are printing
characters (as defined by isprint(3)), use printing characters to
represent them. This setting permits users to use standard text
editors and tools to modify the contents of databases or selectively
remove data from salvager output.
</param>
<param name="Aggressive">
If true, output all the key/data pairs in the file that can be
found. Corruption will be assumed and key/data pairs that are
corrupted or have been deleted may appear in the output (even if the
file being salvaged is in no way corrupt), and the output will
almost certainly require editing before being loaded into a
database.
</param>
</member>
<member name="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig,System.Boolean,System.Boolean,System.IO.TextWriter)">
<summary>
Write the key/data pairs from all databases in the file to
<paramref name="OutputStream"/>. Key values are written for Btree,
Hash and Queue databases, but not for Recno databases.
</summary>
<param name="file">
The physical file in which the databases to be salvaged are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be salvaged.
</param>
<param name="Printable">
If true and characters in either the key or data items are printing
characters (as defined by isprint(3)), use printing characters to
represent them. This setting permits users to use standard text
editors and tools to modify the contents of databases or selectively
remove data from salvager output.
</param>
<param name="Aggressive">
If true, output all the key/data pairs in the file that can be
found. Corruption will be assumed and key/data pairs that are
corrupted or have been deleted may appear in the output (even if the
file being salvaged is in no way corrupt), and the output will
almost certainly require editing before being loaded into a
database.
</param>
<param name="OutputStream">
The TextWriter to which the databases' key/data pairs are written.
If null, <see cref="P:System.Console.Out"/> will be used.
</param>
</member>
<member name="M:BerkeleyDB.Database.Upgrade(System.String,BerkeleyDB.DatabaseConfig)">
<summary>
Upgrade all of the databases included in the file
<paramref name="file"/>, if necessary. If no upgrade is necessary,
Upgrade always returns successfully.
</summary>
<param name="file">
The physical file containing the databases to be upgraded.
</param>
<param name="cfg">
Configuration parameters for the databases to be upgraded.
</param>
</member>
<member name="M:BerkeleyDB.Database.Upgrade(System.String,BerkeleyDB.DatabaseConfig,System.Boolean)">
<summary>
Upgrade all of the databases included in the file
<paramref name="file"/>, if necessary. If no upgrade is necessary,
Upgrade always returns successfully.
</summary>
<overloads>
Database upgrades are done in place and are destructive. For
example, if pages need to be allocated and no disk space is
available, the database may be left corrupted. Backups should be
made before databases are upgraded. See Upgrading databases in the
Programmer's Reference Guide for more information.
</overloads>
<remarks>
<para>
As part of the upgrade from the Berkeley DB 3.0 release to the 3.1
release, the on-disk format of duplicate data items changed. To
correctly upgrade the format requires applications to specify
whether duplicate data items in the database are sorted or not.
Specifying <paramref name="dupSortUpgraded"/> informs Upgrade that
the duplicates are sorted; otherwise they are assumed to be
unsorted. Incorrectly specifying the value of this flag may lead to
database corruption.
</para>
<para>
Further, because this method upgrades a physical file (including all
the databases it contains), it is not possible to use Upgrade to
upgrade files in which some of the databases it includes have sorted
duplicate data items, and some of the databases it includes have
unsorted duplicate data items. If the file does not have more than a
single database, if the databases do not support duplicate data
items, or if all of the databases that support duplicate data items
support the same style of duplicates (either sorted or unsorted),
Upgrade will work correctly as long as
<paramref name="dupSortUpgraded"/> is correctly specified.
Otherwise, the file cannot be upgraded using Upgrade it must be
upgraded manually by dumping and reloading the databases.
</para>
</remarks>
<param name="file">
The physical file containing the databases to be upgraded.
</param>
<param name="cfg">
Configuration parameters for the databases to be upgraded.
</param>
<param name="dupSortUpgraded">
If true, the duplicates in the upgraded database are sorted;
otherwise they are assumed to be unsorted. This setting is only
meaningful when upgrading databases from releases before the
Berkeley DB 3.1 release.
</param>
</member>
<member name="M:BerkeleyDB.Database.Verify(System.String,BerkeleyDB.DatabaseConfig)">
<summary>
Verify the integrity of all databases in the file specified by
<paramref name="file"/>.
</summary>
<overloads>
Verify does not perform any locking, even in Berkeley DB
environments that are configured with a locking subsystem. As such,
it should only be used on files that are not being modified by
another thread of control.
</overloads>
<param name="file">
The physical file in which the databases to be verified are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be verified.
</param>
</member>
<member name="M:BerkeleyDB.Database.Verify(System.String,BerkeleyDB.DatabaseConfig,BerkeleyDB.Database.VerifyOperation)">
<summary>
Verify the integrity of all databases in the file specified by
<paramref name="file"/>.
</summary>
<remarks>
<para>
Berkeley DB normally verifies that btree keys and duplicate items
are correctly sorted, and hash keys are correctly hashed. If the
file being verified contains multiple databases using differing
sorting or hashing algorithms, some of them must necessarily fail
database verification because only one sort order or hash function
can be specified in <paramref name="cfg"/>. To verify files with
multiple databases having differing sorting orders or hashing
functions, first perform verification of the file as a whole by
using <see cref="F:BerkeleyDB.Database.VerifyOperation.NO_ORDER_CHECK"/>, and then
individually verify the sort order and hashing function for each
database in the file using
<see cref="F:BerkeleyDB.Database.VerifyOperation.ORDER_CHECK_ONLY"/>.
</para>
</remarks>
<param name="file">
The physical file in which the databases to be verified are found.
</param>
<param name="cfg">
Configuration parameters for the databases to be verified.
</param>
<param name="op">The extent of verification</param>
</member>
<member name="M:BerkeleyDB.Database.Verify(System.String,System.String,BerkeleyDB.DatabaseConfig,BerkeleyDB.Database.VerifyOperation)">
<summary>
Verify the integrity of the database specified by
<paramref name="file"/> and <paramref name="database"/>.
</summary>
<remarks>
<para>
Berkeley DB normally verifies that btree keys and duplicate items
are correctly sorted, and hash keys are correctly hashed. If the
file being verified contains multiple databases using differing
sorting or hashing algorithms, some of them must necessarily fail
database verification because only one sort order or hash function
can be specified in <paramref name="cfg"/>. To verify files with
multiple databases having differing sorting orders or hashing
functions, first perform verification of the file as a whole by
using <see cref="F:BerkeleyDB.Database.VerifyOperation.NO_ORDER_CHECK"/>, and then
individually verify the sort order and hashing function for each
database in the file using
<see cref="F:BerkeleyDB.Database.VerifyOperation.ORDER_CHECK_ONLY"/>.
</para>
</remarks>
<param name="file">
The physical file in which the databases to be verified are found.
</param>
<param name="database">
The database in <paramref name="file"/> on which the database checks
for btree and duplicate sort order and for hashing are to be
performed. A non-null value for database is only allowed with
<see cref="F:BerkeleyDB.Database.VerifyOperation.ORDER_CHECK_ONLY"/>.
</param>
<param name="cfg">
Configuration parameters for the databases to be verified.
</param>
<param name="op">The extent of verification</param>
</member>
<member name="T:BerkeleyDB.Database.VerifyOperation">
<summary>
Specifies the type of verification to perform
</summary>
</member>
<member name="F:BerkeleyDB.Database.VerifyOperation.DEFAULT">
<summary>
Perform database checks and check sort order
</summary>
</member>
<member name="F:BerkeleyDB.Database.VerifyOperation.ORDER_CHECK_ONLY">
<summary>
Perform the database checks for btree and duplicate sort order
and for hashing
</summary>
</member>
<member name="F:BerkeleyDB.Database.VerifyOperation.NO_ORDER_CHECK">
<summary>
Skip the database checks for btree and duplicate sort order and
for hashing.
</summary>
</member>
<member name="M:BerkeleyDB.HashDatabase.Open(System.String,BerkeleyDB.HashDatabaseConfig)">
<summary>
Instantiate a new HashDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Open(System.String,System.String,BerkeleyDB.HashDatabaseConfig)">
<summary>
Instantiate a new HashDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Open(System.String,BerkeleyDB.HashDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new HashDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Open(System.String,System.String,BerkeleyDB.HashDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new HashDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Cursor">
<summary>
Create a database cursor.
</summary>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Cursor(BerkeleyDB.CursorConfig)">
<summary>
Create a database cursor with the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Cursor(BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor.
</summary>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Cursor(BerkeleyDB.CursorConfig,BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor with the given
configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.FastStats">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.FastStats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.FastStats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<overloads>
<para>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</para>
<para>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</para>
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.TruncateUnusedPages">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.TruncateUnusedPages(BerkeleyDB.Transaction)">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
Store the key/data pair in the database only if it does not already
appear in the database.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
</member>
<member name="M:BerkeleyDB.HashDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Store the key/data pair in the database only if it does not already
appear in the database.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.HashDatabase.Stats">
<summary>
Return the database statistical information for this database.
</summary>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Stats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information for this database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.HashDatabase.Stats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information for this database.
</summary>
<overloads>
The statistical information is described by
<see cref="T:BerkeleyDB.BTreeStats"/>.
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="P:BerkeleyDB.HashDatabase.Compare">
<summary>
The Hash key comparison function. The comparison function is called
whenever it is necessary to compare a key specified by the
application with a key currently stored in the tree.
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabase.DupCompare">
<summary>
The duplicate data item comparison function.
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabase.Duplicates">
<summary>
Whether the insertion of duplicate data items in the database is
permitted, and whether duplicates items are sorted.
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabase.FillFactor">
<summary>
The desired density within the hash table.
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabase.HashFunction">
<summary>
A user-defined hash function; if no hash function is specified, a
default hash function is used.
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabase.TableSize">
<summary>
An estimate of the final size of the hash table.
</summary>
</member>
<member name="T:BerkeleyDB.DatabaseEnvironment">
<summary>
A class representing a Berkeley DB database environment - a collection
including support for some or all of caching, locking, logging and
transaction subsystems, as well as databases and log files.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepSetClockskew(System.UInt32,System.UInt32)">
<summary>
Set the clock skew ratio among replication group members based on
the fastest and slowest measurements among the group for use with
master leases.
</summary>
<remarks>
<para>
Calling this method is optional, the default values for clock skew
assume no skew. The user must also configure leases via
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepUseMasterLeases"/>. Additionally, the user must also
set the master lease timeout via <see cref="P:BerkeleyDB.DatabaseEnvironment.RepLeaseTimeout"/> and
the number of sites in the replication group via
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepNSites"/>. These settings may be configured in any
order. For a description of the clock skew values, see Clock skew
in the Berkeley DB Programmer's Reference Guide. For a description
of master leases, see Master leases in the Berkeley DB Programmer's
Reference Guide.
</para>
<para>
These arguments can be used to express either raw measurements of a
clock timing experiment or a percentage across machines. For
instance a group of sites have a 2% variance, then
<paramref name="fast"/> should be set to 102, and
<paramref name="slow"/> should be set to 100. Or, for a 0.03%
difference, you can use 10003 and 10000 respectively.
</para>
</remarks>
<param name="fast">
The value, relative to <paramref name="slow"/>, of the fastest clock
in the group of sites.
</param>
<param name="slow">
The value of the slowest clock in the group of sites.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepSetRetransmissionRequest(System.UInt32,System.UInt32)">
<summary>
Set a threshold for the minimum and maximum time that a client waits
before requesting retransmission of a missing message.
</summary>
<remarks>
<para>
If the client detects a gap in the sequence of incoming log records
or database pages, Berkeley DB will wait for at least
<paramref name="min"/> microseconds before requesting retransmission
of the missing record. Berkeley DB will double that amount before
requesting the same missing record again, and so on, up to a
maximum threshold of <paramref name="max"/> microseconds.
</para>
<para>
These values are thresholds only. Since Berkeley DB has no thread
available in the library as a timer, the threshold is only checked
when a thread enters the Berkeley DB library to process an incoming
replication message. Any amount of time may have passed since the
last message arrived and Berkeley DB only checks whether the amount
of time since a request was made is beyond the threshold value or
not.
</para>
<para>
By default the minimum is 40000 and the maximum is 1280000 (1.28
seconds). These defaults are fairly arbitrary and the application
likely needs to adjust these. The values should be based on expected
load and performance characteristics of the master and client host
platforms and transport infrastructure as well as round-trip message
time.
</para></remarks>
<param name="min">
The minimum number of microseconds a client waits before requesting
retransmission.
</param>
<param name="max">
The maximum number of microseconds a client waits before requesting
retransmission.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepSetTransmitLimit(System.UInt32,System.UInt32)">
<summary>
Set a byte-count limit on the amount of data that will be
transmitted from a site in response to a single message processed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>. The limit is not a hard limit, and
the record that exceeds the limit is the last record to be sent.
</summary>
<remarks>
<para>
Record transmission throttling is turned on by default with a limit
of 10MB.
</para>
<para>
If both <paramref name="GBytes"/> and <paramref name="Bytes"/> are
zero, then the transmission limit is turned off.
</para>
</remarks>
<param name="GBytes">
The number of gigabytes which, when added to
<paramref name="Bytes"/>, specifies the maximum number of bytes that
will be sent in a single call to <see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</param>
<param name="Bytes">
The number of bytes which, when added to
<paramref name="GBytes"/>, specifies the maximum number of bytes
that will be sent in a single call to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepSetTransport(System.Int32,BerkeleyDB.ReplicationTransportDelegate)">
<summary>
Initialize the communication infrastructure for a database
environment participating in a replicated application.
</summary>
<remarks>
RepSetTransport is not called by most replication applications. It
should only be called by applications implementing their own network
transport layer, explicitly holding replication group elections and
handling replication messages outside of the replication manager
framework.
</remarks>
<param name="envid">
The local environment's ID. It must be a non-negative integer and
uniquely identify this Berkeley DB database environment (see
Replication environment IDs in the Programmer's Reference Guide for
more information).
</param>
<param name="transport">
The delegate used to transmit data using the replication
application's communication infrastructure.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)">
<summary>
Instantiate a new DatabaseEnvironment object and open the Berkeley
DB environment represented by <paramref name="home"/>.
</summary>
<param name="home">
The database environment's home directory. For more information on
home, and filename resolution in general, see Berkeley DB File
Naming in the Programmer's Reference Guide.
</param>
<param name="cfg">The environment's configuration</param>
<returns>A new, open DatabaseEnvironment object</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Remove(System.String)">
<summary>
Destroy a Berkeley DB environment if it is not currently in use.
</summary>
<overloads>
<para>
The environment regions, including any backing files, are removed.
Any log or database files and the environment directory are not
removed.
</para>
<para>
If there are processes that have called <see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> without
calling <see cref="M:BerkeleyDB.DatabaseEnvironment.Close"/> (that is, there are processes currently
using the environment), Remove will fail without further action.
</para>
<para>
Calling Remove should not be necessary for most applications because
the Berkeley DB environment is cleaned up as part of normal database
recovery procedures. However, applications may want to call Remove
as part of application shut down to free up system resources. For
example, if <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.SystemMemory"/> was
specified to <see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/>, it may be useful to call Remove in
order to release system shared memory segments that have been
allocated. Or, on architectures in which mutexes require allocation
of underlying system resources, it may be useful to call Remove in
order to release those resources. Alternatively, if recovery is not
required because no database state is maintained across failures,
and no system resources need to be released, it is possible to clean
up an environment by simply removing all the Berkeley DB files in
the database environment's directories.
</para>
<para>
In multithreaded applications, only a single thread may call Remove.
</para>
</overloads>
<param name="db_home">
The database environment to be removed.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Remove(System.String,System.Boolean)">
<summary>
Destroy a Berkeley DB environment if it is not currently in use.
</summary>
<remarks>
<para>
Generally, <paramref name="force"/> is specified only when
applications were unable to shut down cleanly, and there is a risk
that an application may have died holding a Berkeley DB lock.)
</para>
<para>
The result of attempting to forcibly destroy the environment when it
is in use is unspecified. Processes using an environment often
maintain open file descriptors for shared regions within it. On UNIX
systems, the environment removal will usually succeed, and processes
that have already joined the region will continue to run in that
region without change. However, processes attempting to join the
environment will either fail or create new regions. On other systems
in which the unlink(2) system call will fail if any process has an
open file descriptor for the file (for example Windows/NT), the
region removal will fail.
</para>
</remarks>
<param name="db_home">
The database environment to be removed.
</param>
<param name="force">
If true, the environment is removed, regardless of any processes
that may still using it, and no locks are acquired during this
process.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection">
<summary>
Hold an election for the master of a replication group.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection(System.UInt32)">
<summary>
Hold an election for the master of a replication group.
</summary>
<param name="nsites">
The number of replication sites expected to participate in the
election. Once the current site has election information from that
many sites, it will short-circuit the election and immediately cast
its vote for a new master. This parameter must be no less than
<paramref name="nvotes"/>, or 0 if the election should use
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepNSites"/>. If an application is using master leases,
then the value must be 0 and <see cref="P:BerkeleyDB.DatabaseEnvironment.RepNSites"/> must be used.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection(System.UInt32,System.UInt32)">
<summary>
Hold an election for the master of a replication group.
</summary>
<overloads>
<para>
RepHoldElection is not called by most replication applications. It
should only be called by applications implementing their own network
transport layer, explicitly holding replication group elections and
handling replication messages outside of the replication manager
framework.
</para>
<para>
If the election is successful, Berkeley DB will notify the
application of the results of the election by means of either the
<see cref="F:BerkeleyDB.NotificationEvent.REP_ELECTED"/> or
<see cref="F:BerkeleyDB.NotificationEvent.REP_NEWMASTER"/> events (see
<see cref="P:BerkeleyDB.DatabaseEnvironment.EventNotify"/>for more information). The application is
responsible for adjusting its relationship to the other database
environments in the replication group, including directing all
database updates to the newly selected master, in accordance with
the results of the election.
</para>
<para>
The thread of control that calls RepHoldElection must not be the
thread of control that processes incoming messages; processing the
incoming messages is necessary to successfully complete an election.
</para>
<para>
Before calling this method, the <see cref="P:BerkeleyDB.DatabaseEnvironment.RepTransport"/> delegate
must already have been configured to send replication messages.
</para>
</overloads>
<param name="nsites">
The number of replication sites expected to participate in the
election. Once the current site has election information from that
many sites, it will short-circuit the election and immediately cast
its vote for a new master. This parameter must be no less than
<paramref name="nvotes"/>, or 0 if the election should use
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepNSites"/>. If an application is using master leases,
then the value must be 0 and <see cref="P:BerkeleyDB.DatabaseEnvironment.RepNSites"/> must be used.
</param>
<param name="nvotes">
The minimum number of replication sites from which the current site
must have election information, before the current site will cast a
vote for a new master. This parameter must be no greater than
<paramref name="nsites"/>, or 0 if the election should use the value
((<paramref name="nsites"/> / 2) + 1).
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrAddRemoteSite(BerkeleyDB.ReplicationHostAddress)">
<summary>
Add a new replication site to the replication manager's list of
known sites. It is not necessary for all sites in a replication
group to know about all other sites in the group.
</summary>
<param name="Host">The remote site's address</param>
<returns>The environment ID assigned to the remote site</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrAddRemoteSite(BerkeleyDB.ReplicationHostAddress,System.Boolean)">
<summary>
Add a new replication site to the replication manager's list of
known sites. It is not necessary for all sites in a replication
group to know about all other sites in the group.
</summary>
<remarks>
Currently, the replication manager framework only supports a single
client peer, and the last specified peer is used.
</remarks>
<param name="Host">The remote site's address</param>
<param name="isPeer">
If true, configure client-to-client synchronization with the
specified remote site.
</param>
<returns>The environment ID assigned to the remote site</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32)">
<summary>
Start the replication manager as a client site, and do not call for
an election.
</summary>
<overloads>
<para>
There are two ways to build Berkeley DB replication applications:
the most common approach is to use the Berkeley DB library
"replication manager" support, where the Berkeley DB library manages
the replication group, including network transport, all replication
message processing and acknowledgment, and group elections.
Applications using the replication manager support generally make
the following calls:
</para>
<list type="number">
<item>
Configure the local site in the replication group,
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepMgrLocalSite"/>.
</item>
<item>
Call <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrAddRemoteSite(BerkeleyDB.ReplicationHostAddress)"/> to configure the remote
site(s) in the replication group.
</item>
<item>Configure the message acknowledgment policy
(<see cref="P:BerkeleyDB.DatabaseEnvironment.RepMgrAckPolicy"/>) which provides the replication group's
transactional needs.
</item>
<item>
Configure the local site's election priority,
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepPriority"/>.
</item>
<item>
Call <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32)"/> or
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartMaster(System.Int32)"/> to start the replication
application.
</item>
</list>
<para>
For more information on building replication manager applications,
please see the Replication Getting Started Guide included in the
Berkeley DB documentation.
</para>
<para>
Applications with special needs (for example, applications using
network protocols not supported by the Berkeley DB replication
manager), must perform additional configuration and call other
Berkeley DB replication methods. For more information on building
advanced replication applications, please see the Base Replication
API section in the Berkeley DB Programmer's Reference Guide for more
information.
</para>
<para>
Starting the replication manager consists of opening the TCP/IP
listening socket to accept incoming connections, and starting all
necessary background threads. When multiple processes share a
database environment, only one process can open the listening
socket; <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32)"/> (and
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartMaster(System.Int32)"/>) automatically open the socket in
the first process to call it, and skips this step in the later calls
from other processes.
</para>
</overloads>
<param name="nthreads">
Specify the number of threads of control created and dedicated to
processing replication messages. In addition to these message
processing threads, the replication manager creates and manages a
few of its own threads of control.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32,System.Boolean)">
<summary>
Start the replication manager as a client site, and optionally call
for an election.
</summary>
<param name="nthreads">
Specify the number of threads of control created and dedicated to
processing replication messages. In addition to these message
processing threads, the replication manager creates and manages a
few of its own threads of control.
</param>
<param name="holdElection">
If true, start as a client, and call for an election if no master is
found.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartMaster(System.Int32)">
<summary>
Start the replication manager as a master site, and do not call for
an election.
</summary>
<remarks>
<para>
There are two ways to build Berkeley DB replication applications:
the most common approach is to use the Berkeley DB library
"replication manager" support, where the Berkeley DB library manages
the replication group, including network transport, all replication
message processing and acknowledgment, and group elections.
Applications using the replication manager support generally make
the following calls:
</para>
<list type="number">
<item>
Configure the local site in the replication group,
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepMgrLocalSite"/>.
</item>
<item>
Call <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrAddRemoteSite(BerkeleyDB.ReplicationHostAddress)"/> to configure the remote
site(s) in the replication group.
</item>
<item>Configure the message acknowledgment policy
(<see cref="P:BerkeleyDB.DatabaseEnvironment.RepMgrAckPolicy"/>) which provides the replication group's
transactional needs.
</item>
<item>
Configure the local site's election priority,
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepPriority"/>.
</item>
<item>
Call <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32)"/> or
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartMaster(System.Int32)"/> to start the replication
application.
</item>
</list>
<para>
For more information on building replication manager applications,
please see the Replication Getting Started Guide included in the
Berkeley DB documentation.
</para>
<para>
Applications with special needs (for example, applications using
network protocols not supported by the Berkeley DB replication
manager), must perform additional configuration and call other
Berkeley DB replication methods. For more information on building
advanced replication applications, please see the Base Replication
API section in the Berkeley DB Programmer's Reference Guide for more
information.
</para>
<para>
Starting the replication manager consists of opening the TCP/IP
listening socket to accept incoming connections, and starting all
necessary background threads. When multiple processes share a
database environment, only one process can open the listening
socket; <see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartMaster(System.Int32)"/> (and
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepMgrStartClient(System.Int32)"/>) automatically open the socket in
the first process to call it, and skips this step in the later calls
from other processes.
</para>
</remarks>
<param name="nthreads">
Specify the number of threads of control created and dedicated to
processing replication messages. In addition to these message
processing threads, the replication manager creates and manages a
few of its own threads of control.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)">
<summary>
Process an incoming replication message sent by a member of the
replication group to the local database environment.
</summary>
<remarks>
<para>
RepProcessMessage is not called by most replication applications. It
should only be called by applications implementing their own network
transport layer, explicitly holding replication group elections and
handling replication messages outside of the replication manager
framework.
</para>
<para>
For implementation reasons, all incoming replication messages must
be processed using the same <see cref="T:BerkeleyDB.DatabaseEnvironment"/>
object. It is not required that a single thread of control process
all messages, only that all threads of control processing messages
use the same object.
</para>
<para>
Before calling this method, the <see cref="P:BerkeleyDB.DatabaseEnvironment.RepTransport"/> delegate
must already have been configured to send replication messages.
</para>
</remarks>
<param name="control">
A copy of the control parameter specified by Berkeley DB on the
sending environment.
</param>
<param name="rec">
A copy of the rec parameter specified by Berkeley DB on the sending
environment.
</param>
<param name="envid">
The local identifier that corresponds to the environment that sent
the message to be processed (see Replication environment IDs in the
Programmer's Reference Guide for more information)..
</param>
<returns>The result of processing a message</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepStartClient">
<summary>
Configure the database environment as a client in a group of
replicated database environments.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepStartClient(BerkeleyDB.DatabaseEntry)">
<summary>
Configure the database environment as a client in a group of
replicated database environments.
</summary>
<overloads>
<para>
RepStartClient is not called by most replication applications. It
should only be called by applications implementing their own network
transport layer, explicitly holding replication group elections and
handling replication messages outside of the replication manager
framework.
</para>
<para>
Replication master environments are the only database environments
where replicated databases may be modified. Replication client
environments are read-only as long as they are clients. Replication
client environments may be upgraded to be replication master
environments in the case that the current master fails or there is
no master present. If master leases are in use, this method cannot
be used to appoint a master, and should only be used to configure a
database environment as a master as the result of an election.
</para>
<para>
Before calling this method, the <see cref="P:BerkeleyDB.DatabaseEnvironment.RepTransport"/> delegate
must already have been configured to send replication messages.
</para>
</overloads>
<param name="cdata">
An opaque data item that is sent over the communication
infrastructure when the client comes online (see Connecting to a new
site in the Programmer's Reference Guide for more information). If
no such information is useful, cdata should be null.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster">
<summary>
Configure the database environment as a master in a group of
replicated database environments.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster(BerkeleyDB.DatabaseEntry)">
<summary>
Configure the database environment as a master in a group of
replicated database environments.
</summary>
<overloads>
<para>
RepStartMaster is not called by most replication applications. It
should only be called by applications implementing their own network
transport layer, explicitly holding replication group elections and
handling replication messages outside of the replication manager
framework.
</para>
<para>
Replication master environments are the only database environments
where replicated databases may be modified. Replication client
environments are read-only as long as they are clients. Replication
client environments may be upgraded to be replication master
environments in the case that the current master fails or there is
no master present. If master leases are in use, this method cannot
be used to appoint a master, and should only be used to configure a
database environment as a master as the result of an election.
</para>
<para>
Before calling this method, the <see cref="P:BerkeleyDB.DatabaseEnvironment.RepTransport"/> delegate
must already have been configured to send replication messages.
</para>
</overloads>
<param name="cdata">
An opaque data item that is sent over the communication
infrastructure when the client comes online (see Connecting to a new
site in the Programmer's Reference Guide for more information). If
no such information is useful, cdata should be null.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepSync">
<summary>
Force master synchronization to begin for this client.
</summary>
<remarks>
<para>
This method is the other half of setting
<see cref="P:BerkeleyDB.DatabaseEnvironment.RepDelayClientSync"/>.
</para>
<para>
If an application has configured delayed master synchronization, the
application must synchronize explicitly (otherwise the client will
remain out-of-date and will ignore all database changes forwarded
from the replication group master). RepSync may be called any time
after the client application learns that the new master has been
established (by receiving
<see cref="F:BerkeleyDB.NotificationEvent.REP_NEWMASTER"/>).
</para>
<para>
Before calling this method, the <see cref="P:BerkeleyDB.DatabaseEnvironment.RepTransport"/> delegate
must already have been configured to send replication messages.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ArchivableLogFiles(System.Boolean)">
<summary>
The names of all of the log files that are no longer in use (for
example, that are no longer involved in active transactions), and
that may safely be archived for catastrophic recovery and then
removed from the system.
</summary>
<remarks>
<para>
The Berkeley DB interfaces to the database environment logging
subsystem (for example, <see cref="M:BerkeleyDB.Transaction.Abort"/>) may
allocate log cursors and have open file descriptors for log files
as well. On operating systems where filesystem related system calls
(for example, rename and unlink on Windows/NT) can fail if a process
has an open file descriptor for the affected file, attempting to
move or remove the log files listed by ArchivableLogFiles may fail.
All Berkeley DB internal use of log cursors operates on active log
files only and furthermore, is short-lived in nature. So, an
application seeing such a failure should be restructured to retry
the operation until it succeeds. (Although this is not likely to be
necessary; it is hard to imagine a reason to move or rename a log
file in which transactions are being logged or aborted.)
</para>
<para>
See the db_archive utility for more information on database archival
procedures.
</para>
</remarks>
<param name="AbsolutePaths">
If true, all pathnames are returned as absolute pathnames, instead
of relative to the database home directory.
</param>
<returns>
The names of all of the log files that are no longer in use
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ArchivableDatabaseFiles(System.Boolean)">
<summary>
The database files that need to be archived in order to recover the
database from catastrophic failure. If any of the database files
have not been accessed during the lifetime of the current log files,
they will not included in this list. It is also possible that some
of the files referred to by the log have since been deleted from the
system.
</summary>
<remarks>
<para>
See the db_archive utility for more information on database archival
procedures.
</para>
</remarks>
<param name="AbsolutePaths">
If true, all pathnames are returned as absolute pathnames, instead
of relative to the database home directory.
</param>
<returns>
The database files that need to be archived in order to recover the
database from catastrophic failure.
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LogFiles(System.Boolean)">
<summary>
The names of all of the log files
</summary>
<remarks>
<para>
The Berkeley DB interfaces to the database environment logging
subsystem (for example, <see cref="M:BerkeleyDB.Transaction.Abort"/>) may
allocate log cursors and have open file descriptors for log files
as well. On operating systems where filesystem related system calls
(for example, rename and unlink on Windows/NT) can fail if a process
has an open file descriptor for the affected file, attempting to
move or remove the log files listed by LogFiles may fail. All
Berkeley DB internal use of log cursors operates on active log files
only and furthermore, is short-lived in nature. So, an application
seeing such a failure should be restructured to retry the operation
until it succeeds. (Although this is not likely to be necessary; it
is hard to imagine a reason to move or rename a log file in which
transactions are being logged or aborted.)
</para>
<para>
See the db_archive utility for more information on database archival
procedures.
</para>
</remarks>
<param name="AbsolutePaths">
If true, all pathnames are returned as absolute pathnames, instead
of relative to the database home directory.
</param>
<returns>
All the log filenames, regardless of whether or not they are in use.
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RemoveUnusedLogFiles">
<summary>
Remove log files that are no longer needed. Automatic log file
removal is likely to make catastrophic recovery impossible.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup">
<summary>
Allocate a locker ID in an environment configured for Berkeley DB
Concurrent Data Store applications.
</summary>
<remarks>
<para>
Calling <see cref="M:BerkeleyDB.Transaction.Commit"/> will discard the allocated
locker ID.
</para>
<para>
See Berkeley DB Concurrent Data Store applications in the
Programmer's Reference Guide for more information about when this is
required.
</para>
</remarks>
<returns>
A Transaction object that uniquely identifies the locker ID
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction">
<summary>
Create a new transaction in the environment, with the default
configuration.
</summary>
<returns>A new transaction object</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction(BerkeleyDB.TransactionConfig)">
<summary>
Create a new transaction in the environment.
</summary>
<param name="cfg">
The configuration properties for the transaction
</param>
<returns>A new transaction object</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction(BerkeleyDB.TransactionConfig,BerkeleyDB.Transaction)">
<summary>
Create a new transaction in the environment.
</summary>
<remarks>
In the presence of distributed transactions and two-phase commit,
only the parental transaction, that is a transaction without a
parent specified, should be passed as an parameter to
<see cref="M:BerkeleyDB.Transaction.Prepare(System.Byte[])"/>.
</remarks>
<param name="cfg">
The configuration properties for the transaction
</param>
<param name="parent">
If the non-null, the new transaction will be a nested transaction,
with <paramref name="parent"/> as the new transaction's parent.
Transactions may be nested to any level.
</param>
<returns>A new transaction object</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Checkpoint">
<summary>
Flush the underlying memory pool, write a checkpoint record to the
log, and then flush the log, even if there has been no activity
since the last checkpoint.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Checkpoint(System.UInt32,System.UInt32)">
<summary>
If there has been any logging activity in the database environment
since the last checkpoint, flush the underlying memory pool, write a
checkpoint record to the log, and then flush the log.
</summary>
<param name="kbytesWritten">
A checkpoint will be done if more than kbytesWritten kilobytes of
log data have been written since the last checkpoint.
</param>
<param name="minutesElapsed">
A checkpoint will be done if more than minutesElapsed minutes have
passed since the last checkpoint.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Close">
<summary>
Close the Berkeley DB environment, freeing any allocated resources
and closing any underlying subsystems.
</summary>
<remarks>
<para>
The object should not be closed while any other handle that refers
to it is not yet closed; for example, database environment handles
must not be closed while database objects remain open, or
transactions in the environment have not yet been committed or
aborted.
</para>
<para>
Where the environment was configured with
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseTxns"/>, calling Close
aborts any unresolved transactions. Applications should not depend
on this behavior for transactions involving Berkeley DB databases;
all such transactions should be explicitly resolved. The problem
with depending on this semantic is that aborting an unresolved
transaction involving database operations requires a database
handle. Because the database handles should have been closed before
calling Close, it will not be possible to abort the transaction, and
recovery will have to be run on the Berkeley DB environment before
further operations are done.
</para>
<para>
In multithreaded applications, only a single thread may call Close.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.DetectDeadlocks(BerkeleyDB.DeadlockPolicy)">
<summary>
Run one iteration of the deadlock detector. The deadlock detector
traverses the lock table and marks one of the participating lock
requesters for rejection in each deadlock it finds.
</summary>
<param name="atype">Specify which lock request(s) to reject</param>
<returns>The number of lock requests that were rejected.</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.FailCheck">
<summary>
Check for threads of control (either a true thread or a process)
that have exited while manipulating Berkeley DB library data
structures, while holding a logical database lock, or with an
unresolved transaction (that is, a transaction that was never
aborted or committed).
</summary>
<remarks>
<para>
For more information, see Architecting Data Store and Concurrent
Data Store applications, and Architecting Transactional Data Store
applications, both in the Berkeley DB Programmer's Reference Guide.
</para>
<para>
FailCheck is based on the <see cref="P:BerkeleyDB.DatabaseEnvironment.SetThreadID"/> and
<see cref="P:BerkeleyDB.DatabaseEnvironment.ThreadIsAlive"/> delegates. Applications calling
FailCheck must have already set <see cref="P:BerkeleyDB.DatabaseEnvironment.ThreadIsAlive"/>, and
must have configured <see cref="P:BerkeleyDB.DatabaseEnvironment.ThreadCount"/>.
</para>
<para>
If FailCheck determines a thread of control exited while holding
database read locks, it will release those locks. If FailCheck
determines a thread of control exited with an unresolved
transaction, the transaction will be aborted. In either of these
cases, FailCheck will return successfully and the application may
continue to use the database environment.
</para>
<para>
In either of these cases, FailCheck will also report the process and
thread IDs associated with any released locks or aborted
transactions. The information is printed to a specified output
channel (see <see cref="!:MessageFile"/> for more information), or
passed to an application delegate (see <see cref="!:MessageCall"/> for
more information).
</para>
<para>
If FailCheck determines a thread of control has exited such that
database environment recovery is required, it will throw
<see cref="T:BerkeleyDB.RunRecoveryException"/>. In this case, the application
should not continue to use the database environment. For a further
description as to the actions the application should take when this
failure occurs, see Handling failure in Data Store and Concurrent
Data Store applications, and Handling failure in Transactional Data
Store applications, both in the Berkeley DB Programmer's Reference
Guide.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LogFile(BerkeleyDB.LSN)">
<summary>
Map an LSN object to a log filename
</summary>
<param name="logSeqNum">
The DB_LSN structure for which a filename is wanted.
</param>
<returns>
The name of the file containing the record named by
<paramref name="logSeqNum"/>.
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LogFlush">
<summary>
Write all log records to disk.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LogFlush(BerkeleyDB.LSN)">
<summary>
Write log records to disk.
</summary>
<param name="logSeqNum">
All log records with LSN values less than or equal to
<paramref name="logSeqNum"/> are written to disk. If null, all
records in the log are flushed.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LogWrite(BerkeleyDB.DatabaseEntry,System.Boolean)">
<summary>
Append a record to the log
</summary>
<param name="dbt">The record to write to the log.</param>
<param name="flush">
If true, the log is forced to disk after this record is written,
guaranteeing that all records with LSN values less than or equal to
the one being "put" are on disk before LogWrite returns.
</param>
<returns>The LSN of the written record</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Panic">
<summary>
Set the panic state for the database environment. (Database
environments in a panic state normally refuse all attempts to call
Berkeley DB functions, throwing <see cref="T:BerkeleyDB.RunRecoveryException"/>.)
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.Recover(System.UInt32,System.Boolean)">
<summary>
Restore transactions that were prepared, but not yet resolved at the
time of the system shut down or crash, to their state prior to the
shut down or crash, including any locks previously held.
</summary>
<remarks>
Calls to Recover from different threads of control should not be
intermixed in the same environment.
</remarks>
<param name="count">
The maximum number of <see cref="T:BerkeleyDB.PreparedTransaction"/> objects
to return.
</param>
<param name="resume">
If true, continue returning a list of prepared, but not yet resolved
transactions, starting where the last call to Recover left off. If
false, begins a new pass over all prepared, but not yet completed
transactions, regardless of whether they have already been returned
in previous calls to Recover.
</param>
<returns>A list of the prepared transactions</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RemoveDB(System.String,System.Boolean)">
<summary>
Remove the underlying file represented by <paramref name="file"/>,
incidentally removing all of the databases it contained.
</summary>
<param name="file">The physical file to be removed.</param>
<param name="autoCommit">
If true, enclose RemoveDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RemoveDB(System.String,System.String,System.Boolean)">
<summary>
Remove the database specified by <paramref name="file"/> and
<paramref name="database"/>. If no database is specified, the
underlying file represented by <paramref name="file"/> is removed,
incidentally removing all of the databases it contained.
</summary>
<param name="file">
The physical file which contains the database(s) to be removed.
</param>
<param name="database">The database to be removed.</param>
<param name="autoCommit">
If true, enclose RemoveDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RemoveDB(System.String,System.Boolean,BerkeleyDB.Transaction)">
<summary>
Remove the underlying file represented by <paramref name="file"/>,
incidentally removing all of the databases it contained.
</summary>
<param name="file">The physical file to be removed.</param>
<param name="autoCommit">
If true, enclose RemoveDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null. If
null, but <paramref name="autoCommit"/> or <see cref="P:BerkeleyDB.DatabaseEnvironment.AutoCommit"/>
is true, the operation will be implicitly transaction protected.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RemoveDB(System.String,System.String,System.Boolean,BerkeleyDB.Transaction)">
<summary>
Remove the database specified by <paramref name="file"/> and
<paramref name="database"/>. If no database is specified, the
underlying file represented by <paramref name="file"/> is removed,
incidentally removing all of the databases it contained.
</summary>
<param name="file">
The physical file which contains the database(s) to be removed.
</param>
<param name="database">The database to be removed.</param>
<param name="autoCommit">
If true, enclose RemoveDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null. If
null, but <paramref name="autoCommit"/> or <see cref="P:BerkeleyDB.DatabaseEnvironment.AutoCommit"/>
is true, the operation will be implicitly transaction protected.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RenameDB(System.String,System.String,System.Boolean)">
<summary>
Rename the underlying file represented by <paramref name="file"/>
using the value supplied to <paramref name="newname"/>, incidentally
renaming all of the databases it contained.
</summary>
<param name="file">The physical file to be renamed.</param>
<param name="newname">The new name of the database or file.</param>
<param name="autoCommit">
If true, enclose RenameDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RenameDB(System.String,System.String,System.String,System.Boolean)">
<summary>
Rename the database specified by <paramref name="file"/> and
<paramref name="database"/> to <paramref name="newname"/>. If no
database is specified, the underlying file represented by
<paramref name="file"/> is renamed using the value supplied to
<paramref name="newname"/>, incidentally renaming all of the
databases it contained.
</summary>
<param name="file">
The physical file which contains the database(s) to be renamed.
</param>
<param name="database">The database to be renamed.</param>
<param name="newname">The new name of the database or file.</param>
<param name="autoCommit">
If true, enclose RenameDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RenameDB(System.String,System.String,System.Boolean,BerkeleyDB.Transaction)">
<summary>
Rename the underlying file represented by <paramref name="file"/>
using the value supplied to <paramref name="newname"/>, incidentally
renaming all of the databases it contained.
</summary>
<param name="file">The physical file to be renamed.</param>
<param name="newname">The new name of the database or file.</param>
<param name="autoCommit">
If true, enclose RenameDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null. If
null, but <paramref name="autoCommit"/> or <see cref="P:BerkeleyDB.DatabaseEnvironment.AutoCommit"/>
is true, the operation will be implicitly transaction protected.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RenameDB(System.String,System.String,System.String,System.Boolean,BerkeleyDB.Transaction)">
<summary>
Rename the database specified by <paramref name="file"/> and
<paramref name="database"/> to <paramref name="newname"/>. If no
database is specified, the underlying file represented by
<paramref name="file"/> is renamed using the value supplied to
<paramref name="newname"/>, incidentally renaming all of the
databases it contained.
</summary>
<param name="file">
The physical file which contains the database(s) to be renamed.
</param>
<param name="database">The database to be renamed.</param>
<param name="newname">The new name of the database or file.</param>
<param name="autoCommit">
If true, enclose RenameDB within a transaction. If the call
succeeds, changes made by the operation will be recoverable. If the
call fails, the operation will have made no changes.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null. If
null, but <paramref name="autoCommit"/> or <see cref="P:BerkeleyDB.DatabaseEnvironment.AutoCommit"/>
is true, the operation will be implicitly transaction protected.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ResetFileID(System.String,System.Boolean)">
<summary>
Allow database files to be copied, and then the copy used in the
same database environment as the original.
</summary>
<remarks>
<para>
All databases contain an ID string used to identify the database in
the database environment cache. If a physical database file is
copied, and used in the same environment as another file with the
same ID strings, corruption can occur. ResetFileID creates new ID
strings for all of the databases in the physical file.
</para>
<para>
ResetFileID modifies the physical file, in-place. Applications
should not reset IDs in files that are currently in use.
</para>
</remarks>
<param name="file">
The name of the physical file in which new file IDs are to be created.
</param>
<param name="encrypted">
If true, he file contains encrypted databases.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ResetLSN(System.String,System.Boolean)">
<summary>
Allow database files to be moved from one transactional database
environment to another.
</summary>
<remarks>
<para>
Database pages in transactional database environments contain
references to the environment's log files (that is, log sequence
numbers, or <see cref="T:BerkeleyDB.LSN"/>s). Copying or moving a database file
from one database environment to another, and then modifying it, can
result in data corruption if the LSNs are not first cleared.
</para>
<para>
Note that LSNs should be reset before moving or copying the database
file into a new database environment, rather than moving or copying
the database file and then resetting the LSNs. Berkeley DB has
consistency checks that may be triggered if an application calls
ResetLSN on a database in a new environment when the database LSNs
still reflect the old environment.
</para>
<para>
The ResetLSN method modifies the physical file, in-place.
Applications should not reset LSNs in files that are currently in
use.
</para>
</remarks>
<param name="file"></param>
<param name="encrypted"></param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.SetMaxSequentialWrites(System.Int32,System.UInt32)">
<summary>
Limit the number of sequential write operations scheduled by the
library when flushing dirty pages from the cache.
</summary>
<param name="maxWrites">
The maximum number of sequential write operations scheduled by the
library when flushing dirty pages from the cache, or 0 if there is
no limitation on the number of sequential write operations.
</param>
<param name="pause">
The number of microseconds the thread of control should pause before
scheduling further write operations. It must be specified as an
unsigned 32-bit number of microseconds, limiting the maximum pause
to roughly 71 minutes.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.SyncMemPool">
<summary>
Flush all modified pages in the cache to their backing files.
</summary>
<remarks>
Pages in the cache that cannot be immediately written back to disk
(for example, pages that are currently in use by another thread of
control) are waited for and written to disk as soon as it is
possible to do so.
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.SyncMemPool(BerkeleyDB.LSN)">
<summary>
Flush modified pages in the cache with log sequence numbers less
than <paramref name="minLSN"/> to their backing files.
</summary>
<remarks>
Pages in the cache that cannot be immediately written back to disk
(for example, pages that are currently in use by another thread of
control) are waited for and written to disk as soon as it is
possible to do so.
</remarks>
<param name="minLSN">
All modified pages with a log sequence number less than the minLSN
parameter are written to disk. If null, all modified pages in the
cache are written to disk.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.TrickleCleanMemPool(System.Int32)">
<summary>
Ensure that a specified percent of the pages in the cache are clean,
by writing dirty pages to their backing files.
</summary>
<param name="pctClean">
The percent of the pages in the cache that should be clean.
</param>
<returns>
The number of pages written to reach the specified percentage is
copied.
</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.WriteToLog(System.String)">
<summary>
Append an informational message to the Berkeley DB database
environment log files.
</summary>
<overloads>
WriteToLog allows applications to include information in the
database environment log files, for later review using the
db_printlog utility. This method is intended for debugging and
performance tuning.
</overloads>
<param name="str">The message to append to the log files</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.WriteToLog(System.String,BerkeleyDB.Transaction)">
<summary>
Append an informational message to the Berkeley DB database
environment log files.
</summary>
<overloads>
WriteToLog allows applications to include information in the
database environment log files, for later review using the
db_printlog utility. This method is intended for debugging and
performance tuning.
</overloads>
<param name="str">The message to append to the log files</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>;
otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LockingSystemStats">
<summary>
The locking subsystem statistics
</summary>
<returns>The locking subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LockingSystemStats(System.Boolean)">
<summary>
The locking subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The locking subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LoggingSystemStats">
<summary>
The logging subsystem statistics
</summary>
<returns>The logging subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.LoggingSystemStats(System.Boolean)">
<summary>
The logging subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The logging subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.MPoolSystemStats">
<summary>
The memory pool (that is, the buffer cache) subsystem statistics
</summary>
<returns>The memory pool subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.MPoolSystemStats(System.Boolean)">
<summary>
The memory pool (that is, the buffer cache) subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The memory pool subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.MutexSystemStats">
<summary>
The mutex subsystem statistics
</summary>
<returns>The mutex subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.MutexSystemStats(System.Boolean)">
<summary>
The mutex subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The mutex subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrSystemStats">
<summary>
The replication manager statistics
</summary>
<returns>The replication manager statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.RepMgrSystemStats(System.Boolean)">
<summary>
The replication manager statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The replication manager statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ReplicationSystemStats">
<summary>
The replication subsystem statistics
</summary>
<returns>The replication subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.ReplicationSystemStats(System.Boolean)">
<summary>
The replication subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The replication subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.TransactionSystemStats">
<summary>
The transaction subsystem statistics
</summary>
<returns>The transaction subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.TransactionSystemStats(System.Boolean)">
<summary>
The transaction subsystem statistics
</summary>
<param name="clearStats">
If true, reset statistics after returning their values.
</param>
<returns>The transaction subsystem statistics</returns>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintLockingSystemStats">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintLockingSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintLockingSystemStats(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
<param name="ConflictMatrix">
If true, display the lock conflict matrix.
</param>
<param name="Lockers">
If true, Display the lockers within hash chains.
</param>
<param name="Objects">
If true, display the lock objects within hash chains.
</param>
<param name="Parameters">
If true, display the locking subsystem parameters.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintLoggingSystemStats">
<summary>
Display the logging subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LogStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintLoggingSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the logging subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LogStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintMPoolSystemStats">
<summary>
Display the memory pool (that is, buffer cache) subsystem
statistical information, as described by <see cref="T:BerkeleyDB.MPoolStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintMPoolSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the memory pool (that is, buffer cache) subsystem
statistical information, as described by <see cref="T:BerkeleyDB.MPoolStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintMPoolSystemStats(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Display the memory pool (that is, buffer cache) subsystem
statistical information, as described by <see cref="T:BerkeleyDB.MPoolStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
<param name="HashChains">
If true, display the buffers with hash chains.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintMutexSystemStats">
<summary>
Display the mutex subsystem statistical information, as described
by <see cref="T:BerkeleyDB.MutexStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintMutexSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the mutex subsystem statistical information, as described
by <see cref="T:BerkeleyDB.MutexStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintRepMgrSystemStats">
<summary>
Display the replication manager statistical information, as
described by <see cref="T:BerkeleyDB.RepMgrStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintRepMgrSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the replication manager statistical information, as
described by <see cref="T:BerkeleyDB.RepMgrStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintReplicationSystemStats">
<summary>
Display the replication subsystem statistical information, as
described by <see cref="T:BerkeleyDB.ReplicationStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintReplicationSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the replication subsystem statistical information, as
described by <see cref="T:BerkeleyDB.ReplicationStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintStats">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintStats(System.Boolean,System.Boolean)">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintSubsystemStats">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintSubsystemStats(System.Boolean,System.Boolean)">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintStats(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Display the locking subsystem statistical information, as described
by <see cref="T:BerkeleyDB.LockStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintTransactionSystemStats">
<summary>
Display the transaction subsystem statistical information, as
described by <see cref="T:BerkeleyDB.TransactionStats"/>.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironment.PrintTransactionSystemStats(System.Boolean,System.Boolean)">
<summary>
Display the transaction subsystem statistical information, as
described by <see cref="T:BerkeleyDB.TransactionStats"/>.
</summary>
<param name="PrintAll">
If true, display all available information.
</param>
<param name="ClearStats">
If true, reset statistics after displaying their values.
</param>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.AutoCommit">
<summary>
If true, database operations for which no explicit transaction
handle was specified, and which modify databases in the database
environment, will be automatically enclosed within a transaction.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.CacheSize">
<summary>
The size of the shared memory buffer pool -- that is, the cache.
</summary>
<remarks>
<para>
The cache should be the size of the normal working data set of the
application, with some small amount of additional memory for unusual
situations. (Note: the working set is not the same as the number of
pages accessed simultaneously, and is usually much larger.)
</para>
<para>
The default cache size is 256KB, and may not be specified as less
than 20KB. Any cache size less than 500MB is automatically increased
by 25% to account for buffer pool overhead; cache sizes larger than
500MB are used as specified. The maximum size of a single cache is
4GB on 32-bit systems and 10TB on 64-bit systems. (All sizes are in
powers-of-two, that is, 256KB is 2^18 not 256,000.) For information
on tuning the Berkeley DB cache size, see Selecting a cache size in
the Programmer's Reference Guide.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.CDB_ALLDB">
<summary>
If true, Berkeley DB Concurrent Data Store applications will perform
locking on an environment-wide basis rather than on a per-database
basis.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Create">
<summary>
If true, Berkeley DB subsystems will create any underlying files, as
necessary.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.DataDirs">
<summary>
The array of directories where database files are stored.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.DeadlockResolution">
<summary>
The deadlock detector configuration, specifying what lock request(s)
should be rejected. As transactions acquire locks on behalf of a
single locker ID, rejecting a lock request associated with a
transaction normally requires the transaction be aborted.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.EncryptAlgorithm">
<summary>
The algorithm used by the Berkeley DB library to perform encryption
and decryption.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.ErrorFeedback">
<summary>
The mechanism for reporting detailed error messages to the
application.
</summary>
<remarks>
<para>
When an error occurs in the Berkeley DB library, a
<see cref="T:BerkeleyDB.DatabaseException"/>, or subclass of DatabaseException,
is thrown. In some cases, however, the exception may be insufficient
to completely describe the cause of the error, especially during
initial application debugging.
</para>
<para>
In some cases, when an error occurs, Berkeley DB will call the given
delegate with additional error information. It is up to the delegate
to display the error message in an appropriate manner.
</para>
<para>
Setting ErrorFeedback to NULL unconfigures the callback interface.
</para>
<para>
This error-logging enhancement does not slow performance or
significantly increase application size, and may be run during
normal operation as well as during application debugging.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.ErrorPrefix">
<summary>
The prefix string that appears before error messages issued by
Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
ErrorPrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.ErrorPrefix"/>.
</para>
<para>
Setting ErrorPrefix configures operations performed using the
specified object, not all operations performed on the underlying
database.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.EventNotify">
<summary>
A delegate which is called to notify the process of specific
Berkeley DB events.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Feedback">
<summary>
Monitor progress within long running operations.
</summary>
<remarks>
<para>
Some operations performed by the Berkeley DB library can take
non-trivial amounts of time. The Feedback delegate can be used by
applications to monitor progress within these operations. When an
operation is likely to take a long time, Berkeley DB will call the
specified delegate with progress information.
</para>
<para>
It is up to the delegate to display this information in an
appropriate manner.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.ForceFlush">
<summary>
If true, 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.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.FreeThreaded">
<summary>
If true, the object is free-threaded; that is, concurrently usable
by multiple threads in the address space.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Home">
<summary>
The database environment home directory.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.InitRegions">
<summary>
If true, Berkeley DB will page-fault shared regions into memory when
initially creating or joining a Berkeley DB environment.
</summary>
<remarks>
<para>
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.)
</para>
<para>
In addition to page-faulting, 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.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.IntermediateDirMode">
<summary>
The intermediate directory permissions.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LockConflictMatrix">
<summary>
The current lock conflicts array.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Lockdown">
<summary>
If true, lock shared Berkeley DB environment files and memory-mapped
databases into memory.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LockPartitions">
<summary>
The number of lock table partitions used in the Berkeley DB
environment.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LockTimeout">
<summary>
A value, in microseconds, representing lock timeouts.
</summary>
<remarks>
<para>
All timeouts are checked whenever a thread of control blocks on a
lock or when deadlock detection is performed. As timeouts are only
checked when the lock request first blocks or when deadlock
detection is performed, the accuracy of the timeout depends on how
often deadlock detection is performed.
</para>
<para>
Timeout values specified for the database environment may be
overridden on a per-transaction basis, see
<see cref="M:BerkeleyDB.Transaction.SetLockTimeout(System.UInt32)"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogBufferSize">
<summary>
The size of the in-memory log buffer, in bytes
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogDir">
<summary>
The path of a directory to be used as the location of logging files.
Log files created by the Log Manager subsystem will be created in
this directory.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogFileMode">
<summary>
The absolute file mode for created log files. This property is only
useful for the rare Berkeley DB application that does not control
its umask value.
</summary>
<remarks>
Normally, if Berkeley DB applications set their umask appropriately,
all processes in the application suite will have read permission on
the log files created by any process in the application suite.
However, if the Berkeley DB application is a library, a process
using the library might set its umask to a value preventing other
processes in the application suite from reading the log files it
creates. In this rare case, this property can be used to set the
mode of created log files to an absolute value.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogNoBuffer">
<summary>
If true, system buffering is turned off for Berkeley DB log files to
avoid double caching.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogForceSync">
<summary>
If true, Berkeley DB will 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.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogAutoRemove">
<summary>
If true, Berkeley DB will automatically remove log files that are no
longer needed.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogInMemory">
<summary>
If true, transaction logs are maintained in memory rather than on
disk. This means that transactions exhibit the ACI (atomicity,
consistency, and isolation) properties, but not D (durability).
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogZeroOnCreate">
<summary>
If true, all pages of a log file are zeroed when that log file is
created.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.LogRegionSize">
<summary>
The size of the underlying logging area of the Berkeley DB
environment, in bytes.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxCacheSize">
<summary>
The maximum cache size
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxLogFileSize">
<summary>
The maximum size of a single file in the log, in bytes. Because
<see cref="F:BerkeleyDB.LSN.Offset">LSN Offsets</see> are unsigned four-byte
values, the size may not be larger than the maximum unsigned
four-byte value.
</summary>
<remarks>
<para>
When the logging subsystem is configured for on-disk logging, the
default size of a log file is 10MB.
</para>
<para>
When the logging subsystem is configured for in-memory logging, the
default size of a log file is 256KB. In addition, the configured log
buffer size must be larger than the log file size. (The logging
subsystem divides memory configured for in-memory log records into
"files", as database environments configured for in-memory log
records may exchange log records with other members of a replication
group, and those members may be configured to store log records
on-disk.) 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.
</para>
<para>
See Log File Limits in the Programmer's Reference Guide for more
information.
</para>
<para>
If no size is specified by the application, the size last specified
for the database region will be used, or if no database region
previously existed, the default will be used.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxLockers">
<summary>
The maximum number of locking entities supported by the Berkeley DB
environment.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxLocks">
<summary>
The maximum number of locks supported by the Berkeley DB
environment.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxMutexes">
<summary>
The total number of mutexes allocated
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxObjects">
<summary>
The maximum number of locked objects
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxOpenFiles">
<summary>
The number of file descriptors the library will open concurrently
when flushing dirty pages from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxSequentialWrites">
<summary>
The number of sequential write operations scheduled by the library
when flushing dirty pages from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MaxTransactions">
<summary>
The number of active transactions supported by the environment. This
value bounds the size of the memory allocated for transactions.
Child transactions are counted as active until they either commit or
abort.
</summary>
<remarks>
<para>
Transactions that update multiversion databases are not freed until
the last page version that the transaction created is flushed from
cache. This means that applications using multi-version concurrency
control may need a transaction for each page in cache, in the
extreme case.
</para>
<para>
When all of the memory available in the database environment for
transactions is in use, calls to <see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/> will
fail (until some active transactions complete). If MaxTransactions
is never set, the database environment is configured to support at
least 100 active transactions.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MessagePrefix">
<summary>
The prefix string that appears before informational messages issued
by Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
MessagePrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.MessagePrefix"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MMapSize">
<summary>
The maximum file size, in bytes, for a file to be mapped into the
process address space. If no value is specified, it defaults to
10MB.
</summary>
<remarks>
Files that are opened read-only in the cache (and that satisfy a few
other criteria) are, by default, mapped into the process address
space instead of being copied into the local cache. This can result
in better-than-usual performance because available virtual memory is
normally much larger than the local cache, and page faults are
faster than page copying on many systems. However, it can cause
resource starvation in the presence of limited virtual memory, and
it can result in immense process sizes in the presence of large
databases.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MutexAlignment">
<summary>
The mutex alignment, in bytes.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.MutexIncrement">
<summary>
The number of additional mutexes allocated.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.NoBuffer">
<summary>
If true, turn off system buffering of Berkeley DB database files to
avoid double caching.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.NoLocking">
<summary>
If true, 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.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.NoMMap">
<summary>
If true, Berkeley DB will copy read-only database files into the
local cache instead of potentially mapping them into process memory.
</summary>
<seealso cref="P:BerkeleyDB.DatabaseEnvironment.MMapSize"/>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.NoPanic">
<summary>
If true, 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
<see cref="T:BerkeleyDB.RunRecoveryException"/>.) This functionality should never
be used for purposes other than debugging.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.NumTestAndSetSpins">
<summary>
The number of times that test-and-set mutexes should spin without
blocking. The value defaults to 1 on uniprocessor systems and to 50
times the number of processors on multiprocessor systems.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Overwrite">
<summary>
If true, overwrite files stored in encrypted formats before deleting
them.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Private">
<summary>
If true, allocate region memory from the heap instead of from memory
backed by the filesystem or system shared memory.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Register">
<summary>
If true, Berkeley DB will have checked to see if recovery needed to
be performed before opening the database environment.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepAckTimeout">
<summary>
The amount of time the replication manager's transport function
waits to collect enough acknowledgments from replication group
clients, before giving up and returning a failure indication. The
default wait time is 1 second.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepBulkTransfer">
<summary>
If true, the replication master sends groups of records to the
clients in a single network transfer
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepCheckpointDelay">
<summary>
The amount of time a master site will delay between completing a
checkpoint and writing a checkpoint record into the log.
</summary>
<remarks>
This delay allows clients to complete their own checkpoints before
the master requires completion of them. The default is 30 seconds.
If all databases in the environment, and the environment's
transaction log, are configured to reside in memory (never preserved
to disk), then, although checkpoints are still necessary, the delay
is not useful and should be set to 0.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepClockskewFast">
<summary>
The value, relative to <see cref="P:BerkeleyDB.DatabaseEnvironment.RepClockskewSlow"/>, of the
fastest clock in the group of sites.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepClockskewSlow">
<summary>
The value of the slowest clock in the group of sites.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepConnectionRetry">
<summary>
The amount of time the replication manager will wait before trying
to re-establish a connection to another site after a communication
failure. The default wait time is 30 seconds.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepDelayClientSync">
<summary>
If true, the client should delay synchronizing to a newly declared
master (defaults to false). Clients configured in this way will remain
unsynchronized until the application calls <see cref="M:BerkeleyDB.DatabaseEnvironment.RepSync"/>.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepElectionRetry">
<summary>
Configure the amount of time the replication manager will wait
before retrying a failed election. The default wait time is 10
seconds.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepElectionTimeout">
<summary>
The timeout period for an election. The default timeout is 2
seconds.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepFullElectionTimeout">
<summary>
An optional configuration timeout period to wait for full election
participation the first time the replication group finds a master.
By default this option is turned off and normal election timeouts
are used. (See the Elections section in the Berkeley DB Reference
Guide for more information.)
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepHeartbeatMonitor">
<summary>
The amount of time the replication manager, running at a client
site, waits for some message activity on the connection from the
master (heartbeats or other messages) before concluding that the
connection has been lost. When 0 (the default), no monitoring is
performed.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepHeartbeatSend">
<summary>
The frequency at which the replication manager, running at a master
site, broadcasts a heartbeat message in an otherwise idle system.
When 0 (the default), no heartbeat messages will be sent.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepLeaseTimeout">
<summary>
The amount of time a client grants its master lease to a master.
When using master leases all sites in a replication group must use
the same lease timeout value. There is no default value. If leases
are desired, this method must be called prior to calling
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartClient"/> or <see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster"/>.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepMgrAckPolicy">
<summary>
Specify how master and client sites will handle acknowledgment of
replication messages which are necessary for "permanent" records.
The current implementation requires all sites in a replication group
configure the same acknowledgement policy.
</summary>
<seealso cref="P:BerkeleyDB.DatabaseEnvironment.RepAckTimeout"/>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepMgrLocalSite">
<summary>
The host information for the local system.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepMgrRemoteSites">
<summary>
The status of the sites currently known by the replication manager.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepNoAutoInit">
<summary>
If true, the replication master will not automatically re-initialize
outdated clients (defaults to false).
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepNoBlocking">
<summary>
If true, Berkeley DB method calls that would normally block while
clients are in recovery will return errors immediately (defaults to
false).
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepNSites">
<summary>
The total number of sites in the replication group.
</summary>
<remarks>
<para>
This setting is typically used by applications which use the
Berkeley DB library "replication manager" support. (However, see
also <see cref="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection"/>, the description of the nsites
parameter.)
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepPriority">
<summary>
The database environment's priority in replication group elections.
A special value of 0 indicates that this environment cannot be a
replication group master. If not configured, then a default value
of 100 is used.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepRetransmissionRequestMin">
<summary>
The minimum number of microseconds a client waits before requesting
retransmission.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepRetransmissionRequestMax">
<summary>
The maximum number of microseconds a client waits before requesting
retransmission.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepStrict2Site">
<summary>
Replication Manager observes the strict "majority" rule in managing
elections, even in a group with only 2 sites. This means the client
in a 2-site group will be unable to take over as master if the
original master fails or becomes disconnected. (See the Elections
section in the Berkeley DB Reference Guide for more information.)
Both sites in the replication group should have the same value for
this parameter.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepTransmitLimitGBytes">
<summary>
The gigabytes component of the byte-count limit on the amount of
data that will be transmitted from a site in response to a single
message processed by <see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepTransmitLimitBytes">
<summary>
The bytes component of the byte-count limit on the amount of data
that will be transmitted from a site in response to a single
message processed by <see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepTransport">
<summary>
The delegate used to transmit data using the replication
application's communication infrastructure.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RepUseMasterLeases">
<summary>
If true, master leases will be used for this site (defaults to
false).
</summary>
<remarks>
Configuring this option may result in a
<see cref="T:BerkeleyDB.LeaseExpiredException"/> when attempting to read entries
from a database after the site's master lease has expired.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RunFatalRecovery">
<summary>
If true, catastrophic recovery was run on this environment before
opening it for normal use.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.RunRecovery">
<summary>
If true, normal recovery was run on this environment before opening
it for normal use.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.SequentialWritePause">
<summary>
The number of microseconds the thread of control will pause before
scheduling further write operations.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.SetThreadID">
<summary>
A delegate that returns a unique identifier pair for the current
thread of control.
</summary>
<remarks>
This delegate supports <see cref="M:BerkeleyDB.DatabaseEnvironment.FailCheck"/>. For more
information, see Architecting Data Store and Concurrent Data Store
applications, and Architecting Transactional Data Store
applications, both in the Berkeley DB Programmer's Reference Guide.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.SetThreadName">
<summary>
A delegate that formats a process ID and thread ID identifier pair.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.SystemMemory">
<summary>
If true, allocate region memory from system shared memory instead of
from heap memory or memory backed by the filesystem.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TempDir">
<summary>
The path of a directory to be used as the location of temporary
files.
</summary>
<remarks>
<para>
The files created to back in-memory access method databases will be
created relative to this path. These temporary files can be quite
large, depending on the size of the database.
</para>
<para>
If no directories are specified, the following alternatives are
checked in the specified order. The first existing directory path is
used for all temporary files.
</para>
<list type="number">
<item>The value of the environment variable TMPDIR.</item>
<item>The value of the environment variable TEMP.</item>
<item>The value of the environment variable TMP.</item>
<item>The value of the environment variable TempFolder.</item>
<item>The value returned by the GetTempPath interface.</item>
<item>The directory /var/tmp.</item>
<item>The directory /usr/tmp.</item>
<item>The directory /temp.</item>
<item>The directory /tmp.</item>
<item>The directory C:/temp.</item>
<item>The directory C:/tmp.</item>
</list>
<para>
Environment variables are only checked if
<see cref="P:BerkeleyDB.DatabaseEnvironment.UseEnvironmentVars"/> is true.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.ThreadCount">
<summary>
An approximate number of threads in the database environment.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.ThreadIsAlive">
<summary>
A delegate that returns if a thread of control (either a true thread
or a process) is still running.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TimeNotGranted">
<summary>
If true, database calls timing out based on lock or transaction
timeout values will throw <see cref="T:BerkeleyDB.LockNotGrantedException"/>
instead of <see cref="T:BerkeleyDB.DeadlockException"/>.
</summary>
<remarks>
If true, this allows applications to distinguish between operations
which have deadlocked and operations which have exceeded their time
limits.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnNoSync">
<summary>
If true, Berkeley DB will not write or synchronously flush the log
on transaction commit.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnNoWait">
<summary>
If true and a lock is unavailable for any Berkeley DB operation
performed in the context of a transaction, cause the operation to
throw <see cref="T:BerkeleyDB.DeadlockException"/> (or
<see cref="T:BerkeleyDB.LockNotGrantedException"/> if configured with
<see cref="P:BerkeleyDB.DatabaseEnvironment.TimeNotGranted"/>).
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnSnapshot">
<summary>
If true, all transactions in the environment will be started as if
<see cref="F:BerkeleyDB.TransactionConfig.Snapshot"/> was passed to
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>, and all non-transactional cursors
will be opened as if <see cref="F:BerkeleyDB.CursorConfig.SnapshotIsolation"/>
was passed to <see cref="M:BerkeleyDB.BaseDatabase.Cursor"/>.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnTimeout">
<summary>
A value, in microseconds, representing transaction timeouts.
</summary>
<remarks>
<para>
All timeouts are checked whenever a thread of control blocks on a
lock or when deadlock detection is performed. As timeouts are only
checked when the lock request first blocks or when deadlock
detection is performed, the accuracy of the timeout depends on how
often deadlock detection is performed.
</para>
<para>
Timeout values specified for the database environment may be
overridden on a per-transaction basis, see
<see cref="M:BerkeleyDB.Transaction.SetTxnTimeout(System.UInt32)"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnTimestamp">
<summary>
The recovery timestamp
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.TxnWriteNoSync">
<summary>
If true, Berkeley DB will write, but will not synchronously flush,
the log on transaction commit.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UseMVCC">
<summary>
If true, all databases in the environment will be opened as if
<see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/> was set.
</summary>
<remarks>
This flag will be ignored for queue databases for which MVCC is not
supported.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingCDB">
<summary>
If true, locking for the Berkeley DB Concurrent Data Store product
was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingLocking">
<summary>
If true, the locking subsystem was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingLogging">
<summary>
If true, the logging subsystem was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingMPool">
<summary>
If true, the shared memory buffer pool subsystem was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingReplication">
<summary>
If true, the replication subsystem was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UsingTxns">
<summary>
If true, the transaction subsystem was initialized.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.Verbosity">
<summary>
Specific additional informational and debugging messages in the
Berkeley DB message output.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.YieldCPU">
<summary>
If true, Berkeley DB will yield the processor immediately after each
page or mutex acquisition.
</summary>
<remarks>
This functionality should never be used for purposes other than
stress testing.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironment.UseEnvironmentVars">
<summary>
The Berkeley DB process' environment may be permitted to specify
information to be used when naming files; see Berkeley DB File
Naming in the Programmer's Reference Guide for more information.
</summary>
</member>
<member name="T:BerkeleyDB.ReplicationStats">
<summary>
Statistical information about the replication subsystem
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.CurrentQueuedLogRecords">
<summary>
Log records currently queued.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ClientStartupComplete">
<summary>
Site completed client sync-up.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Status">
<summary>
Current replication status.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.NextLSN">
<summary>
Next LSN to use or expect.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.AwaitedLSN">
<summary>
LSN we're awaiting, if any.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MaxPermanentLSN">
<summary>
Maximum permanent LSN.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.NextPage">
<summary>
Next pg we expect.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.AwaitedPage">
<summary>
pg we're awaiting, if any.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.DupMasters">
<summary>
# of times a duplicate master condition was detected.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.EnvID">
<summary>
Current environment ID.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.EnvPriority">
<summary>
Current environment priority.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.BulkBufferFills">
<summary>
Bulk buffer fills.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.BulkBufferOverflows">
<summary>
Bulk buffer overflows.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.BulkRecordsStored">
<summary>
Bulk records stored.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.BulkBufferTransfers">
<summary>
Transfers of bulk buffers.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ForcedRerequests">
<summary>
Number of forced rerequests.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ClientServiceRequests">
<summary>
Number of client service requests received by this client.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ClientServiceRequestsMissing">
<summary>
Number of client service requests missing on this client.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.CurrentGenerationNumber">
<summary>
Current generation number.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.CurrentElectionGenerationNumber">
<summary>
Current election gen number.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.DuplicateLogRecords">
<summary>
Log records received multiply.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MaxQueuedLogRecords">
<summary>
Max. log records queued at once.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.QueuedLogRecords">
<summary>
Total # of log recs. ever queued.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ReceivedLogRecords">
<summary>
Log records received and put.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MissedLogRecords">
<summary>
Log recs. missed and requested.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MasterEnvID">
<summary>
Env. ID of the current master.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MasterChanges">
<summary>
# of times we've switched masters.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.BadGenerationMessages">
<summary>
Messages with a bad generation #.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ReceivedMessages">
<summary>
Messages received and processed.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.IgnoredMessages">
<summary>
Messages ignored because this site was a client in recovery.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.FailedMessageSends">
<summary>
# of failed message sends.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MessagesSent">
<summary>
# of successful message sends.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.NewSiteMessages">
<summary>
# of NEWSITE msgs. received.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Sites">
<summary>
Current number of sites we will assume during elections.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Throttled">
<summary>
# of times we were throttled.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Outdated">
<summary>
# of times we detected and returned an OUTDATED condition.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.DuplicatePages">
<summary>
Pages received multiply.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ReceivedPages">
<summary>
Pages received and stored.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MissedPages">
<summary>
Pages missed and requested.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.AppliedTransactions">
<summary>
# of transactions applied.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.StartSyncMessagesDelayed">
<summary>
# of STARTSYNC msgs delayed.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Elections">
<summary>
# of elections held.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionsWon">
<summary>
# of elections won by this site.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.CurrentWinner">
<summary>
Current front-runner.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionGenerationNumber">
<summary>
Election generation number.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.CurrentWinnerMaxLSN">
<summary>
Max. LSN of current winner.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.RegisteredSites">
<summary>
# of "registered voters".
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.RegisteredSitesNeeded">
<summary>
# of "registered voters" needed.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionPriority">
<summary>
Current election priority.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionStatus">
<summary>
Current election status.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionTiebreaker">
<summary>
Election tiebreaker value.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.Votes">
<summary>
Votes received in this round.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionTimeSec">
<summary>
Last election time seconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.ElectionTimeUSec">
<summary>
Last election time useconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MaxLeaseSec">
<summary>
Maximum lease timestamp seconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationStats.MaxLeaseUSec">
<summary>
Maximum lease timestamp useconds.
</summary>
</member>
<member name="T:BerkeleyDB.ErrorCodes">
<summary>
Constants representing error codes returned by the Berkeley DB library.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_BUFFER_SMALL">
<summary>
User memory too small for return.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_DONOTINDEX">
<summary>
"Null" return from 2ndary callbk.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_FOREIGN_CONFLICT">
<summary>
A foreign db constraint triggered.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_KEYEMPTY">
<summary>
Key/data deleted or never created.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_KEYEXIST">
<summary>
The key/data pair already exists.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_LOCK_DEADLOCK">
<summary>
Deadlock.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_LOCK_NOTGRANTED">
<summary>
Lock unavailable.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_LOG_BUFFER_FULL">
<summary>
In-memory log buffer full.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_NOSERVER">
<summary>
Server panic return.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_NOSERVER_HOME">
<summary>
Bad home sent to server.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_NOSERVER_ID">
<summary>
Bad ID sent to server.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_NOTFOUND">
<summary>
Key/data pair not found (EOF).
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_OLD_VERSION">
<summary>
Out-of-date version.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_PAGE_NOTFOUND">
<summary>
Requested page not found.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_DUPMASTER">
<summary>
There are two masters.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_HANDLE_DEAD">
<summary>
Rolled back a commit.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_HOLDELECTION">
<summary>
Time to hold an election.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_IGNORE">
<summary>
This msg should be ignored.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_ISPERM">
<summary>
Cached not written perm written.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_JOIN_FAILURE">
<summary>
Unable to join replication group.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_LEASE_EXPIRED">
<summary>
Master lease has expired.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_LOCKOUT">
<summary>
API/Replication lockout now.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_NEWSITE">
<summary>
New site entered system.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_NOTPERM">
<summary>
Permanent log record not written.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_REP_UNAVAIL">
<summary>
Site cannot currently be reached.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_RUNRECOVERY">
<summary>
Panic return.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_SECONDARY_BAD">
<summary>
Secondary index corrupt.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_VERIFY_BAD">
<summary>
Verify failed; bad format.
</summary>
</member>
<member name="F:BerkeleyDB.ErrorCodes.DB_VERSION_MISMATCH">
<summary>
Environment version mismatch.
</summary>
</member>
<member name="T:BerkeleyDB.ActiveTransaction">
<summary>
The ActiveTransaction class describes a currently active transaction.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.ID">
<summary>
The transaction ID of the transaction.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.ParentID">
<summary>
The transaction ID of the parent transaction (or 0, if no parent).
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.ProcessID">
<summary>
The process ID of the originator of the transaction.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.ThreadID">
<summary>
The thread of control ID of the originator of the transaction.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.Begun">
<summary>
The current log sequence number when the transaction was begun.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.SnapshotReads">
<summary>
The log sequence number of reads for snapshot transactions.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.BufferCopiesInCache">
<summary>
The number of MVCC buffer copies created by this transaction that
remain in cache.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.Status">
<summary>
Status of the transaction.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.GlobalID">
<summary>
If the transaction is a prepare transaction, the transaction's
Global ID. Otherwise, the GlobalID contents are undefined.
</summary>
</member>
<member name="P:BerkeleyDB.ActiveTransaction.Name">
<summary>
If a name was specified for the transaction, up to the first 50
bytes of that name.
</summary>
</member>
<member name="T:BerkeleyDB.ActiveTransaction.TransactionStatus">
<summary>
The status of an active transaction.
</summary>
</member>
<member name="F:BerkeleyDB.ActiveTransaction.TransactionStatus.ABORTED">
<summary>
The transaction has been aborted
</summary>
</member>
<member name="F:BerkeleyDB.ActiveTransaction.TransactionStatus.COMMITTED">
<summary>
The transaction has been committed
</summary>
</member>
<member name="F:BerkeleyDB.ActiveTransaction.TransactionStatus.PREPARED">
<summary>
The transaction has been prepared
</summary>
</member>
<member name="F:BerkeleyDB.ActiveTransaction.TransactionStatus.RUNNING">
<summary>
The transaction is running
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryRecnoDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.RecnoDatabase"/>
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.SecondaryDatabase"/>
</summary>
</member>
<member name="T:BerkeleyDB.DatabaseConfig">
<summary>
A class representing configuration parameters for <see cref="T:BerkeleyDB.Database"/>
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.Env">
<summary>
The Berkeley DB environment within which to create a database. If
null, the database will be created stand-alone; that is, it is not
part of any Berkeley DB environment.
</summary>
<remarks>
The database access methods automatically make calls to the other
subsystems in Berkeley DB, based on the enclosing environment. For
example, if the environment has been configured to use locking, the
access methods will automatically acquire the correct locks when
reading and writing pages of the database.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.Priority">
<summary>
The cache priority for pages referenced by the database.
</summary>
<remarks>
The priority of a page biases the replacement algorithm to be more
or less likely to discard a page when space is needed in the buffer
pool. The bias is temporary, and pages will eventually be discarded
if they are not referenced again. This priority is only advisory,
and does not guarantee pages will be treated in a specific way.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.CacheSize">
<summary>
The size of the shared memory buffer pool -- that is, the cache.
</summary>
<remarks>
<para>
The cache should be the size of the normal working data set of the
application, with some small amount of additional memory for unusual
situations. (Note: the working set is not the same as the number of
pages accessed simultaneously, and is usually much larger.)
</para>
<para>
The default cache size is 256KB, and may not be specified as less
than 20KB. Any cache size less than 500MB is automatically increased
by 25% to account for buffer pool overhead; cache sizes larger than
500MB are used as specified. The maximum size of a single cache is
4GB on 32-bit systems and 10TB on 64-bit systems. (All sizes are in
powers-of-two, that is, 256KB is 2^18 not 256,000.) For information
on tuning the Berkeley DB cache size, see Selecting a cache size in
the Programmer's Reference Guide.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.ByteOrder">
<summary>
The byte order for integers in the stored database metadata. The
host byte order of the machine where the Berkeley DB library was
compiled is the default value.
</summary>
<remarks>
<para>
The access methods provide no guarantees about the byte ordering of
the application data stored in the database, and applications are
responsible for maintaining any necessary ordering.
</para>
<para>
If creating additional databases in a single physical file, this
parameter will be ignored and the byte order of the existing
databases will be used.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseConfig.SetEncryption(System.String,BerkeleyDB.EncryptionAlgorithm)">
<summary>
Set the password and algorithm used by the Berkeley DB library to
perform encryption and decryption.
</summary>
<param name="password">
The password used to perform encryption and decryption.
</param>
<param name="alg">
The algorithm used to perform encryption and decryption.
</param>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.ErrorPrefix">
<summary>
The prefix string that appears before error messages issued by
Berkeley DB.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.MessagePrefix">
<summary>
The prefix string that appears before informational messages issued
by Berkeley DB.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.ErrorFeedback">
<summary>
The mechanism for reporting error messages to the application.
</summary>
<remarks>
<para>
In some cases, when an error occurs, Berkeley DB will call
ErrorFeedback with additional error information. It is up to the
delegate function to display the error message in an appropriate
manner.
</para>
<para>
This error-logging enhancement does not slow performance or
significantly increase application size, and may be run during
normal operation as well as during application debugging.
</para>
<para>
For databases opened inside of Berkeley DB environments, setting
ErrorFeedback affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.ErrorFeedback"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.Feedback">
<summary>
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.DoChecksum">
<summary>
If true, do checksum verification of pages read into the cache from
the backing filestore.
</summary>
<remarks>
<para>
Berkeley DB uses the SHA1 Secure Hash Algorithm if encryption is
configured and a general hash algorithm if it is not.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.NonDurableTxns">
<summary>
If true, Berkeley DB will not write log records for this database.
</summary>
<remarks>
If Berkeley DB does not write log records, updates of this database
will 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. The database file must be verified and/or restored
from backup after a failure. In order to ensure integrity after
application shut down, the database must be synced when closed, or
all database changes must be flushed from the database environment
cache using either
<see cref="M:BerkeleyDB.DatabaseEnvironment.Checkpoint"/> or
<see cref="M:BerkeleyDB.DatabaseEnvironment.SyncMemPool"/>. All database objects
for a single physical file must set NonDurableTxns, including
database objects for different databases in a physical file.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.AutoCommit">
<summary>
Enclose the open call within a transaction. If the call succeeds,
the open operation will be recoverable and all subsequent database
modification operations based on this handle will be transactionally
protected. If the call fails, no database will have been created.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.FreeThreaded">
<summary>
Cause the database object to be free-threaded; that is, concurrently
usable by multiple threads in the address space.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.NoMMap">
<summary>
Do not map this database into process memory.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.ReadOnly">
<summary>
Open the database for reading only. Any attempt to modify items in
the database will fail, regardless of the actual permissions of any
underlying files.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.ReadUncommitted">
<summary>
Support transactional read operations with degree 1 isolation.
</summary>
<remarks>
Read operations on the database may request the return of modified
but not yet committed data. This flag must be specified on all
database objects used to perform dirty reads or database updates,
otherwise requests for dirty reads may not be honored and the read
may block.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.Truncate">
<summary>
Physically truncate the underlying file, discarding all previous databases it might have held.
</summary>
<remarks>
<para>
Underlying filesystem primitives are used to implement this flag.
For this reason, it is applicable only to the file and cannot be
used to discard databases within a file.
</para>
<para>
This setting cannot be lock or transaction-protected, and it is an
error to specify it in a locking or transaction-protected
environment.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseConfig.UseMVCC">
<summary>
Open the database with support for multiversion concurrency control.
</summary>
<remarks>
This will cause updates to the database to follow a copy-on-write
protocol, which is required to support snapshot isolation. This
settting requires that the database be transactionally protected
during its open and is not supported by the queue format.
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseConfig.#ctor">
<summary>
Instantiate a new DatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseConfig.PageSize">
<summary>
The size of the pages used to hold items in the database, in bytes.
</summary>
<remarks>
<para>
The minimum page size is 512 bytes, the maximum page size is 64K
bytes, and the page size must be a power-of-two. If the page size is
not explicitly set, one is selected based on the underlying
filesystem I/O block size. The automatically selected size has a
lower limit of 512 bytes and an upper limit of 16K bytes.
</para>
<para>
For information on tuning the Berkeley DB page size, see Selecting a
page size in the Programmer's Reference Guide.
</para>
<para>
If creating additional databases in a single physical file, this
parameter will be ignored and the page size of the existing
databases will be used.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseConfig.EncryptionPassword">
<summary>
The password used to perform encryption and decryption.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseConfig.EncryptAlgorithm">
<summary>
The algorithm used to perform encryption and decryption.
</summary>
</member>
<member name="F:BerkeleyDB.SecondaryDatabaseConfig.Populate">
<summary>
If true and the secondary database is empty, walk through Primary
and create an index to it in the empty secondary. This operation is
potentially very expensive.
</summary>
<remarks>
<para>
If the secondary database has been opened in an environment
configured with transactions, the entire secondary index creation is
performed in the context of a single transaction.
</para>
<para>
Care should be taken not to use a newly-populated secondary database
in another thread of control until
<see cref="M:BerkeleyDB.SecondaryDatabase.Open(System.String,BerkeleyDB.SecondaryDatabaseConfig)"/> has returned successfully in
the first thread.
</para>
<para>
If transactions are not being used, care should be taken not to
modify a primary database being used to populate a secondary
database, in another thread of control, until
<see cref="M:BerkeleyDB.SecondaryDatabase.Open(System.String,BerkeleyDB.SecondaryDatabaseConfig)"/> has returned successfully in
the first thread. If transactions are being used, Berkeley DB will
perform appropriate locking and the application need not do any
special operation ordering.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryDatabaseConfig.ImmutableKey">
<summary>
If true, the secondary key is immutable.
</summary>
<remarks>
<para>
This setting can be used to optimize updates when the secondary key
in a primary record will never be changed after the primary record
is inserted. For immutable secondary keys, a best effort is made to
avoid calling the secondary callback function when primary records
are updated. This optimization may reduce the overhead of update
operations significantly if the callback function is expensive.
</para>
<para>
Be sure to specify this setting only if the secondary key in the
primary record is never changed. If this rule is violated, the
secondary index will become corrupted, that is, it will become out
of sync with the primary.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.SecondaryDatabaseConfig.#ctor(BerkeleyDB.Database,BerkeleyDB.SecondaryKeyGenDelegate)">
<summary>
Instantiate a new SecondaryDatabaseConfig object, with the default
configuration settings.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">
<summary>
All updates to Primary will be automatically reflected in the
secondary and all reads from the secondary will return corresponding
data from Primary.
</summary>
<remarks>
Note that as primary keys must be unique for secondary indices to
work, Primary must have been configured with
<see cref="F:BerkeleyDB.DuplicatesPolicy.NONE"/>.
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryDatabaseConfig.KeyGen">
<summary>
The delegate that creates the set of secondary keys corresponding to
a given primary key and data pair.
</summary>
<remarks>
KeyGen may be null if both
<see cref="P:BerkeleyDB.BaseDatabase.ReadOnly">Primary.ReadOnly</see> and
<see cref="F:BerkeleyDB.DatabaseConfig.ReadOnly"/> are true.
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.Renumber">
<summary>
Cause the logical record numbers to be mutable, and change as
records are added to and deleted from the database.
</summary>
<remarks>
<para>
For example, the deletion of record number 4 causes records numbered
5 and greater to be renumbered downward by one. If a cursor was
positioned to record number 4 before the deletion, it will refer to
the new record number 4, if any such record exists, after the
deletion. If a cursor was positioned after record number 4 before
the deletion, it will be shifted downward one logical record,
continuing to refer to the same record as it did before.
</para>
<para>
Using <see cref="M:BerkeleyDB.Database.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)"/> or <see cref="M:BerkeleyDB.Cursor.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.UInt32)"/> to
create new records will cause the creation of multiple records if
the record number is more than one greater than the largest record
currently in the database. For example, creating record 28, when
record 25 was previously the last record in the database, will
create records 26 and 27 as well as 28. Attempts to retrieve records
that were created in this manner will throw a
<see cref="T:BerkeleyDB.KeyEmptyException"/>.
</para>
<para>
If a created record is not at the end of the database, all records
following the new record will be automatically renumbered upward by
one. For example, the creation of a new record numbered 8 causes
records numbered 8 and greater to be renumbered upward by one. If a
cursor was positioned to record number 8 or greater before the
insertion, it will be shifted upward one logical record, continuing
to refer to the same record as it did before.
</para>
<para>
For these reasons, concurrent access to a
<see cref="T:BerkeleyDB.SecondaryRecnoDatabase"/> with this setting specified may
be largely meaningless, although it is supported.
</para>
<para>
If the database already exists, this setting must be the same as the
existing database or an exception will be thrown.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.Snapshot">
<summary>
If true, any <see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile"/> file will be read in its
entirety when <see cref="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)"/> is called.
If false, <see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile"/> may be read lazily.
</summary>
</member>
<member name="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile">
<summary>
The underlying source file for the Recno access method.
</summary>
<remarks>
<para>
The purpose of the source file is to provide fast access and
modification to databases that are normally stored as flat text
files.
</para>
<para>
The source parameter specifies an underlying flat text database file
that is read to initialize a transient record number index. In the
case of variable length records, the records are separated, as
specified by <see cref="P:BerkeleyDB.SecondaryRecnoDatabaseConfig.Delimiter"/>. For example, standard UNIX
byte stream files can be interpreted as a sequence of variable
length records separated by newline characters.
</para>
<para>
In addition, when cached data would normally be written back to the
underlying database file (for example,
<see cref="M:BerkeleyDB.BaseDatabase.Close"/> or
<see cref="M:BerkeleyDB.BaseDatabase.Sync"/>), the in-memory copy of the
database will be written back to the source file.
</para>
<para>
By default, the backing source file is read lazily; that is, records
are not read from the file until they are requested by the
application. If multiple processes (not threads) are accessing a
Recno database concurrently, and are either inserting or deleting
records, the backing source file must be read in its entirety before
more than a single process accesses the database, and only that
process should specify the backing source file as part of the
<see cref="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)"/> call. See
<see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.Snapshot"/> for more information.
</para>
<para>
Reading and writing the backing source file specified by source
cannot be transaction-protected because it involves filesystem
operations that are not part of the Db transaction methodology. For
this reason, if a temporary database is used to hold the records, it
is possible to lose the contents of the source file, for example, if
the system crashes at the right instant. If a file is used to hold
the database, normal database recovery on that file can be used to
prevent information loss, although it is still possible that the
contents of source will be lost if the system crashes.
</para>
<para>
The source file must already exist (but may be zero-length) when
<see cref="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)"/> is called.
</para>
<para>
It is not an error to specify a read-only source file when creating
a database, nor is it an error to modify the resulting database.
However, any attempt to write the changes to the backing source file
using either the <see cref="M:BerkeleyDB.BaseDatabase.Sync"/> or
<see cref="M:BerkeleyDB.BaseDatabase.Close"/> methods will fail, of course.
Use <see cref="M:BerkeleyDB.BaseDatabase.Close(System.Boolean)"/> to stop it from
attempting to write the changes to the backing file; instead, they
will be silently discarded.
</para>
<para>
For all of the previous reasons, the source file is generally used
to specify databases that are read-only for Berkeley DB
applications; and that are either generated on the fly by software
tools or modified using a different mechanism — for example, a text
editor.
</para>
<para>
If the database already exists, BackingFile must be the same as that
historically used to create the database or corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.SecondaryRecnoDatabaseConfig.#ctor(BerkeleyDB.Database,BerkeleyDB.SecondaryKeyGenDelegate)">
<summary>
Instantiate a new SecondaryRecnoDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabaseConfig.Delimiter">
<summary>
The delimiting byte used to mark the end of a record in
<see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile"/>.
</summary>
<remarks>
<para>
This byte is used for variable length records if
<see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile"/> is set. If <see cref="F:BerkeleyDB.SecondaryRecnoDatabaseConfig.BackingFile"/> is
specified and no delimiting byte was specified, newline characters
(that is, ASCII 0x0a) are interpreted as end-of-record markers.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabaseConfig.Length">
<summary>
Specify that the records are fixed-length, not byte-delimited, and
are of length Length.
</summary>
<remarks>
<para>
Any records added to the database that are less than Length bytes
long are automatically padded (see <see cref="P:BerkeleyDB.SecondaryRecnoDatabaseConfig.PadByte"/> for more
information).
</para>
<para>
Any attempt to insert records into the database that are greater
than Length bytes long will cause the call to fail immediately and
return an error.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabaseConfig.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
<remarks>
<para>
If no pad character is specified, space characters (that is, ASCII
0x20) are used for padding.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.MultipleDatabaseEntry">
<summary>
A class providing access to multiple <see cref="T:BerkeleyDB.DatabaseEntry"/>
objects.
</summary>
</member>
<member name="M:BerkeleyDB.MultipleDatabaseEntry.GetEnumerator">
<summary>
Return an enumerator which iterates over all
<see cref="T:BerkeleyDB.DatabaseEntry"/> objects represented by the
<see cref="T:BerkeleyDB.MultipleDatabaseEntry"/>.
</summary>
<returns>
An enumerator for the <see cref="T:BerkeleyDB.MultipleDatabaseEntry"/>
</returns>
</member>
<member name="T:BerkeleyDB.CachePriority">
<summary>
A class to represent cache priority for database pages
</summary>
</member>
<member name="F:BerkeleyDB.CachePriority.VERY_LOW">
<summary>
The lowest priority: pages are the most likely to be discarded.
</summary>
</member>
<member name="F:BerkeleyDB.CachePriority.LOW">
<summary>
The next lowest priority.
</summary>
</member>
<member name="F:BerkeleyDB.CachePriority.DEFAULT">
<summary>
The default priority.
</summary>
</member>
<member name="F:BerkeleyDB.CachePriority.HIGH">
<summary>
The next highest priority.
</summary>
</member>
<member name="F:BerkeleyDB.CachePriority.VERY_HIGH">
<summary>
The highest priority: pages are the least likely to be discarded.
</summary>
</member>
<member name="T:BerkeleyDB.SequenceStats">
<summary>
Statistical information about a Sequence
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.CacheSize">
<summary>
Cache size.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.CachedValue">
<summary>
Current cached value.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.Flags">
<summary>
Flag value.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.LastCachedValue">
<summary>
Last cached value.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.LockWait">
<summary>
Sequence lock granted w/o wait.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.LockNoWait">
<summary>
Sequence lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.Max">
<summary>
Maximum value.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.Min">
<summary>
Minimum value.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceStats.StoredValue">
<summary>
Current value in db.
</summary>
</member>
<member name="T:BerkeleyDB.QueueDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.QueueDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.QueueDatabaseConfig.ConsumeInOrder">
<summary>
If true, modify the operation of <see cref="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean)"/>
to return key/data pairs in order. That is, they will always return
the key/data item from the head of the queue.
</summary>
<remarks>
<para>
The default behavior of queue databases is optimized for multiple
readers, and does not guarantee that record will be retrieved in the
order they are added to the queue. Specifically, if a writing thread
adds multiple records to an empty queue, reading threads may skip
some of the initial records when the next
<see cref="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean)"/> call returns.
</para>
<para>
This setting modifies <see cref="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean)"/> to verify
that the record being returned is in fact the head of the queue.
This will increase contention and reduce concurrency when there are
many reading threads.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.QueueDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.QueueDatabase.Open(System.String,BerkeleyDB.QueueDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.QueueDatabaseConfig.Append">
<summary>
A function to call after the record number has been selected but
before the data has been stored into the database.
</summary>
<remarks>
<para>
When using <see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/>, it may be useful to
modify the stored data based on the generated key. If a delegate is
specified, it will be called after the record number has been
selected, but before the data has been stored.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.QueueDatabaseConfig.#ctor">
<summary>
Instantiate a new QueueDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.QueueDatabaseConfig.Length">
<summary>
Specify the length of records in the database.
</summary>
<remarks>
<para>
The record length must be enough smaller than
<see cref="P:BerkeleyDB.DatabaseConfig.PageSize"/> that at least one record plus
the database page's metadata information can fit on each database
page.
</para>
<para>
Any records added to the database that are less than Length bytes
long are automatically padded (see <see cref="P:BerkeleyDB.QueueDatabaseConfig.PadByte"/> for more
information).
</para>
<para>
Any attempt to insert records into the database that are greater
than Length bytes long will cause the call to fail immediately and
return an error.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.QueueDatabaseConfig.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
<remarks>
<para>
If no pad character is specified, space characters (that is, ASCII
0x20) are used for padding.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.QueueDatabaseConfig.ExtentSize">
<summary>
The size of the extents used to hold pages in a
<see cref="T:BerkeleyDB.QueueDatabase"/>, specified as a number of pages.
</summary>
<remarks>
<para>
Each extent is created as a separate physical file. If no extent
size is set, the default behavior is to create only a single
underlying database file.
</para>
<para>
For information on tuning the extent size, see Selecting a extent
size in the Programmer's Reference Guide.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.HashDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.HashDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.HashDatabaseConfig.Duplicates">
<summary>
Policy for duplicate data items in the database; that is, insertion
when the key of the key/data pair being inserted already exists in
the database will be successful.
</summary>
<remarks>
<para>
The ordering of duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> is determined by the order
of insertion, unless the ordering is otherwise specified by use of a
cursor operation or a duplicate sort function. The ordering of
duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is determined by the
duplicate comparison function. If the application does not specify a
comparison function using
<see cref="F:BerkeleyDB.HashDatabaseConfig.DuplicateCompare"/>, a default lexical
comparison will be used.
</para>
<para>
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is preferred to
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> for performance reasons.
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> should only be used by
applications wanting to order duplicate data items manually.
</para>
<para>
If the database already exists, the value of Duplicates must be the
same as the existing database or an error will be returned.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.HashDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.HashDatabase.Open(System.String,BerkeleyDB.HashDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.HashDatabaseConfig.HashComparison">
<summary>
The Hash key comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a key specified by the application with a key currently
stored in the tree.
</para>
<para>
If no comparison function is specified, the keys are compared
lexically, with shorter keys collating before longer keys.
</para>
<para>
If the database already exists, the comparison function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.HashDatabaseConfig.HashFunction">
<summary>
A user-defined hash function; if no hash function is specified, a
default hash function is used.
</summary>
<remarks>
<para>
Because no hash function performs equally well on all possible data,
the user may find that the built-in hash function performs poorly
with a particular data set.
</para>
<para>
If the database already exists, HashFunction must be the same as
that historically used to create the database or corruption can
occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.HashDatabaseConfig.DuplicateCompare">
<summary>
The duplicate data item comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a data item specified by the application with a data item
currently stored in the database. Setting DuplicateCompare implies
setting <see cref="F:BerkeleyDB.HashDatabaseConfig.Duplicates"/> to
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/>.
</para>
<para>
If no comparison function is specified, the data items are compared
lexically, with shorter data items collating before longer data
items.
</para>
<para>
If the database already exists when <see cref="M:BerkeleyDB.HashDatabase.Open(System.String,BerkeleyDB.HashDatabaseConfig)"/>
is called, the delegate must be the same as that historically used
to create the database or corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.HashDatabaseConfig.#ctor">
<summary>
Instantiate a new HashDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.HashDatabaseConfig.FillFactor">
<summary>
The desired density within the hash table. If no value is specified,
the fill factor will be selected dynamically as pages are filled.
</summary>
<remarks>
<para>
The density is an approximation of the number of keys allowed to
accumulate in any one bucket, determining when the hash table grows
or shrinks. If you know the average sizes of the keys and data in
your data set, setting the fill factor can enhance performance. A
reasonable rule computing fill factor is to set it to the following:
</para>
<para>
(pagesize - 32) / (average_key_size + average_data_size + 8)
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.HashDatabaseConfig.TableSize">
<summary>
An estimate of the final size of the hash table.
</summary>
<remarks>
<para>
In order for the estimate to be used when creating the database,
<see cref="P:BerkeleyDB.HashDatabaseConfig.FillFactor"/> must also be set. If the estimate or fill
factor are not set or are set too low, hash tables will still expand
gracefully as keys are entered, although a slight performance
degradation may be noticed.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.SecondaryRecnoDatabase">
<summary>
A class representing a RecnoDatabase. The Recno format supports fixed-
or variable-length records, accessed sequentially or by logical record
number, and optionally backed by a flat text file.
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryDatabase">
<summary>
A class representing a secondary Berkeley DB database, a base class for
access method specific classes.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.#ctor(BerkeleyDB.DatabaseEnvironment,System.UInt32)">
<summary>
Protected construtor
</summary>
<param name="env">The environment in which to open the DB</param>
<param name="flags">Flags to pass to DB->create</param>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.Config(BerkeleyDB.SecondaryDatabaseConfig)">
<summary>
Protected method to configure the DB. Only valid before DB->open.
</summary>
<param name="cfg">Configuration parameters.</param>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.Open(System.String,BerkeleyDB.SecondaryDatabaseConfig)">
<summary>
Instantiate a new SecondaryDatabase object, open the database
represented by <paramref name="Filename"/> and associate the
database with the <see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">
primary index</see>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryDatabaseConfig)">
<summary>
Instantiate a new SecondaryDatabase object, open the database
represented by <paramref name="Filename"/> and associate the
database with the <see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">
primary index</see>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.Open(System.String,BerkeleyDB.SecondaryDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryDatabase object, open the database
represented by <paramref name="Filename"/> and associate the
database with the <see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">
primary index</see>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryDatabase object, open the database
represented by <paramref name="Filename"/> and associate the
database with the <see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">
primary index</see>. The file specified by
<paramref name="Filename"/> must exist.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.doAssociate(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
<summary>
Protected method to call the key generation function.
</summary>
<param name="dbp">Secondary DB Handle</param>
<param name="keyp">Primary Key</param>
<param name="datap">Primary Data</param>
<param name="skeyp">Scondary Key</param>
<returns>0 on success, !0 on failure</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.doNullify(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.Int32@)">
<summary>
Protected method to nullify a foreign key
</summary>
<param name="dbp">Secondary DB Handle</param>
<param name="keyp">Primary Key</param>
<param name="datap">Primary Data</param>
<param name="fkeyp">Foreign Key</param>
<param name="changed">Whether the foreign key has changed</param>
<returns>0 on success, !0 on failure</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.SecondaryCursor">
<summary>
Create a secondary database cursor.
</summary>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.SecondaryCursor(BerkeleyDB.CursorConfig)">
<summary>
Create a secondary database cursor with the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.SecondaryCursor(BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected secondary database cursor.
</summary>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.SecondaryDatabase.SecondaryCursor(BerkeleyDB.CursorConfig,BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected secondary database cursor with
the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="P:BerkeleyDB.SecondaryDatabase.KeyGen">
<summary>
The delegate that creates the set of secondary keys corresponding to
a given primary key and data pair.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)">
<summary>
Instantiate a new SecondaryRecnoDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)">
<summary>
Instantiate a new SecondaryRecnoDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryRecnoDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryRecnoDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.Renumber">
<summary>
If true, the logical record numbers are mutable, and change as
records are added to and deleted from the database.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.Snapshot">
<summary>
If true, any <see cref="P:BerkeleyDB.SecondaryRecnoDatabase.BackingFile"/> file will be read in its
entirety when <see cref="M:BerkeleyDB.SecondaryRecnoDatabase.Open(System.String,BerkeleyDB.SecondaryRecnoDatabaseConfig)"/> is called. If false,
<see cref="P:BerkeleyDB.SecondaryRecnoDatabase.BackingFile"/> may be read lazily.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.Delimiter">
<summary>
The delimiting byte used to mark the end of a record in
<see cref="P:BerkeleyDB.SecondaryRecnoDatabase.BackingFile"/>.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.Length">
<summary>
If using fixed-length, not byte-delimited records, the length of the
records.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryRecnoDatabase.BackingFile">
<summary>
The underlying source file for the Recno access method.
</summary>
</member>
<member name="T:BerkeleyDB.TransactionStats">
<summary>
Statistical information about the transaction subsystem
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Aborted">
<summary>
Number of aborted transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Active">
<summary>
Number of active transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Begun">
<summary>
Number of begun transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Committed">
<summary>
Number of committed transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.LastCheckpoint">
<summary>
LSN of the last checkpoint
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.LastCheckpointTime">
<summary>
Time of last checkpoint
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.LastID">
<summary>
Last transaction id given out
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.MaxActive">
<summary>
Maximum active transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.MaxSnapshot">
<summary>
Maximum snapshot transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.MaxTransactions">
<summary>
Maximum txns possible
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.RegionLockNoWait">
<summary>
Region lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.RegionSize">
<summary>
Region size.
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.RegionLockWait">
<summary>
Region lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Restored">
<summary>
Number of restored transactions after recovery.
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Snapshot">
<summary>
Number of snapshot transactions
</summary>
</member>
<member name="P:BerkeleyDB.TransactionStats.Transactions">
<summary>
List of active transactions
</summary>
</member>
<member name="T:BerkeleyDB.HashCursor">
<summary>
A class for traversing the records of a <see cref="T:BerkeleyDB.HashDatabase"/>
</summary>
</member>
<member name="T:BerkeleyDB.Cursor">
<summary>
A class representing database cursors, which allow for traversal of
database records.
</summary>
</member>
<member name="T:BerkeleyDB.BaseCursor">
<summary>
<para>
The abstract base class from which all cursor classes inherit.
</para>
<para>
Cursors may span threads, but only serially, that is, the application
must serialize access to the cursor handle.
</para>
</summary>
</member>
<member name="F:BerkeleyDB.BaseCursor.dbc">
<summary>
The underlying DBC handle
</summary>
</member>
<member name="M:BerkeleyDB.BaseCursor.Compare(BerkeleyDB.Cursor)">
<summary>
Compare this cursor's position to another's.
</summary>
<param name="compareTo">The cursor with which to compare.</param>
<returns>
True if both cursors point to the same item, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BaseCursor.Count">
<summary>
Returns a count of the number of data items for the key to which the
cursor refers.
</summary>
<returns>
A count of the number of data items for the key to which the cursor
refers.
</returns>
</member>
<member name="M:BerkeleyDB.BaseCursor.Close">
<summary>
<para>
Discard the cursor.
</para>
<para>
It is possible for the Close() method to throw a
<see cref="T:BerkeleyDB.DeadlockException"/>, signaling that any enclosing
transaction should be aborted. If the application is already
intending to abort the transaction, this error should be ignored,
and the application should proceed.
</para>
<para>
After Close has been called, regardless of its result, the object
may not be used again.
</para>
</summary>
<exception cref="T:BerkeleyDB.DeadlockException"></exception>
</member>
<member name="M:BerkeleyDB.BaseCursor.Dispose">
<summary>
Release the resources held by this object, and close the cursor if
it's still open.
</summary>
</member>
<member name="M:BerkeleyDB.BaseCursor.Delete">
<summary>
<para>
Delete the key/data pair to which the cursor refers.
</para>
<para>
When called on a SecondaryCursor, delete the key/data pair from the
primary database and all secondary indices.
</para>
<para>
The cursor position is unchanged after a delete, and subsequent
calls to cursor functions expecting the cursor to refer to an
existing key will fail.
</para>
</summary>
<exception cref="T:BerkeleyDB.KeyEmptyException">
Thrown if the element has already been deleted.
</exception>
</member>
<member name="M:BerkeleyDB.BaseCursor.GetEnumerator">
<summary>
Returns an enumerator that iterates through the cursor.
</summary>
<returns>An enumerator for the cursor.</returns>
</member>
<member name="F:BerkeleyDB.Cursor.pgsz">
<summary>
Protected member, storing the pagesize of the underlying database.
Used during bulk get (i.e. Move*Multiple).
</summary>
</member>
<member name="M:BerkeleyDB.Cursor.Add(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},BerkeleyDB.Cursor.InsertLocation)">
<summary>
Protected method for BTree and Hash to insert with KEYFIRST and
KEYLAST.
</summary>
<param name="pair">The key/data pair to add</param>
<param name="loc">Where to add, if adding duplicate data</param>
</member>
<member name="M:BerkeleyDB.Cursor.AddUnique(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry})">
<summary>
Protected method for BTree and Hash to insert with NODUPDATA.
</summary>
<param name="pair">The key/data pair to add</param>
</member>
<member name="M:BerkeleyDB.Cursor.Insert(BerkeleyDB.DatabaseEntry,BerkeleyDB.Cursor.InsertLocation)">
<summary>
Protected method for BTree, Hash and Recno to insert with AFTER and
BEFORE.
</summary>
<param name="data">The duplicate data item to add</param>
<param name="loc">
Whether to add the dup data before or after the current cursor
position
</param>
</member>
<member name="M:BerkeleyDB.Cursor.Get(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.UInt32,BerkeleyDB.LockingInfo)">
<summary>
Protected method wrapping DBC->get.
</summary>
<param name="key">The key to retrieve</param>
<param name="data">The data to retrieve</param>
<param name="flags">Modify the behavior of get</param>
<param name="info">The locking configuration to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.GetMultiple(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32,System.UInt32,BerkeleyDB.LockingInfo,System.Boolean)">
<summary>
Protected method wrapping DBC->get for bulk get.
</summary>
<param name="key">The key to retrieve</param>
<param name="data">The data to retrieve</param>
<param name="BufferSize">Size of the bulk buffer</param>
<param name="flags">Modify the behavior of get</param>
<param name="info">The locking configuration to use</param>
<param name="isMultKey">
If true, use DB_MULTIPLE_KEY instead of DB_MULTIPLE
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.UInt32)">
<summary>
Protected method wrapping DBC->put.
</summary>
<param name="key">The key to store</param>
<param name="data">The data to store</param>
<param name="flags">Modify the behavior of put</param>
</member>
<member name="M:BerkeleyDB.Cursor.Add(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry})">
<summary>
Stores the key/data pair in the database.
</summary>
<remarks>
If the underlying database supports duplicate data items, and if the
key already exists in the database and a duplicate sort function has
been specified, the inserted data item is added in its sorted
location. If the key already exists in the database and no duplicate
sort function has been specified, the inserted data item is added as
the first of the data items for that key.
</remarks>
<param name="pair">
The key/data pair to be stored in the database.
</param>
</member>
<member name="M:BerkeleyDB.Cursor.Delete">
<summary>
Delete the key/data pair to which the cursor refers.
</summary>
<remarks>
<para>
The cursor position is unchanged after a delete, and subsequent
calls to cursor functions expecting the cursor to refer to an
existing key will fail.
</para>
</remarks>
<exception cref="T:BerkeleyDB.KeyEmptyException">
The element has already been deleted.
</exception>
</member>
<member name="M:BerkeleyDB.Cursor.Duplicate(System.Boolean)">
<summary>
Create a new cursor that uses the same transaction and locker ID as
the original cursor.
</summary>
<remarks>
This is useful when an application is using locking and requires two
or more cursors in the same thread of control.
</remarks>
<param name="keepPosition">
If true, the newly created cursor is initialized to refer to the
same position in the database as the original cursor (if any) and
hold the same locks (if any). If false, or the original cursor does
not hold a database position and locks, the created cursor is
uninitialized and will behave like a cursor newly created by
<see cref="M:BerkeleyDB.BaseDatabase.Cursor"/>.</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.Cursor.GetEnumerator">
<summary>
Returns an enumerator that iterates through the
<see cref="T:BerkeleyDB.Cursor"/>.
</summary>
<remarks>
The enumerator will begin at the cursor's current position (or the
first record if the cursor has not yet been positioned) and iterate
forwards (i.e. in the direction of <see cref="M:BerkeleyDB.Cursor.MoveNext"/>) over the
remaining records.
</remarks>
<returns>An enumerator for the Cursor.</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirst">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>. If the first key has
duplicate values, the first data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirst(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>. If the first key has
duplicate values, the first data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultiple">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that key and as many duplicate data items that can fit in
a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<overloads>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/> will
contain an empty
<see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</overloads>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that key and as many duplicate data items that can fit in
a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultiple(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that key and as many duplicate data items that can fit in
a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that key and as many duplicate data items that can fit in
a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultipleKey">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair and as many ensuing key/data pairs that can fit
in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair and as many ensuing key/data pairs that can fit
in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair and as many ensuing key/data pairs that can fit
in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store that pair and as many ensuing key/data pairs that can fit
in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Move(BerkeleyDB.DatabaseEntry,System.Boolean)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store the
datum associated with the given key in <see cref="P:BerkeleyDB.Cursor.Current"/>. In the
presence of duplicate key values, the first data item in the set of
duplicates is stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Move(BerkeleyDB.DatabaseEntry,System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store the
datum associated with the given key in <see cref="P:BerkeleyDB.Cursor.Current"/>. In the
presence of duplicate key values, the first data item in the set of
duplicates is stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Move(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean)">
<summary>
Move the cursor to the specified key/data pair of the database. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<remarks>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
<para>
If this flag is specified on a database configured without sorted
duplicate support, the value of <paramref name="exact"/> is ignored.
</para>
</remarks>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Move(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<remarks>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
<para>
If this flag is specified on a database configured without sorted
duplicate support, the value of <paramref name="exact"/> is ignored.
</para>
</remarks>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveLast">
<summary>
Set the cursor to refer to the last key/data pair of the database,
and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>. If the last key has
duplicate values, the last data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveLast(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the last key/data pair of the database,
and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>. If the last key has
duplicate values, the last data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(BerkeleyDB.DatabaseEntry,System.Boolean)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many duplicate data items associated with the given key that
can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(BerkeleyDB.DatabaseEntry,System.Boolean,System.Int32)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many duplicate data items associated with the given key that
can fit in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(BerkeleyDB.DatabaseEntry,System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many duplicate data items associated with the given key that
can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(BerkeleyDB.DatabaseEntry,System.Boolean,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many duplicate data items associated with the given key that
can fit in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many duplicate data items associated
with the given key that can fit in a buffer the size of one database
page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,System.Int32)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many duplicate data items associated
with the given key that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many duplicate data items associated
with the given key that can fit in a buffer the size of one database
page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultiple(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many duplicate data items associated
with the given key that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(BerkeleyDB.DatabaseEntry,System.Boolean)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many ensuing key/data pairs that can fit in a buffer the
size of one database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(BerkeleyDB.DatabaseEntry,System.Boolean,System.Int32)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many ensuing key/data pairs that can fit in a buffer the
size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(BerkeleyDB.DatabaseEntry,System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many ensuing key/data pairs that can fit in a buffer the
size of one database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(BerkeleyDB.DatabaseEntry,System.Boolean,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store that
key and as many ensuing key/data pairs that can fit in a buffer the
size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,System.Int32)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveMultipleKey(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},System.Boolean,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database, and
store that key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. The cursor is positioned to a
key/data pair if both the key and data match the values provided on
the key and data parameters.
</summary>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNext">
<summary>
If the cursor is not yet initialized, MoveNext is identical to
<see cref="M:BerkeleyDB.Cursor.MoveFirst"/>. Otherwise, move the cursor to the next
key/data pair of the database, and store that pair in
<see cref="P:BerkeleyDB.Cursor.Current"/>. In the presence of duplicate key values, the
value of <see cref="P:BerkeleyDB.Cursor.Current">Current.Key</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNext(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNext is identical to
<see cref="M:BerkeleyDB.Cursor.MoveFirst(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the next key/data pair of the database, and store that pair in
<see cref="P:BerkeleyDB.Cursor.Current"/>. In the presence of duplicate key values, the
value of <see cref="P:BerkeleyDB.Cursor.Current">Current.Key</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultiple">
<summary>
If the cursor is not yet initialized, MoveNextMultiple is identical
to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple"/>. Otherwise, move the cursor to
the next key/data pair of the database, and store that pair and as
many duplicate data items that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. In the presence of
duplicate key values, the value of
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple">CurrentMultiple.Key</see> may not
change.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultiple(System.Int32)">
<summary>
If the cursor is not yet initialized, MoveNextMultiple is identical
to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32)"/>. Otherwise, move the cursor
to the next key/data pair of the database, and store that pair and
as many duplicate data items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. In
the presence of duplicate key values, the value of
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple">CurrentMultiple.Key</see> may not
change.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultiple(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextMultiple is identical
to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(BerkeleyDB.LockingInfo)"/>. Otherwise, move the
cursor to the next key/data pair of the database, and store that
pair and as many duplicate data items that can fit in a buffer the
size of one database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. In the
presence of duplicate key values, the value of
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple">CurrentMultiple.Key</see> may not
change.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultiple(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextMultiple is identical
to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32,BerkeleyDB.LockingInfo)"/>. Otherwise,
move the cursor to the next key/data pair of the database, and store
that pair and as many duplicate data items that can fit in a buffer
the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. In the presence of duplicate key
values, the value of
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple">CurrentMultiple.Key</see> may not
change.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultipleKey">
<summary>
If the cursor is not yet initialized, MoveNextMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey"/>. Otherwise, move
the cursor to the next key/data pair of the database, and store that
pair and as many ensuing key/data pairs that can fit in a buffer the
size of one database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. In
the presence of duplicate key values, the keys of
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> may not change.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultipleKey(System.Int32)">
<summary>
If the cursor is not yet initialized, MoveNextMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32)"/>. Otherwise,
move the cursor to the next key/data pair of the database, and store
that pair and as many ensuing key/data pairs that can fit in a
buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. In the presence of duplicate key
values, the keys of <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> may not change.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultipleKey(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next key/data pair of the
database, and store that pair and as many ensuing key/data pairs
that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. In the presence of duplicate key
values, the keys of <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> may not change.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextMultipleKey(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32,BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next key/data pair of the
database, and store that pair and as many ensuing key/data pairs
that can fit in a buffer the size of <paramref name="BufferSize"/>
in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. In the presence of duplicate
key values, the keys of <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> may not
change.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicate">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>.
MoveNextDuplicate will return false if the next key/data pair of the
database is not a duplicate data record for the current key/data
pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicate(BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair in <see cref="P:BerkeleyDB.Cursor.Current"/>.
MoveNextDuplicate will return false if the next key/data pair of the
database is not a duplicate data record for the current key/data
pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultiple">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. MoveNextDuplicateMultiple will return
false if the next key/data pair of the database is not a duplicate
data record for the current key/data pair.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultiple(System.Int32)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, then move cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
MoveNextDuplicateMultiple will return false if the next key/data
pair of the database is not a duplicate data record for the current
key/data pair.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultiple(BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. MoveNextDuplicateMultiple will return
false if the next key/data pair of the database is not a duplicate
data record for the current key/data pair.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultiple(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
MoveNextDuplicateMultiple will return false if the next key/data
pair of the database is not a duplicate data record for the current
key/data pair.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultipleKey">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. MoveNextDuplicateMultipleKey will
return false if the next key/data pair of the database is not a
duplicate data record for the current key/data pair.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultipleKey(System.Int32)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
MoveNextDuplicateMultipleKey will return false if the next key/data
pair of the database is not a duplicate data record for the current
key/data pair.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultipleKey(BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. MoveNextDuplicateMultipleKey will
return false if the next key/data pair of the database is not a
duplicate data record for the current key/data pair.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextDuplicateMultipleKey(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store that pair and as many duplicate data
items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
MoveNextDuplicateMultipleKey will return false if the next key/data
pair of the database is not a duplicate data record for the current
key/data pair.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUnique">
<summary>
If the cursor is not yet initialized, MoveNextUnique is identical to
<see cref="M:BerkeleyDB.Cursor.MoveFirst"/>. Otherwise, move the cursor to the next
non-duplicate key in the database, and store that key and associated
datum in <see cref="P:BerkeleyDB.Cursor.Current"/>. MoveNextUnique will return false if
no non-duplicate key/data pairs exist after the cursor position in
the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUnique(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUnique is identical to
<see cref="M:BerkeleyDB.Cursor.MoveFirst(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the next non-duplicate key in the database, and store that key and
associated datum in <see cref="P:BerkeleyDB.Cursor.Current"/>. MoveNextUnique will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<remarks>
<para>
If the database is a Queue or Recno database, MoveNextUnique will
ignore any keys that exist but were never explicitly created by the
application, or those that were created and later deleted.
</para>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultiple">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultiple is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple"/>. Otherwise, move the
cursor to the next non-duplicate key in the database, and store that
key and associated datum and as many duplicate data items that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. MoveNextUniqueMultiple will return
false if no non-duplicate key/data pairs exist after the cursor
position in the database.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultiple(System.Int32)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultiple is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32)"/>. Otherwise, move
the cursor to the next non-duplicate key in the database, and store
that key and associated datum and as many duplicate data items that
can fit in a buffer the size of <paramref name="BufferSize"/> in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>. MoveNextUniqueMultiple will return
false if no non-duplicate key/data pairs exist after the cursor
position in the database.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultiple(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultiple is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next non-duplicate key in the
database, and store that key and associated datum and as many
duplicate data items that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
MoveNextUniqueMultiple will return false if no non-duplicate
key/data pairs exist after the cursor position in the database.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultiple(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultiple is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultiple(System.Int32,BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next non-duplicate key in the
database, and store that key and associated datum and as many
duplicate data items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
MoveNextUniqueMultiple will return false if no non-duplicate
key/data pairs exist after the cursor position in the database.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultipleKey">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey"/>. Otherwise, move
the cursor to the next non-duplicate key in the database, and store
that key and associated datum and as many ensuing key/data pairs
that can fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>. MoveNextUniqueMultipleKey will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultipleKey(System.Int32)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32)"/>. Otherwise,
move the cursor to the next non-duplicate key in the database, and
store that key and associated datum and as many ensuing key/data
pairs that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
MoveNextUniqueMultipleKey will return false if no non-duplicate
key/data pairs exist after the cursor position in the database.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultipleKey(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next non-duplicate key in the
database, and store that key and associated datum and as many
ensuing key/data pairs that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
MoveNextUniqueMultipleKey will return false if no non-duplicate
key/data pairs exist after the cursor position in the database.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MoveNextUniqueMultipleKey(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUniqueMultipleKey is
identical to <see cref="M:BerkeleyDB.Cursor.MoveFirstMultipleKey(System.Int32,BerkeleyDB.LockingInfo)"/>.
Otherwise, move the cursor to the next non-duplicate key in the
database, and store that key and associated datum and as many
ensuing key/data pairs that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
MoveNextUniqueMultipleKey will return false if no non-duplicate
key/data pairs exist after the cursor position in the database.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrev">
<summary>
If the cursor is not yet initialized, MovePrev is identical to
<see cref="M:BerkeleyDB.Cursor.MoveLast"/>. Otherwise, move the cursor to the previous
key/data pair of the database, and store that pair in
<see cref="P:BerkeleyDB.Cursor.Current"/>. In the presence of duplicate key values, the
value of <see cref="P:BerkeleyDB.Cursor.Current">Current.Key</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrev(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MovePrev is identical to
<see cref="M:BerkeleyDB.Cursor.MoveLast(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the previous key/data pair of the database, and store that pair in
<see cref="P:BerkeleyDB.Cursor.Current"/>. In the presence of duplicate key values, the
value of <see cref="P:BerkeleyDB.Cursor.Current">Current.Key</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrevDuplicate">
<summary>
If the previous key/data pair of the database is a duplicate data
record for the current key/data pair, the cursor is moved to the
previous key/data pair of the database, and that pair is stored in
<see cref="P:BerkeleyDB.Cursor.Current"/>. MovePrevDuplicate will return false if the
previous key/data pair of the database is not a duplicate data
record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrevDuplicate(BerkeleyDB.LockingInfo)">
<summary>
If the previous key/data pair of the database is a duplicate data
record for the current key/data pair, the cursor is moved to the
previous key/data pair of the database, and that pair is stored in
<see cref="P:BerkeleyDB.Cursor.Current"/>. MovePrevDuplicate will return false if the
previous key/data pair of the database is not a duplicate data
record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrevUnique">
<summary>
If the cursor is not yet initialized, MovePrevUnique is identical to
<see cref="M:BerkeleyDB.Cursor.MoveLast"/>. Otherwise, move the cursor to the previous
non-duplicate key in the database, and store that key and associated
datum in <see cref="P:BerkeleyDB.Cursor.Current"/>. MovePrevUnique will return false if
no non-duplicate key/data pairs exist after the cursor position in
the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.MovePrevUnique(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MovePrevUnique is identical to
<see cref="M:BerkeleyDB.Cursor.MoveLast(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the previous non-duplicate key in the database, and store that key
and associated datum in <see cref="P:BerkeleyDB.Cursor.Current"/>. MovePrevUnique will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Overwrite(BerkeleyDB.DatabaseEntry)">
<summary>
Overwrite the data of the key/data pair to which the cursor refers
with the specified data item.
</summary>
<param name="data"></param>
</member>
<member name="M:BerkeleyDB.Cursor.Refresh">
<summary>
Store the key/data pair to which the cursor refers in
<see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.Refresh(BerkeleyDB.LockingInfo)">
<summary>
Store the key/data pair to which the cursor refers in
<see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.Cursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultiple">
<summary>
Store the key/data pair to which the cursor refers and as many
duplicate data items that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultiple(System.Int32)">
<summary>
Store the key/data pair to which the cursor refers and as many
duplicate data items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultiple(BerkeleyDB.LockingInfo)">
<summary>
Store the key/data pair to which the cursor refers and as many
duplicate data items that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultiple(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Store the key/data pair to which the cursor refers and as many
duplicate data items that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultipleKey">
<summary>
Store the key/data pair to which the cursor refers and as many
ensuing key/data pairs that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultipleKey(System.Int32)">
<summary>
Store the key/data pair to which the cursor refers and as many
ensuing key/data pairs that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultipleKey(BerkeleyDB.LockingInfo)">
<summary>
Store the key/data pair to which the cursor refers and as many
ensuing key/data pairs that can fit in a buffer the size of one
database page in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.Cursor.RefreshMultipleKey(System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Store the key/data pair to which the cursor refers and as many
ensuing key/data pairs that can fit in a buffer the size of
<paramref name="BufferSize"/> in <see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="P:BerkeleyDB.Cursor.Current">
<summary>
The key/data pair at which the cursor currently points.
</summary>
<remarks>
Only one of <see cref="P:BerkeleyDB.Cursor.Current"/>, <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/> and
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> will ever be non-empty.
</remarks>
</member>
<member name="P:BerkeleyDB.Cursor.CurrentMultiple">
<summary>
The key and multiple data items at which the cursor currently
points.
</summary>
<remarks>
Only one of <see cref="P:BerkeleyDB.Cursor.Current"/>, <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/> and
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> will ever be non-empty.
</remarks>
</member>
<member name="P:BerkeleyDB.Cursor.CurrentMultipleKey">
<summary>
The multiple key and data items at which the cursor currently
points.
</summary>
<remarks>
Only one of <see cref="P:BerkeleyDB.Cursor.Current"/>, <see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/> and
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/> will ever be non-empty.
</remarks>
</member>
<member name="P:BerkeleyDB.Cursor.Priority">
<summary>
The cache priority for pages referenced by the cursor.
</summary>
<remarks>
The priority of a page biases the replacement algorithm to be more
or less likely to discard a page when space is needed in the buffer
pool. The bias is temporary, and pages will eventually be discarded
if they are not referenced again. The setting is only advisory, and
does not guarantee pages will be treated in a specific way.
</remarks>
</member>
<member name="T:BerkeleyDB.Cursor.InsertLocation">
<summary>
Specifies where to place duplicate data elements of the key to which
the cursor refers.
</summary>
</member>
<member name="F:BerkeleyDB.Cursor.InsertLocation.AFTER">
<summary>
The new element appears immediately after the current cursor
position.
</summary>
</member>
<member name="F:BerkeleyDB.Cursor.InsertLocation.BEFORE">
<summary>
The new element appears immediately before the current cursor
position.
</summary>
</member>
<member name="F:BerkeleyDB.Cursor.InsertLocation.FIRST">
<summary>
The new element appears as the first of the data items for the
given key
</summary>
</member>
<member name="F:BerkeleyDB.Cursor.InsertLocation.LAST">
<summary>
The new element appears as the last of the data items for the
given key
</summary>
</member>
<member name="M:BerkeleyDB.HashCursor.Duplicate(System.Boolean)">
<summary>
Create a new cursor that uses the same transaction and locker ID as
the original cursor.
</summary>
<remarks>
This is useful when an application is using locking and requires two
or more cursors in the same thread of control.
</remarks>
<param name="keepPosition">
If true, the newly created cursor is initialized to refer to the
same position in the database as the original cursor (if any) and
hold the same locks (if any). If false, or the original cursor does
not hold a database position and locks, the created cursor is
uninitialized and will behave like a cursor newly created by
<see cref="M:BerkeleyDB.HashDatabase.Cursor"/>.</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.HashCursor.Insert(BerkeleyDB.DatabaseEntry,BerkeleyDB.Cursor.InsertLocation)">
<summary>
Insert the data element as a duplicate element of the key to which
the cursor refers.
</summary>
<param name="data">The data element to insert</param>
<param name="loc">
Specify whether to insert the data item immediately before or
immediately after the cursor's current position.
</param>
</member>
<member name="M:BerkeleyDB.HashCursor.AddUnique(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry})">
<summary>
Insert the specified key/data pair into the database, unless a
key/data pair comparing equally to it already exists in the
database.
</summary>
<param name="pair">The key/data pair to be inserted</param>
<exception cref="T:BerkeleyDB.KeyExistException">
Thrown if a matching key/data pair already exists in the database.
</exception>
</member>
<member name="M:BerkeleyDB.HashCursor.Add(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},BerkeleyDB.Cursor.InsertLocation)">
<summary>
Insert the specified key/data pair into the database.
</summary>
<param name="pair">The key/data pair to be inserted</param>
<param name="loc">
If the key already exists in the database and no duplicate sort
function has been specified, specify whether the inserted data item
is added as the first or the last of the data items for that key.
</param>
</member>
<member name="T:BerkeleyDB.Transaction">
<summary>
A class representing Berkeley DB transactions
</summary>
<remarks>
<para>
Calling <see cref="M:BerkeleyDB.Transaction.Abort"/>,
<see cref="M:BerkeleyDB.Transaction.Commit"/> or
<see cref="M:BerkeleyDB.Transaction.Discard"/> will release the resources held by
the created object.
</para>
<para>
Transactions may only span threads if they do so serially; that is,
each transaction must be active in only a single thread of control
at a time. This restriction holds for parents of nested transactions
as well; no two children may be concurrently active in more than one
thread of control at any one time.
</para>
<para>
Cursors may not span transactions; that is, each cursor must be
opened and closed within a single transaction.
</para>
<para>
A parent transaction may not issue any Berkeley DB operations —
except for <see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>,
<see cref="M:BerkeleyDB.Transaction.Abort"/>and <see cref="M:BerkeleyDB.Transaction.Commit"/>
— while it has active child transactions (child transactions that
have not yet been committed or aborted).
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.Transaction.GlobalIdLength">
<summary>
The size of the global transaction ID
</summary>
</member>
<member name="M:BerkeleyDB.Transaction.Abort">
<summary>
Cause an abnormal termination of the transaction.
</summary>
<remarks>
<para>
Before Abort returns, any locks held by the transaction will have
been released.
</para>
<para>
In the case of nested transactions, aborting a parent transaction
causes all children (unresolved or not) of the parent transaction to
be aborted.
</para>
<para>
All cursors opened within the transaction must be closed before the
transaction is aborted.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.Transaction.Commit">
<summary>
End the transaction.
</summary>
<overloads>
<para>
In the case of nested transactions, if the transaction is a parent
transaction, committing the parent transaction causes all unresolved
children of the parent to be committed. In the case of nested
transactions, if the transaction is a child transaction, its locks
are not released, but are acquired by its parent. Although the
commit of the child transaction will succeed, the actual resolution
of the child transaction is postponed until the parent transaction
is committed or aborted; that is, if its parent transaction commits,
it will be committed; and if its parent transaction aborts, it will
be aborted.
</para>
<para>
All cursors opened within the transaction must be closed before the
transaction is committed.
</para>
</overloads>
</member>
<member name="M:BerkeleyDB.Transaction.Commit(System.Boolean)">
<summary>
End the transaction.
</summary>
<remarks>
Synchronously flushing the log is the default for Berkeley DB
environments unless
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnNoSync"/> was specified.
Synchronous log flushing may also be set or unset for a single
transaction using
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>. The
value of <paramref name="syncLog"/> overrides both of those
settings.
</remarks>
<param name="syncLog">If true, synchronously flush the log.</param>
</member>
<member name="M:BerkeleyDB.Transaction.Discard">
<summary>
Free up all the per-process resources associated with the specified
Transaction instance, neither committing nor aborting the
transaction.
</summary>
<remarks>
This call may be used only after calls to
<see cref="M:BerkeleyDB.DatabaseEnvironment.Recover(System.UInt32,System.Boolean)"/> when there are multiple
global transaction managers recovering transactions in a single
Berkeley DB environment. Any transactions returned by
<see cref="M:BerkeleyDB.DatabaseEnvironment.Recover(System.UInt32,System.Boolean)"/> that are not handled by
the current global transaction manager should be discarded using
Discard.
</remarks>
</member>
<member name="M:BerkeleyDB.Transaction.Prepare(System.Byte[])">
<summary>
Initiate the beginning of a two-phase commit.
</summary>
<remarks>
<para>
In a distributed transaction environment, Berkeley DB can be used as
a local transaction manager. In this case, the distributed
transaction manager must send prepare messages to each local
manager. The local manager must then call Prepare and await its
successful return before responding to the distributed transaction
manager. Only after the distributed transaction manager receives
successful responses from all of its prepare messages should it
issue any commit messages.
</para>
<para>
In the case of nested transactions, preparing the parent causes all
unresolved children of the parent transaction to be committed. Child
transactions should never be explicitly prepared. Their fate will be
resolved along with their parent's during global recovery.
</para>
</remarks>
<param name="globalId">
The global transaction ID by which this transaction will be known.
This global transaction ID will be returned in calls to
<see cref="M:BerkeleyDB.DatabaseEnvironment.Recover(System.UInt32,System.Boolean)"/> telling the
application which global transactions must be resolved.
</param>
</member>
<member name="M:BerkeleyDB.Transaction.SetLockTimeout(System.UInt32)">
<summary>
Set the timeout value for locks for this transaction.
</summary>
<remarks>
<para>
Timeouts are checked whenever a thread of control blocks on a lock
or when deadlock detection is performed. This timeout is for any
single lock request. As timeouts are only checked when the lock
request first blocks or when deadlock detection is performed, the
accuracy of the timeout depends on how often deadlock detection is
performed.
</para>
<para>
Timeout values may be specified for the database environment as a
whole. See <see cref="P:BerkeleyDB.DatabaseEnvironment.LockTimeout"/> for more
information.
</para>
</remarks>
<param name="timeout">
An unsigned 32-bit number of microseconds, limiting the maximum
timeout to roughly 71 minutes. A value of 0 disables timeouts for
the transaction.
</param>
</member>
<member name="M:BerkeleyDB.Transaction.SetTxnTimeout(System.UInt32)">
<summary>
Set the timeout value for transactions for this transaction.
</summary>
<remarks>
<para>
Timeouts are checked whenever a thread of control blocks on a lock
or when deadlock detection is performed. This timeout is for the
life of the transaction. As timeouts are only checked when the lock
request first blocks or when deadlock detection is performed, the
accuracy of the timeout depends on how often deadlock detection is
performed.
</para>
<para>
Timeout values may be specified for the database environment as a
whole. See <see cref="P:BerkeleyDB.DatabaseEnvironment.TxnTimeout"/> for more
information.
</para>
</remarks>
<param name="timeout">
An unsigned 32-bit number of microseconds, limiting the maximum
timeout to roughly 71 minutes. A value of 0 disables timeouts for
the transaction.
</param>
</member>
<member name="P:BerkeleyDB.Transaction.Id">
<summary>
The unique transaction id associated with this transaction.
</summary>
</member>
<member name="P:BerkeleyDB.Transaction.Name">
<summary>
The transaction's name. The name is returned by
<see cref="M:BerkeleyDB.DatabaseEnvironment.TransactionSystemStats"/>
and displayed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.PrintTransactionSystemStats"/>.
</summary>
<remarks>
If the database environment has been configured for logging and the
Berkeley DB library was built in Debug mode (or with DIAGNOSTIC
defined), a debugging log record is written including the
transaction ID and the name.
</remarks>
</member>
<member name="T:BerkeleyDB.QueueDatabase">
<summary>
A class representing a QueueDatabase. The Queue format supports fast
access to fixed-length records accessed sequentially or by logical
record number.
</summary>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Open(System.String,BerkeleyDB.QueueDatabaseConfig)">
<summary>
Instantiate a new QueueDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Open(System.String,BerkeleyDB.QueueDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new QueueDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)">
<summary>
Append the data item to the end of the database.
</summary>
<param name="data">The data item to store in the database</param>
<returns>The record number allocated to the record</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Append the data item to the end of the database.
</summary>
<remarks>
There is a minor behavioral difference between
<see cref="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry)"/> and
<see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/>. If a transaction enclosing an
Append operation aborts, the record number may be reallocated in a
subsequent <see cref="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry)"/> operation, but it will
not be reallocated in a subsequent
<see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/> operation.
</remarks>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>The record number allocated to the record</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean)">
<summary>
Return the record number and data from the available record closest
to the head of the queue, and delete the record.
</summary>
<param name="wait">
If true and the Queue database is empty, the thread of control will
wait until there is data in the queue before returning.
</param>
<exception cref="T:BerkeleyDB.LockNotGrantedException">
If lock or transaction timeouts have been specified, a
<see cref="T:BerkeleyDB.LockNotGrantedException"/> may be thrown. This failure,
by itself, does not require the enclosing transaction be aborted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is the record number and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean,BerkeleyDB.Transaction)">
<summary>
Return the record number and data from the available record closest
to the head of the queue, and delete the record.
</summary>
<param name="wait">
If true and the Queue database is empty, the thread of control will
wait until there is data in the queue before returning.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<exception cref="T:BerkeleyDB.LockNotGrantedException">
If lock or transaction timeouts have been specified, a
<see cref="T:BerkeleyDB.LockNotGrantedException"/> may be thrown. This failure,
by itself, does not require the enclosing transaction be aborted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is the record number and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Return the record number and data from the available record closest
to the head of the queue, and delete the record.
</summary>
<param name="wait">
If true and the Queue database is empty, the thread of control will
wait until there is data in the queue before returning.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<exception cref="T:BerkeleyDB.LockNotGrantedException">
If lock or transaction timeouts have been specified, a
<see cref="T:BerkeleyDB.LockNotGrantedException"/> may be thrown. This failure,
by itself, does not require the enclosing transaction be aborted.
</exception>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is the record number and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.FastStats">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.FastStats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.FastStats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<overloads>
<para>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</para>
<para>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</para>
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Stats">
<summary>
Return the database statistical information for this database.
</summary>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Stats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information for this database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.QueueDatabase.Stats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information for this database.
</summary>
<overloads>
The statistical information is described by
<see cref="T:BerkeleyDB.BTreeStats"/>.
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="P:BerkeleyDB.QueueDatabase.ExtentSize">
<summary>
The size of the extents used to hold pages in a
<see cref="T:BerkeleyDB.QueueDatabase"/>, specified as a number of pages.
</summary>
</member>
<member name="P:BerkeleyDB.QueueDatabase.InOrder">
<summary>
If true, modify the operation of <see cref="M:BerkeleyDB.QueueDatabase.Consume(System.Boolean)"/>
to return key/data pairs in order. That is, they will always return
the key/data item from the head of the queue.
</summary>
</member>
<member name="P:BerkeleyDB.QueueDatabase.Length">
<summary>
The length of records in the database.
</summary>
</member>
<member name="P:BerkeleyDB.QueueDatabase.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
</member>
<member name="T:BerkeleyDB.PreparedTransaction">
<summary>
A class representing a transaction that must be resolved by the
application following <see cref="M:BerkeleyDB.DatabaseEnvironment.Recover(System.UInt32,System.Boolean)"/>.
</summary>
</member>
<member name="P:BerkeleyDB.PreparedTransaction.Txn">
<summary>
The transaction which must be committed, aborted or discarded.
</summary>
</member>
<member name="P:BerkeleyDB.PreparedTransaction.GlobalID">
<summary>
The global transaction ID for the transaction. The global
transaction ID is the one specified when the transaction was
prepared. The application is responsible for ensuring uniqueness
among global transaction IDs.
</summary>
</member>
<member name="T:BerkeleyDB.MPoolFileStats">
<summary>
Statistical information about a file in the memory pool
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.FileName">
<summary>
File name.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.MappedPages">
<summary>
Pages from mapped files.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PagesCreatedInCache">
<summary>
Pages created in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PagesInCache">
<summary>
Pages found in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PagesNotInCache">
<summary>
Pages not found in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PagesRead">
<summary>
Pages read in.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PageSize">
<summary>
Page size.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolFileStats.PagesWritten">
<summary>
Pages written out.
</summary>
</member>
<member name="T:BerkeleyDB.LockingConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>'s locking subsystem.
</summary>
</member>
<member name="F:BerkeleyDB.LockingConfig.DeadlockResolution">
<summary>
If non-null, the deadlock detector is to be run whenever a lock
conflict occurs, lock request(s) should be rejected according to the
specified policy.
</summary>
<remarks>
<para>
As transactions acquire locks on behalf of a single locker ID,
rejecting a lock request associated with a transaction normally
requires the transaction be aborted.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LockingConfig.Conflicts">
<summary>
The locking conflicts matrix.
</summary>
<remarks>
<para>
If Conflicts is never set, a standard conflicts array is used; see
Standard Lock Modes in the Programmer's Reference Guide for more
information.
</para>
<para>
Conflicts parameter is an nmodes by nmodes array. A non-0 value for
the array element indicates that requested_mode and held_mode
conflict:
<code>
conflicts[requested_mode][held_mode]
</code>
</para>
<para>The not-granted mode must be represented by 0.</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
Conflicts will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LockingConfig.MaxLockers">
<summary>
The maximum number of simultaneous locking entities supported by the
Berkeley DB environment
</summary>
<remarks>
<para>
This value is used by <see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> to
estimate how much space to allocate for various lock-table data
structures. The default value is 1000 lockers. For specific
information on configuring the size of the lock subsystem, see
Configuring locking: sizing the system in the Programmer's Reference
Guide.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
MaxLockers will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LockingConfig.MaxLocks">
<summary>
The maximum number of locks supported by the Berkeley DB
environment.
</summary>
<remarks>
<para>
This value is used by <see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> to
estimate how much space to allocate for various lock-table data
structures. The default value is 1000 lockers. For specific
information on configuring the size of the lock subsystem, see
Configuring locking: sizing the system in the Programmer's Reference
Guide.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
MaxLocks will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LockingConfig.MaxObjects">
<summary>
The maximum number of locked objects supported by the Berkeley DB
environment.
</summary>
<remarks>
<para>
This value is used by <see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> to
estimate how much space to allocate for various lock-table data
structures. The default value is 1000 lockers. For specific
information on configuring the size of the lock subsystem, see
Configuring locking: sizing the system in the Programmer's Reference
Guide.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
MaxObjects will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LockingConfig.Partitions">
<summary>
The number of lock table partitions in the Berkeley DB environment.
</summary>
<remarks>
<para>
The default value is 10 times the number of CPUs on the system if
there is more than one CPU. Increasing the number of partitions can
provide for greater throughput on a system with multiple CPUs and
more than one thread contending for the lock manager. On single
processor systems more than one partition may increase the overhead
of the lock manager. Systems often report threading contexts as
CPUs. If your system does this, set the number of partitions to 1 to
get optimal performance.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
Partitions will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.BTreeDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.BTreeDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.Duplicates">
<summary>
Policy for duplicate data items in the database; that is, insertion
when the key of the key/data pair being inserted already exists in
the database will be successful.
</summary>
<remarks>
<para>The ordering of duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> is determined by the order
of insertion, unless the ordering is otherwise specified by use of a
cursor operation or a duplicate sort function. The ordering of
duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is determined by the
duplicate comparison function. If the application does not specify a
comparison function using
<see cref="F:BerkeleyDB.BTreeDatabaseConfig.DuplicateCompare"/>, a default lexical
comparison will be used.
</para>
<para>
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is preferred to
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> for performance reasons.
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> should only be used by
applications wanting to order duplicate data items manually.
</para>
<para>
If the database already exists, the value of Duplicates must be the
same as the existing database or an error will be returned.
</para>
<para>
It is an error to specify <see cref="F:BerkeleyDB.BTreeDatabaseConfig.UseRecordNumbers"/> and
anything other than <see cref="F:BerkeleyDB.DuplicatesPolicy.NONE"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.NoReverseSplitting">
<summary>
Turn reverse splitting in the Btree on or off.
</summary>
<remarks>
As pages are emptied in a database, the Berkeley DB Btree
implementation attempts to coalesce empty pages into higher-level
pages in order to keep the database as small as possible and
minimize search time. This can hurt performance in applications with
cyclical data demands; that is, applications where the database
grows and shrinks repeatedly. For example, because Berkeley DB does
page-level locking, the maximum level of concurrency in a database
of two pages is far smaller than that in a database of 100 pages, so
a database that has shrunk to a minimal size can cause severe
deadlocking when a new cycle of data insertion begins.
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.UseRecordNumbers">
<summary>
If true, support retrieval from the Btree using record numbers.
</summary>
<remarks>
<para>
Logical record numbers in Btree databases are mutable in the face of
record insertion or deletion. See
<see cref="F:BerkeleyDB.RecnoDatabaseConfig.Renumber"/> for further discussion.
</para>
<para>
Maintaining record counts within a Btree introduces a serious point
of contention, namely the page locations where the record counts are
stored. In addition, the entire database must be locked during both
insertions and deletions, effectively single-threading the database
for those operations. Specifying UseRecordNumbers can result in
serious performance degradation for some applications and data sets.
</para>
<para>
It is an error to specify <see cref="F:BerkeleyDB.BTreeDatabaseConfig.UseRecordNumbers"/> and
anything other than <see cref="F:BerkeleyDB.DuplicatesPolicy.NONE"/>.
</para>
<para>
If the database already exists, the value of UseRecordNumbers must
be the same as the existing database or an error will be returned.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.BTreeDatabase.Open(System.String,BerkeleyDB.BTreeDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.BTreeCompare">
<summary>
The Btree key comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a key specified by the application with a key currently
stored in the tree.
</para>
<para>
If no comparison function is specified, the keys are compared
lexically, with shorter keys collating before longer keys.
</para>
<para>
If the database already exists, the comparison function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.BTreePrefixCompare">
<summary>
The Btree prefix function.
</summary>
<remarks>
<para>
The prefix function is used to determine the amount by which keys
stored on the Btree internal pages can be safely truncated without
losing their uniqueness. See the Btree prefix comparison section of
the Berkeley DB Reference Guide for more details about how this
works. The usefulness of this is data-dependent, but can produce
significantly reduced tree sizes and search times in some data sets.
</para>
<para>
If no prefix function or key comparison function is specified by the
application, a default lexical comparison function is used as the
prefix function. If no prefix function is specified and
<see cref="F:BerkeleyDB.BTreeDatabaseConfig.BTreeCompare"/> is specified, no prefix function is
used. It is an error to specify a prefix function without also
specifying <see cref="F:BerkeleyDB.BTreeDatabaseConfig.BTreeCompare"/>.
</para>
<para>
If the database already exists, the prefix function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.BTreeDatabaseConfig.DuplicateCompare">
<summary>
The duplicate data item comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a data item specified by the application with a data item
currently stored in the database. Setting DuplicateCompare implies
setting <see cref="F:BerkeleyDB.BTreeDatabaseConfig.Duplicates"/> to
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/>.
</para>
<para>
If no comparison function is specified, the data items are compared
lexically, with shorter data items collating before longer data
items.
</para>
<para>
If the database already exists when
<see cref="M:BerkeleyDB.BTreeDatabase.Open(System.String,BerkeleyDB.BTreeDatabaseConfig)"/> is called, the
delegate must be the same as that historically used to create the
database or corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.BTreeDatabaseConfig.SetCompression">
<summary>
Enable compression of the key/data pairs stored in the database,
using the default compression and decompression functions.
</summary>
<remarks>
The default functions perform prefix compression on keys, and prefix
compression on data items for duplicate keys.
</remarks>
</member>
<member name="M:BerkeleyDB.BTreeDatabaseConfig.SetCompression(BerkeleyDB.BTreeCompressDelegate,BerkeleyDB.BTreeDecompressDelegate)">
<summary>
Enable compression of the key/data pairs stored in the database,
using the specified compression and decompression functions.
</summary>
<param name="compression">The compression function</param>
<param name="decompression">The decompression function</param>
</member>
<member name="M:BerkeleyDB.BTreeDatabaseConfig.#ctor">
<summary>
Create a new BTreeDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabaseConfig.Compress">
<summary>
The compression function used to store key/data pairs in the
database.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabaseConfig.Decompress">
<summary>
The decompression function used to retrieve key/data pairs from the
database.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabaseConfig.MinKeysPerPage">
<summary>
The minimum number of key/data pairs intended to be stored on any
single Btree leaf page.
</summary>
<remarks>
<para>
This value is used to determine if key or data items will be stored
on overflow pages instead of Btree leaf pages. For more information
on the specific algorithm used, see the Berkeley DB Reference Guide.
The value specified must be at least 2; if not explicitly set, a
value of 2 is used.
</para>
<para>
If the database already exists, MinKeysPerPage will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.SequenceConfig">
<summary>
Configuration properties for a Sequence
</summary>
</member>
<member name="F:BerkeleyDB.SequenceConfig.Creation">
<summary>
The policy for how to handle sequence creation.
</summary>
<remarks>
If the sequence does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set, the Sequence constructor
will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.SequenceConfig.FreeThreaded">
<summary>
If true, the object returned by the Sequence constructor will be
free-threaded; that is, usable by multiple threads within a single
address space. Note that if multiple threads create multiple
sequences using the same <see cref="F:BerkeleyDB.SequenceConfig.BackingDatabase"/>, that
database must have also been opened free-threaded.
</summary>
</member>
<member name="F:BerkeleyDB.SequenceConfig.BackingDatabase">
<summary>
An open database which holds the persistent data for the sequence.
</summary>
<remarks>
<para>
The database may be of any type, but must not have been configured
to support duplicate data items.
</para>
<para>
If <paramref name="P:BackingDatabase"/> was opened in a transaction,
calling Get may result in changes to the sequence object; these
changes will be automatically committed in a transaction internal to
the Berkeley DB library. If the thread of control calling Get has an
active transaction, which holds locks on the same database as the
one in which the sequence object is stored, it is possible for a
thread of control calling Get to self-deadlock because the active
transaction's locks conflict with the internal transaction's locks.
For this reason, it is often preferable for sequence objects to be
stored in their own database.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SequenceConfig.key">
<summary>
The record in the database that stores the persistent sequence data.
</summary>
</member>
<member name="F:BerkeleyDB.SequenceConfig.Wrap">
<summary>
If true, the sequence should wrap around when it is incremented
(decremented) past the specified maximum (minimum) value.
</summary>
</member>
<member name="M:BerkeleyDB.SequenceConfig.SetRange(System.Int64,System.Int64)">
<summary>
Set the minimum and maximum values in the sequence.
</summary>
<param name="Max">The maximum value in the sequence.</param>
<param name="Min">The minimum value in the sequence.</param>
</member>
<member name="P:BerkeleyDB.SequenceConfig.InitialValue">
<summary>
The initial value for a sequence.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceConfig.Decrement">
<summary>
If true, the sequence will be decremented.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceConfig.Increment">
<summary>
If true, the sequence will be incremented. This is the default.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceConfig.CacheSize">
<summary>
The number of elements cached by a sequence handle.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceConfig.Min">
<summary>
The minimum value in the sequence.
</summary>
</member>
<member name="P:BerkeleyDB.SequenceConfig.Max">
<summary>
The maximum value in the sequence.
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryHashDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.SecondaryHashDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.SecondaryHashDatabaseConfig.Duplicates">
<summary>
Policy for duplicate data items in the database; that is, insertion
when the key of the key/data pair being inserted already exists in
the database will be successful.
</summary>
<remarks>
<para>
The ordering of duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> is determined by the order
of insertion, unless the ordering is otherwise specified by use of a
cursor operation or a duplicate sort function. The ordering of
duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is determined by the
duplicate comparison function. If the application does not specify a
comparison function using
<see cref="F:BerkeleyDB.SecondaryHashDatabaseConfig.DuplicateCompare"/>, a default lexical
comparison will be used.
</para>
<para>
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is preferred to
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> for performance reasons.
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> should only be used by
applications wanting to order duplicate data items manually.
</para>
<para>
If the database already exists, the value of Duplicates must be the
same as the existing database or an error will be returned.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryHashDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,BerkeleyDB.SecondaryHashDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryHashDatabaseConfig.Compare">
<summary>
The Secondary Hash key comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a key specified by the application with a key currently
stored in the tree.
</para>
<para>
If no comparison function is specified, the keys are compared
lexically, with shorter keys collating before longer keys.
</para>
<para>
If the database already exists, the comparison function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryHashDatabaseConfig.HashFunction">
<summary>
A user-defined hash function; if no hash function is specified, a
default hash function is used.
</summary>
<remarks>
<para>
Because no hash function performs equally well on all possible data,
the user may find that the built-in hash function performs poorly
with a particular data set.
</para>
<para>
If the database already exists, HashFunction must be the same as
that historically used to create the database or corruption can
occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryHashDatabaseConfig.DuplicateCompare">
<summary>
The duplicate data item comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a data item specified by the application with a data item
currently stored in the database. Setting DuplicateCompare implies
setting <see cref="F:BerkeleyDB.SecondaryHashDatabaseConfig.Duplicates"/> to
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/>.
</para>
<para>
If no comparison function is specified, the data items are compared
lexically, with shorter data items collating before longer data
items.
</para>
<para>
If the database already exists when
<see cref="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,BerkeleyDB.SecondaryHashDatabaseConfig)"/> is called, the delegate
must be the same as that historically used to create the database or
corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.SecondaryHashDatabaseConfig.#ctor(BerkeleyDB.Database,BerkeleyDB.SecondaryKeyGenDelegate)">
<summary>
Instantiate a new SecondaryHashDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabaseConfig.FillFactor">
<summary>
The desired density within the hash table. If no value is specified,
the fill factor will be selected dynamically as pages are filled.
</summary>
<remarks>
<para>
The density is an approximation of the number of keys allowed to
accumulate in any one bucket, determining when the hash table grows
or shrinks. If you know the average sizes of the keys and data in
your data set, setting the fill factor can enhance performance. A
reasonable rule computing fill factor is to set it to the following:
</para>
<para>
(pagesize - 32) / (average_key_size + average_data_size + 8)
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabaseConfig.TableSize">
<summary>
An estimate of the final size of the hash table.
</summary>
<remarks>
<para>
In order for the estimate to be used when creating the database,
<see cref="P:BerkeleyDB.SecondaryHashDatabaseConfig.FillFactor"/> must also be set. If the estimate or fill
factor are not set or are set too low, hash tables will still expand
gracefully as keys are entered, although a slight performance
degradation may be noticed.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.MPoolStats">
<summary>
Statistical information about the memory pool subsystem
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.CacheSettings">
<summary>
Total cache size and number of regions
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxCacheRegions">
<summary>
Maximum number of regions.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxMMapSize">
<summary>
Maximum file size for mmap.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxOpenFileDescriptors">
<summary>
Maximum number of open fd's.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxBufferWrites">
<summary>
Maximum buffers to write.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxBufferWritesSleep">
<summary>
Sleep after writing max buffers.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.Pages">
<summary>
Total number of pages.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MappedPages">
<summary>
Pages from mapped files.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesInCache">
<summary>
Pages found in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesNotInCache">
<summary>
Pages not found in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesCreatedInCache">
<summary>
Pages created in the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesRead">
<summary>
Pages read in.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesWritten">
<summary>
Pages written out.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.CleanPagesEvicted">
<summary>
Clean pages forced from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.DirtyPagesEvicted">
<summary>
Dirty pages forced from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesTrickled">
<summary>
Pages written by memp_trickle.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.CleanPages">
<summary>
Clean pages.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.DirtyPages">
<summary>
Dirty pages.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.HashBuckets">
<summary>
Number of hash buckets.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PageSize">
<summary>
Assumed page size.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.HashChainSearches">
<summary>
Total hash chain searches.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.LongestHashChainSearch">
<summary>
Longest hash chain searched.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.HashEntriesSearched">
<summary>
Total hash entries searched.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.HashLockNoWait">
<summary>
Hash lock granted with nowait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.HashLockWait">
<summary>
Hash lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxHashLockNoWait">
<summary>
Max hash lock granted with nowait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxHashLockWait">
<summary>
Max hash lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.RegionLockNoWait">
<summary>
Region lock granted with nowait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.RegionLockWait">
<summary>
Region lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.FrozenBuffers">
<summary>
Buffers frozen.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.ThawedBuffers">
<summary>
Buffers thawed.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.FrozenBuffersFreed">
<summary>
Frozen buffers freed.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PageAllocations">
<summary>
Number of page allocations.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.BucketsCheckedDuringAlloc">
<summary>
Buckets checked during allocation.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxBucketsCheckedDuringAlloc">
<summary>
Max checked during allocation.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.PagesCheckedDuringAlloc">
<summary>
Pages checked during allocation.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.MaxPagesCheckedDuringAlloc">
<summary>
Max checked during allocation.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.BlockedOperations">
<summary>
Thread waited on buffer I/O.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.SyncInterrupted">
<summary>
Number of times sync interrupted.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.RegionSize">
<summary>
Region size.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolStats.Files">
<summary>
Stats for files open in the memory pool
</summary>
</member>
<member name="T:BerkeleyDB.BTreeStats">
<summary>
Statistical information about a BTreeDatabase
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.DuplicatePages">
<summary>
Duplicate pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.DuplicatePagesFreeBytes">
<summary>
Bytes free in duplicate pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.EmptyPages">
<summary>
Empty pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.FreePages">
<summary>
Pages on the free list.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.InternalPages">
<summary>
Internal pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.InternalPagesFreeBytes">
<summary>
Bytes free in internal pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.LeafPages">
<summary>
Leaf pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.LeafPagesFreeBytes">
<summary>
Bytes free in leaf pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.Levels">
<summary>
Tree levels.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.MagicNumber">
<summary>
Magic number.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.MetadataFlags">
<summary>
Metadata flags.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.MinKey">
<summary>
Minkey value.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.nBlobRecords">
<summary>
Number of blobs.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.nData">
<summary>
Number of data items.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.nKeys">
<summary>
Number of unique keys.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.nPages">
<summary>
Page count.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.OverflowPages">
<summary>
Overflow pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.OverflowPagesFreeBytes">
<summary>
Bytes free in overflow pages.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.PageSize">
<summary>
Page size.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeStats.Version">
<summary>
Version number.
</summary>
</member>
<member name="T:BerkeleyDB.RecnoCursor">
<summary>
A class for traversing the records of a <see cref="T:BerkeleyDB.RecnoDatabase"/>
</summary>
</member>
<member name="M:BerkeleyDB.RecnoCursor.Duplicate(System.Boolean)">
<summary>
Create a new cursor that uses the same transaction and locker ID as
the original cursor.
</summary>
<remarks>
This is useful when an application is using locking and requires two
or more cursors in the same thread of control.
</remarks>
<param name="keepPosition">
If true, the newly created cursor is initialized to refer to the
same position in the database as the original cursor (if any) and
hold the same locks (if any). If false, or the original cursor does
not hold a database position and locks, the created cursor is
uninitialized and will behave like a cursor newly created by
<see cref="M:BerkeleyDB.RecnoDatabase.Cursor"/>.</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.RecnoCursor.Insert(BerkeleyDB.DatabaseEntry,BerkeleyDB.Cursor.InsertLocation)">
<summary>
Insert the data element as a duplicate element of the key to which
the cursor refers.
</summary>
<param name="data">The data element to insert</param>
<param name="loc">
Specify whether to insert the data item immediately before or
immediately after the cursor's current position.
</param>
</member>
<member name="T:BerkeleyDB.SecondaryQueueDatabase">
<summary>
A class representing a SecondaryQueueDatabase. The Queue format supports
fast access to fixed-length records accessed sequentially or by logical
record number.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryQueueDatabase.Open(System.String,BerkeleyDB.SecondaryQueueDatabaseConfig)">
<summary>
Instantiate a new SecondaryQueueDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryQueueDatabase.Open(System.String,BerkeleyDB.SecondaryQueueDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryQueueDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabase.ExtentSize">
<summary>
The size of the extents used to hold pages in a
<see cref="T:BerkeleyDB.QueueDatabase"/>, specified as a number of pages.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabase.Length">
<summary>
The length of records in the database.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabase.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
</member>
<member name="T:BerkeleyDB.DatabaseEntry">
<summary>
A class representing a key or data item in a Berkeley DB database
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEntry.#ctor">
<summary>
Create a new, empty DatabaseEntry object.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEntry.#ctor(System.Byte[])">
<summary>
Create a new DatabaseEntry object, with the specified data
</summary>
<param name="data">The new object's <see cref="P:BerkeleyDB.DatabaseEntry.Data"/></param>
</member>
<member name="M:BerkeleyDB.DatabaseEntry.Dispose">
<summary>
Release the resources held by the underlying C library.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEntry.Data">
<summary>
The byte string stored in or retrieved from a database
</summary>
</member>
<member name="T:BerkeleyDB.AckPolicy">
<summary>
The AckPolicy class specifies how master and client sites will handle
acknowledgment of replication messages which are necessary for
"permanent" records. The current implementation requires all sites in a
replication group configure the same acknowledgement policy.
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.ALL">
<summary>
The master should wait until all replication clients have
acknowledged each permanent replication message.
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.ALL_PEERS">
<summary>
The master should wait until all electable peers have acknowledged
each permanent replication message (where "electable peer" means a
client capable of being subsequently elected master of the
replication group).
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.NONE">
<summary>
The master should not wait for any client replication message
acknowledgments.
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.ONE">
<summary>
The master should wait until at least one client site has
acknowledged each permanent replication message.
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.ONE_PEER">
<summary>
The master should wait until at least one electable peer has
acknowledged each permanent replication message (where "electable
peer" means a client capable of being subsequently elected master of
the replication group).
</summary>
</member>
<member name="F:BerkeleyDB.AckPolicy.QUORUM">
<summary>
The master should wait until it has received acknowledgements from
the minimum number of electable peers sufficient to ensure that the
effect of the permanent record remains durable if an election is
held (where "electable peer" means a client capable of being
subsequently elected master of the replication group). This is the
default acknowledgement policy.
</summary>
</member>
<member name="T:BerkeleyDB.TransactionConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.Transaction"/>.
</summary>
</member>
<member name="F:BerkeleyDB.TransactionConfig.IsolationDegree">
<summary>
The degree of isolation for this transaction
</summary>
</member>
<member name="F:BerkeleyDB.TransactionConfig.NoWait">
<summary>
If true and a lock is unavailable for any Berkeley DB operation
performed in the context of a transaction, cause the operation to
throw a <see cref="T:BerkeleyDB.DeadlockException"/>
(or <see cref="T:BerkeleyDB.LockNotGrantedException"/> if configured with
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TimeNotGranted"/>).
</summary>
<remarks>
<para>
This setting overrides the behavior specified by
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnNoWait"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.TransactionConfig.Snapshot">
<summary>
If true, this transaction will execute with snapshot isolation.
</summary>
<remarks>
<para>
For databases with <see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/> set, data
values will be read as they are when the transaction begins, without
taking read locks. Silently ignored for operations on databases with
<see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/> not set on the underlying
database (read locks are acquired).
</para>
<para>
A <see cref="T:BerkeleyDB.DeadlockException"/> will be thrown from update
operations if a snapshot transaction attempts to update data which
was modified after the snapshot transaction read it.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.TransactionConfig.SyncAction">
<summary>
Log sync behavior on transaction commit or prepare.
</summary>
<remarks>
<para>
This setting overrides the behavior specified by
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnNoSync"/> and
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnWriteNoSync"/>.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.TransactionConfig.#ctor">
<summary>
Instantiate a new TransactionConfig object
</summary>
</member>
<member name="P:BerkeleyDB.TransactionConfig.LockTimeout">
<summary>
The timeout value for locks for the transaction.
</summary>
<remarks>
<para>
Timeouts are checked whenever a thread of control blocks on a lock
or when deadlock detection is performed. This timeout is for any
single lock request. As timeouts are only checked when the lock
request first blocks or when deadlock detection is performed, the
accuracy of the timeout depends on how often deadlock detection is
performed.
</para>
<para>
Timeout values may be specified for the database environment as a
whole. See <see cref="P:BerkeleyDB.DatabaseEnvironmentConfig.LockTimeout"/> for
more information.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.TransactionConfig.Name">
<summary>
The transaction's name. The name is returned by
<see cref="M:BerkeleyDB.DatabaseEnvironment.TransactionSystemStats"/>
and displayed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.PrintTransactionSystemStats"/>.
</summary>
<remarks>
If the database environment has been configured for logging and the
Berkeley DB library was built in Debug mode (or with DIAGNOSTIC
defined), a debugging log record is written including the
transaction ID and the name.
</remarks>
</member>
<member name="P:BerkeleyDB.TransactionConfig.TxnTimeout">
<summary>
The timeout value for locks for the transaction.
</summary>
<remarks>
<para>
Timeouts are checked whenever a thread of control blocks on a lock
or when deadlock detection is performed. This timeout is for the
life of the transaction. As timeouts are only checked when the lock
request first blocks or when deadlock detection is performed, the
accuracy of the timeout depends on how often deadlock detection is
performed.
</para>
<para>
Timeout values may be specified for the database environment as a
whole. See <see cref="P:BerkeleyDB.DatabaseEnvironmentConfig.TxnTimeout"/> for
more information.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.TransactionConfig.LogFlush">
<summary>
Specifies the log flushing behavior on transaction commit
</summary>
</member>
<member name="F:BerkeleyDB.TransactionConfig.LogFlush.DEFAULT">
<summary>
Use Berkeley DB's default behavior of syncing the log on commit.
</summary>
</member>
<member name="F:BerkeleyDB.TransactionConfig.LogFlush.NOSYNC">
<summary>
Berkeley DB will not write or synchronously flush the log on
transaction commit or prepare.
</summary>
<remarks>
<para>
This means the transaction will exhibit the ACI (atomicity,
consistency, and isolation) properties, but not D (durability);
that is, database integrity will be maintained but it is
possible that this transaction may be undone during recovery.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.TransactionConfig.LogFlush.WRITE_NOSYNC">
<summary>
Berkeley DB will write, but will not synchronously flush, the
log on transaction commit or prepare.
</summary>
<remarks>
<para>
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.
</para>
<para>
For consistent behavior across the environment, all
<see cref="T:BerkeleyDB.DatabaseEnvironment"/> objects opened in the
environment must either set WRITE_NOSYNC, or the
DB_TXN_WRITE_NOSYNC flag should be specified in the DB_CONFIG
configuration file.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.TransactionConfig.LogFlush.SYNC">
<summary>
Berkeley DB will synchronously flush the log on transaction
commit or prepare.
</summary>
<remarks>
This means the transaction will exhibit all of the ACID
(atomicity, consistency, isolation, and durability) properties.
</remarks>
</member>
<member name="T:BerkeleyDB.RepProcMsgResult">
<summary>
A class representing the return value of
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</summary>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.Result">
<summary>
The result of processing an incoming replication message.
</summary>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.RetLsn">
<summary>
The log sequence number of the permanent log message that could not
be written to disk if <see cref="F:BerkeleyDB.RepProcMsgResult.Result"/> is
<see cref="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.NOT_PERMANENT"/>. The largest log
sequence number of the permanent records that are now written to
disk as a result of processing the message, if
<see cref="F:BerkeleyDB.RepProcMsgResult.Result"/> is
<see cref="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.IS_PERMANENT"/>. In all other cases the
value is undefined.
</summary>
</member>
<member name="T:BerkeleyDB.RepProcMsgResult.ProcMsgResult">
<summary>
The result of processing an incoming replication message.
</summary>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.DUPLICATE_MASTER">
<summary>
The replication group has more than one master.
</summary>
<remarks>
The application should reconfigure itself as a client by calling
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartClient"/>,
and then call for an election using
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection"/>.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.ERROR">
<summary>
An unspecified error occurred.
</summary>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.HOLD_ELECTION">
<summary>
An election is needed.
</summary>
<remarks>
The application should call for an election using
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection"/>.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.IGNORED">
<summary>
A message cannot be processed.
</summary>
<remarks>
This is an indication that a message is irrelevant to the
current replication state (for example, an old message from a
previous generation arrives and is processed late).
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.IS_PERMANENT">
<summary>
Processing a message resulted in the processing of records that
are permanent.
</summary>
<remarks>
<see cref="F:BerkeleyDB.RepProcMsgResult.RetLsn"/> is the maximum LSN of the permanent
records stored.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.JOIN_FAILURE">
<summary>
A new master has been chosen but the client is unable to
synchronize with the new master.
</summary>
<remarks>
Possibly because the client has been configured with
<see cref="F:BerkeleyDB.ReplicationConfig.NoAutoInit"/> to turn off
automatic internal initialization.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.NEW_SITE">
<summary>
The system received contact information from a new environment.
</summary>
<remarks>
The rec parameter to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/> contains the
opaque data specified in the cdata parameter to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartClient"/>. The
application should take whatever action is needed to establish a
communication channel with this new environment.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.NOT_PERMANENT">
<summary>
A message carrying a DB_REP_PERMANENT flag was processed
successfully, but was not written to disk.
</summary>
<remarks>
<see cref="F:BerkeleyDB.RepProcMsgResult.RetLsn"/> is the LSN of this record. The application
should take whatever action is deemed necessary to retain its
recoverability characteristics.
</remarks>
</member>
<member name="F:BerkeleyDB.RepProcMsgResult.ProcMsgResult.SUCCESS">
<summary>
Processing a message succeded.
</summary>
</member>
<member name="T:BerkeleyDB.CompactConfig">
<summary>
A class to represent configuration settings for
<see cref="M:BerkeleyDB.BTreeDatabase.Compact(BerkeleyDB.CompactConfig)"/> and
<see cref="M:BerkeleyDB.RecnoDatabase.Compact(BerkeleyDB.CompactConfig)"/>.
</summary>
</member>
<member name="F:BerkeleyDB.CompactConfig.returnEnd">
<summary>
Return the database key marking the end of the compaction operation
in a Btree or Recno database. This is generally the first key of the
page where the operation stopped.
</summary>
</member>
<member name="F:BerkeleyDB.CompactConfig.start">
<summary>
If non-null, the starting point for compaction. Compaction will
start at the smallest key greater than or equal to
<paramref name="start"/>. If null, compaction will start at the
beginning of the database.
</summary>
</member>
<member name="F:BerkeleyDB.CompactConfig.stop">
<summary>
If non-null, the stopping point for compaction. Compaction will stop
at the page with the smallest key greater than
<paramref name="stop"/>. If null, compaction will stop at the end of
the database.
</summary>
</member>
<member name="F:BerkeleyDB.CompactConfig.TruncatePages">
<summary>
If true, return pages to the filesystem when possible. If false,
pages emptied as a result of compaction will be placed on the free
list for re-use, but never returned to the filesystem.
</summary>
<remarks>
Note that only pages at the end of a file can be returned to the
filesystem. Because of the one-pass nature of the compaction
algorithm, any unemptied page near the end of the file inhibits
returning pages to the file system. A repeated call to
<see cref="M:BerkeleyDB.BTreeDatabase.Compact(BerkeleyDB.CompactConfig)"/> or
<see cref="M:BerkeleyDB.RecnoDatabase.Compact(BerkeleyDB.CompactConfig)"/> with a low
<see cref="P:BerkeleyDB.CompactConfig.FillPercentage"/> may be used to return pages in this
case.
</remarks>
</member>
<member name="M:BerkeleyDB.CompactConfig.#ctor">
<summary>
Create a new CompactConfig object
</summary>
</member>
<member name="P:BerkeleyDB.CompactConfig.FillPercentage">
<summary>
If non-zero, this provides the goal for filling pages, specified as
a percentage between 1 and 100. Any page not at or above this
percentage full will be considered for compaction. The default
behavior is to consider every page for compaction, regardless of its
page fill percentage.
</summary>
</member>
<member name="P:BerkeleyDB.CompactConfig.Pages">
<summary>
If non-zero, compaction will complete after the specified number of
pages have been freed.
</summary>
</member>
<member name="P:BerkeleyDB.CompactConfig.Timeout">
<summary>
If non-zero, and no <see cref="T:BerkeleyDB.Transaction"/> is specified, this
parameter identifies the lock timeout used for implicit
transactions, in microseconds.
</summary>
</member>
<member name="T:BerkeleyDB.ReplicationHostAddress">
<summary>
A class representing the address of a replication site used by Berkeley
DB HA.
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationHostAddress.Host">
<summary>
The site's host identification string, generally a TCP/IP host name.
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationHostAddress.Port">
<summary>
The port number on which the site is receiving.
</summary>
</member>
<member name="M:BerkeleyDB.ReplicationHostAddress.#ctor">
<summary>
Instantiate a new, empty address
</summary>
</member>
<member name="M:BerkeleyDB.ReplicationHostAddress.#ctor(System.String)">
<summary>
Instantiate a new address, parsing the host and port from the given
string
</summary>
<param name="HostAndPort">A string in host:port format</param>
</member>
<member name="M:BerkeleyDB.ReplicationHostAddress.#ctor(System.String,System.UInt32)">
<summary>
Instantiate a new address
</summary>
<param name="Host">The site's host identification string</param>
<param name="Port">
The port number on which the site is receiving.
</param>
</member>
<member name="T:BerkeleyDB.QueueStats">
<summary>
Statistical information about a QueueDatabase
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.DataPages">
<summary>
Data pages.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.DataPagesBytesFree">
<summary>
Bytes free in data pages.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.FirstRecordNumber">
<summary>
First not deleted record.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.MagicNumber">
<summary>
Magic number.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.MetadataFlags">
<summary>
Metadata flags.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.NextRecordNumber">
<summary>
Next available record number.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.nData">
<summary>
Number of data items.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.nKeys">
<summary>
Number of unique keys.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.PageSize">
<summary>
Page size.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.PagesPerExtent">
<summary>
Pages per extent.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.RecordLength">
<summary>
Fixed-length record length.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.RecordPadByte">
<summary>
Fixed-length record pad.
</summary>
</member>
<member name="P:BerkeleyDB.QueueStats.Version">
<summary>
Version number.
</summary>
</member>
<member name="T:BerkeleyDB.CompactData">
<summary>
A class for representing compact operation statistics
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.Deadlocks">
<summary>
If no <see cref="T:BerkeleyDB.Transaction"/> parameter was specified, the
number of deadlocks which occurred.
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.Levels">
<summary>
The number of levels removed from the Btree or Recno database during
the compaction phase.
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.PagesExamined">
<summary>
The number of database pages reviewed during the compaction phase.
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.PagesFreed">
<summary>
The number of database pages freed during the compaction phase.
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.PagesTruncated">
<summary>
The number of database pages returned to the filesystem.
</summary>
</member>
<member name="P:BerkeleyDB.CompactData.End">
<summary>
The database key marking the end of the compaction operation. This
is generally the first key of the page where the operation stopped
and is only non-null if <see cref="F:BerkeleyDB.CompactConfig.returnEnd"/> was
true.
</summary>
</member>
<member name="T:BerkeleyDB.ByteOrder">
<summary>
A class to represent the database byte order.
</summary>
</member>
<member name="F:BerkeleyDB.ByteOrder.MACHINE">
<summary>
The host byte order of the machine where the Berkeley DB library was
compiled.
</summary>
</member>
<member name="F:BerkeleyDB.ByteOrder.LITTLE_ENDIAN">
<summary>
Little endian byte order
</summary>
</member>
<member name="F:BerkeleyDB.ByteOrder.BIG_ENDIAN">
<summary>
Big endian byte order
</summary>
</member>
<member name="M:BerkeleyDB.ByteOrder.FromConst(System.Int32)">
<summary>
Convert from the integer constant used to represent byte order in
the C library to its corresponding ByteOrder object.
</summary>
<param name="order">The C library constant</param>
<returns>
The ByteOrder object corresponding to the given constant
</returns>
</member>
<member name="T:BerkeleyDB.BTreeDatabase">
<summary>
A class representing a BTreeDatabase. The Btree format is a
representation of a sorted, balanced tree structure.
</summary>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Open(System.String,BerkeleyDB.BTreeDatabaseConfig)">
<summary>
Instantiate a new BTreeDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Open(System.String,System.String,BerkeleyDB.BTreeDatabaseConfig)">
<summary>
Instantiate a new BTreeDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Open(System.String,BerkeleyDB.BTreeDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new BTreeDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Open(System.String,System.String,BerkeleyDB.BTreeDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new BTreeDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Compact(BerkeleyDB.CompactConfig)">
<summary>
Compact the database, and optionally return unused database pages to
the underlying filesystem.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected using multiple
transactions. These transactions will be periodically committed to
avoid locking large sections of the tree. Any deadlocks encountered
cause the compaction operation to be retried from the point of the
last transaction commit.
</remarks>
<param name="cdata">Compact configuration parameters</param>
<returns>Compact operation statistics</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Compact(BerkeleyDB.CompactConfig,BerkeleyDB.Transaction)">
<summary>
Compact the database, and optionally return unused database pages to
the underlying filesystem.
</summary>
<remarks>
<para>
If <paramref name="txn"/> is non-null, then the operation is
performed using that transaction. In this event, large sections of
the tree may be locked during the course of the transaction.
</para>
<para>
If <paramref name="txn"/> is null, but the operation occurs in a
transactional database, the operation will be implicitly transaction
protected using multiple transactions. These transactions will be
periodically committed to avoid locking large sections of the tree.
Any deadlocks encountered cause the compaction operation to be
retried from the point of the last transaction commit.
</para>
</remarks>
<param name="cdata">Compact configuration parameters</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Compact operation statistics</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Cursor">
<summary>
Create a database cursor.
</summary>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Cursor(BerkeleyDB.CursorConfig)">
<summary>
Create a database cursor with the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Cursor(BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor.
</summary>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Cursor(BerkeleyDB.CursorConfig,BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor with the given
configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.FastStats">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.FastStats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.FastStats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<overloads>
<para>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</para>
<para>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</para>
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Get(System.UInt32)">
<summary>
Retrieve a specific numbered key/data pair from the database.
</summary>
<param name="recno">
The record number of the record to be retrieved.
</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Get(System.UInt32,BerkeleyDB.Transaction)">
<summary>
Retrieve a specific numbered key/data pair from the database.
</summary>
<param name="recno">
The record number of the record to be retrieved.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Get(System.UInt32,BerkeleyDB.Transaction,BerkeleyDB.LockingInfo)">
<summary>
Retrieve a specific numbered key/data pair from the database.
</summary>
<param name="recno">
The record number of the record to be retrieved.
</param>
<param name="txn">
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
A <see cref="T:System.Collections.Generic.KeyValuePair`2"/> whose Key
parameter is <paramref name="key"/> and whose Value parameter is the
retrieved data.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.KeyRange(BerkeleyDB.DatabaseEntry)">
<summary>
Return an estimate of the proportion of keys that are less than,
equal to, and greater than the specified key.
</summary>
<param name="key">The key to search for</param>
<returns>
An estimate of the proportion of keys that are less than, equal to,
and greater than the specified key.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.KeyRange(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Return an estimate of the proportion of keys that are less than,
equal to, and greater than the specified key.
</summary>
<param name="key">The key to search for</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
An estimate of the proportion of keys that are less than, equal to,
and greater than the specified key.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)">
<summary>
Store the key/data pair in the database only if it does not already
appear in the database.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Store the key/data pair in the database only if it does not already
appear in the database.
</summary>
<param name="key">The key to store in the database</param>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Stats">
<summary>
Return the database statistical information for this database.
</summary>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Stats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information for this database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.Stats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information for this database.
</summary>
<overloads>
The statistical information is described by
<see cref="T:BerkeleyDB.BTreeStats"/>.
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.TruncateUnusedPages">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="M:BerkeleyDB.BTreeDatabase.TruncateUnusedPages(BerkeleyDB.Transaction)">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.Compare">
<summary>
The Btree key comparison function. The comparison function is called
whenever it is necessary to compare a key specified by the
application with a key currently stored in the tree.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.Compress">
<summary>
The compression function used to store key/data pairs in the
database.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.Decompress">
<summary>
The decompression function used to retrieve key/data pairs from the
database.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.DupCompare">
<summary>
The duplicate data item comparison function.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.Duplicates">
<summary>
Whether the insertion of duplicate data items in the database is
permitted, and whether duplicates items are sorted.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.MinKeysPerPage">
<summary>
The minimum number of key/data pairs intended to be stored on any
single Btree leaf page.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.PrefixCompare">
<summary>
The Btree prefix function. The prefix function is used to determine
the amount by which keys stored on the Btree internal pages can be
safely truncated without losing their uniqueness.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.RecordNumbers">
<summary>
If true, this object supports retrieval from the Btree using record
numbers.
</summary>
</member>
<member name="P:BerkeleyDB.BTreeDatabase.ReverseSplit">
<summary>
If false, empty pages will not be coalesced into higher-level pages.
</summary>
</member>
<member name="T:BerkeleyDB.RecnoDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.RecnoDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.RecnoDatabaseConfig.Renumber">
<summary>
Cause the logical record numbers to be mutable, and change as
records are added to and deleted from the database.
</summary>
<remarks>
<para>
Using <see cref="M:BerkeleyDB.Database.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)"/> or <see cref="M:BerkeleyDB.Cursor.Put(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.UInt32)"/> to
create new records will cause the creation of multiple records if
the record number is more than one greater than the largest record
currently in the database. For example, creating record 28, when
record 25 was previously the last record in the database, will
create records 26 and 27 as well as 28. Attempts to retrieve records
that were created in this manner will throw a
<see cref="T:BerkeleyDB.KeyEmptyException"/>.
</para>
<para>
If a created record is not at the end of the database, all records
following the new record will be automatically renumbered upward by
one. For example, the creation of a new record numbered 8 causes
records numbered 8 and greater to be renumbered upward by one. If a
cursor was positioned to record number 8 or greater before the
insertion, it will be shifted upward one logical record, continuing
to refer to the same record as it did before.
</para>
<para>
If a deleted record is not at the end of the database, all records
following the removed record will be automatically renumbered
downward by one. For example, deleting the record numbered 8 causes
records numbered 9 and greater to be renumbered downward by one. If
a cursor was positioned to record number 9 or greater before the
removal, it will be shifted downward one logical record, continuing
to refer to the same record as it did before.
</para>
<para>
If a record is deleted, all cursors that were positioned on that
record prior to the removal will no longer be positioned on a valid
entry. This includes cursors used to delete an item. For example, if
a cursor was positioned to record number 8 before the removal of
that record, subsequent calls to <see cref="M:BerkeleyDB.Cursor.Refresh"/>
will return false until the cursor is moved to another record. A
call to <see cref="M:BerkeleyDB.Cursor.MoveNext"/> will return the new record
numbered 8 - which is the record that was numbered 9 prior to the
delete (if such a record existed).
</para>
<para>
For these reasons, concurrent access to a
<see cref="T:BerkeleyDB.RecnoDatabase"/> with this setting specified may be
largely meaningless, although it is supported.
</para>
<para>
If the database already exists, this setting must be the same as the
existing database or an exception will be thrown.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.RecnoDatabaseConfig.Snapshot">
<summary>
If true, any <see cref="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile"/> file will be read in its
entirety when <see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> is called. If false,
<see cref="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile"/> may be read lazily.
</summary>
</member>
<member name="F:BerkeleyDB.RecnoDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.RecnoDatabaseConfig.Append">
<summary>
A function to call after the record number has been selected but
before the data has been stored into the database.
</summary>
<remarks>
<para>
When using <see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/>, it may be useful to
modify the stored data based on the generated key. If a delegate is
specified, it will be called after the record number has been
selected, but before the data has been stored.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile">
<summary>
The underlying source file for the Recno access method.
</summary>
<remarks>
<para>
The purpose of the source file is to provide fast access and
modification to databases that are normally stored as flat text
files.
</para>
<para>
The source parameter specifies an underlying flat text database file
that is read to initialize a transient record number index. In the
case of variable length records, the records are separated, as
specified by <see cref="P:BerkeleyDB.RecnoDatabaseConfig.Delimiter"/>. For example, standard UNIX
byte stream files can be interpreted as a sequence of variable
length records separated by newline characters.
</para>
<para>
In addition, when cached data would normally be written back to the
underlying database file (for example,
<see cref="M:BerkeleyDB.BaseDatabase.Close"/> or
<see cref="M:BerkeleyDB.BaseDatabase.Sync"/>), the in-memory copy of the
database will be written back to the source file.
</para>
<para>
By default, the backing source file is read lazily; that is, records
are not read from the file until they are requested by the
application. If multiple processes (not threads) are accessing a
Recno database concurrently, and are either inserting or deleting
records, the backing source file must be read in its entirety before
more than a single process accesses the database, and only that
process should specify the backing source file as part of the
<see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> call. See <see cref="F:BerkeleyDB.RecnoDatabaseConfig.Snapshot"/>
for more information.
</para>
<para>
Reading and writing the backing source file specified by source
cannot be transaction-protected because it involves filesystem
operations that are not part of the Db transaction methodology. For
this reason, if a temporary database is used to hold the records, it
is possible to lose the contents of the source file, for example, if
the system crashes at the right instant. If a file is used to hold
the database, normal database recovery on that file can be used to
prevent information loss, although it is still possible that the
contents of source will be lost if the system crashes.
</para>
<para>
The source file must already exist (but may be zero-length) when
<see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> is called.
</para>
<para>
It is not an error to specify a read-only source file when creating
a database, nor is it an error to modify the resulting database.
However, any attempt to write the changes to the backing source file
using either the <see cref="M:BerkeleyDB.BaseDatabase.Sync"/> or
<see cref="M:BerkeleyDB.BaseDatabase.Close"/> methods will fail, of course.
Use <see cref="M:BerkeleyDB.BaseDatabase.Close(System.Boolean)"/> to stop it from
attempting to write the changes to the backing file; instead, they
will be silently discarded.
</para>
<para>
For all of the previous reasons, the source file is generally used
to specify databases that are read-only for Berkeley DB
applications; and that are either generated on the fly by software
tools or modified using a different mechanism — for example, a text
editor.
</para>
<para>
If the database already exists, BackingFile must be the same as that
historically used to create the database or corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.RecnoDatabaseConfig.#ctor">
<summary>
Instantiate a new RecnoDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabaseConfig.Delimiter">
<summary>
The delimiting byte used to mark the end of a record in
<see cref="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile"/>.
</summary>
<remarks>
<para>
This byte is used for variable length records if
<see cref="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile"/> is set. If <see cref="F:BerkeleyDB.RecnoDatabaseConfig.BackingFile"/> is
specified and no delimiting byte was specified, newline characters
(that is, ASCII 0x0a) are interpreted as end-of-record markers.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.RecnoDatabaseConfig.Length">
<summary>
Specify that the records are fixed-length, not byte-delimited, and
are of length Length.
</summary>
<remarks>
<para>
Any records added to the database that are less than Length bytes
long are automatically padded (see <see cref="P:BerkeleyDB.RecnoDatabaseConfig.PadByte"/> for more
information).
</para>
<para>
Any attempt to insert records into the database that are greater
than Length bytes long will cause the call to fail immediately and
return an error.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.RecnoDatabaseConfig.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
<remarks>
<para>
If no pad character is specified, space characters (that is, ASCII
0x20) are used for padding.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.HashStats">
<summary>
Statistical information about a HashDatabase
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.BigPages">
<summary>
Number of big key/data pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.BigPagesFreeBytes">
<summary>
Bytes free on big item pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.BucketPagesFreeBytes">
<summary>
Bytes free on bucket pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.DuplicatePages">
<summary>
Number of dup pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.DuplicatePagesFreeBytes">
<summary>
Bytes free on duplicate pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.FillFactor">
<summary>
Fill factor specified at create.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.FreePages">
<summary>
Pages on the free list.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.MetadataFlags">
<summary>
Metadata flags.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.MagicNumber">
<summary>
Magic number.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.nBlobRecords">
<summary>
Number of blobs.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.nData">
<summary>
Number of data items.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.nHashBuckets">
<summary>
Number of hash buckets.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.nKeys">
<summary>
Number of unique keys.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.OverflowPages">
<summary>
Number of overflow pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.OverflowPagesFreeBytes">
<summary>
Bytes free on ovfl pages.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.nPages">
<summary>
Page count.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.PageSize">
<summary>
Page size.
</summary>
</member>
<member name="P:BerkeleyDB.HashStats.Version">
<summary>
Version number.
</summary>
</member>
<member name="T:BerkeleyDB.CursorConfig">
<summary>
A class representing configuration parameters for <see cref="T:BerkeleyDB.Cursor"/>
</summary>
</member>
<member name="F:BerkeleyDB.CursorConfig.IsolationDegree">
<summary>
The isolation degree the cursor should use.
</summary>
<remarks>
<para>
<see cref="F:BerkeleyDB.Isolation.DEGREE_TWO"/> ensures the stability of the
current data item read by this cursor but permits data read by this
cursor to be modified or deleted prior to the commit of the
transaction for this cursor.
</para>
<para>
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> allows read operations performed
by the cursor to return modified but not yet committed data.
Silently ignored if the <see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>
was not specified when the underlying database was opened.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.CursorConfig.WriteCursor">
<summary>
If true, specify that the cursor will be used to update the
database. The underlying database environment must have been opened
with <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseCDB"/> set.
</summary>
</member>
<member name="F:BerkeleyDB.CursorConfig.SnapshotIsolation">
<summary>
<para>
Configure a transactional cursor to operate with read-only snapshot
isolation. For databases with <see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/>
set, data values will be read as they are when the cursor is opened,
without taking read locks.
</para>
<para>
This setting implicitly begins a transaction that is committed when
the cursor is closed.
</para>
<para>
This setting is silently ignored if
<see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/> is not set on the underlying
database or if a transaction is supplied to
<see cref="M:BerkeleyDB.BaseDatabase.Cursor"/>
</para>
</summary>
</member>
<member name="F:BerkeleyDB.CursorConfig.Priority">
<summary>
The cache priority for pages referenced by the cursor.
</summary>
<remarks>
The priority of a page biases the replacement algorithm to be more
or less likely to discard a page when space is needed in the buffer
pool. The bias is temporary, and pages will eventually be discarded
if they are not referenced again. The setting is only advisory, and
does not guarantee pages will be treated in a specific way.
</remarks>
</member>
<member name="M:BerkeleyDB.CursorConfig.#ctor">
<summary>
Instantiate a new CursorConfig object
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryQueueDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.SecondaryQueueDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.SecondaryQueueDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.SecondaryQueueDatabase.Open(System.String,BerkeleyDB.SecondaryQueueDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="M:BerkeleyDB.SecondaryQueueDatabaseConfig.#ctor(BerkeleyDB.Database,BerkeleyDB.SecondaryKeyGenDelegate)">
<summary>
Instantiate a new SecondaryQueueDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabaseConfig.Length">
<summary>
Specify the length of records in the database.
</summary>
<remarks>
<para>
The record length must be enough smaller than
<see cref="P:BerkeleyDB.DatabaseConfig.PageSize"/> that at least one record plus
the database page's metadata information can fit on each database
page.
</para>
<para>
Any records added to the database that are less than Length bytes
long are automatically padded (see <see cref="P:BerkeleyDB.SecondaryQueueDatabaseConfig.PadByte"/> for more
information).
</para>
<para>
Any attempt to insert records into the database that are greater
than Length bytes long will cause the call to fail immediately and
return an error.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabaseConfig.PadByte">
<summary>
The padding character for short, fixed-length records.
</summary>
<remarks>
<para>
If no pad character is specified, space characters (that is, ASCII
0x20) are used for padding.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.SecondaryQueueDatabaseConfig.ExtentSize">
<summary>
The size of the extents used to hold pages in a
<see cref="T:BerkeleyDB.SecondaryQueueDatabase"/>, specified as a number of
pages.
</summary>
<remarks>
<para>
Each extent is created as a separate physical file. If no extent
size is set, the default behavior is to create only a single
underlying database file.
</para>
<para>
For information on tuning the extent size, see Selecting a extent
size in the Programmer's Reference Guide.
</para>
<para>
If the database already exists, this setting will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.SecondaryHashDatabase">
<summary>
A class representing a SecondaryHashDatabase. The Hash format is an
extensible, dynamic hashing scheme.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,BerkeleyDB.SecondaryHashDatabaseConfig)">
<summary>
Instantiate a new SecondaryHashDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryHashDatabaseConfig)">
<summary>
Instantiate a new SecondaryHashDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,BerkeleyDB.SecondaryHashDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryHashDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryHashDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryHashDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryHashDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.Compare">
<summary>
The secondary Hash key comparison function. The comparison function
is called whenever it is necessary to compare a key specified by the
application with a key currently stored in the tree.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.DupCompare">
<summary>
The duplicate data item comparison function.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.Duplicates">
<summary>
Whether the insertion of duplicate data items in the database is
permitted, and whether duplicates items are sorted.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.FillFactor">
<summary>
The desired density within the hash table.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.HashFunction">
<summary>
A user-defined hash function; if no hash function is specified, a
default hash function is used.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryHashDatabase.TableSize">
<summary>
An estimate of the final size of the hash table.
</summary>
</member>
<member name="T:BerkeleyDB.RepMgrStats">
<summary>
Statistical information about the Replication Manager
</summary>
</member>
<member name="P:BerkeleyDB.RepMgrStats.DroppedConnections">
<summary>
Existing connections dropped.
</summary>
</member>
<member name="P:BerkeleyDB.RepMgrStats.DroppedMessages">
<summary>
# msgs discarded due to excessive queue length.
</summary>
</member>
<member name="P:BerkeleyDB.RepMgrStats.FailedConnections">
<summary>
Failed new connection attempts.
</summary>
</member>
<member name="P:BerkeleyDB.RepMgrStats.FailedMessages">
<summary>
# of insufficiently ack'ed msgs.
</summary>
</member>
<member name="P:BerkeleyDB.RepMgrStats.QueuedMessages">
<summary>
# msgs queued for network delay.
</summary>
</member>
<member name="T:BerkeleyDB.ReplicationConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>'s replication subsystem.
</summary>
</member>
<member name="M:BerkeleyDB.ReplicationConfig.#ctor">
<summary>
Instantiate a new ReplicationConfig object with default
configuration values.
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.BulkTransfer">
<summary>
If true, the replication master will send groups of records to the
clients in a single network transfer
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.DelayClientSync">
<summary>
If true, the client will delay synchronizing to a newly declared
master (defaults to false). Clients configured in this way will
remain unsynchronized until the application calls
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepSync"/>.
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.UseMasterLeases">
<summary>
If true, master leases will be used for this site (defaults to
false).
</summary>
<remarks>
Configuring this option may result in a
<see cref="T:BerkeleyDB.LeaseExpiredException"/> when attempting to read entries
from a database after the site's master lease has expired.
</remarks>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.NoAutoInit">
<summary>
If true, the replication master will not automatically re-initialize
outdated clients (defaults to false).
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.NoBlocking">
<summary>
If true, Berkeley DB method calls that would normally block while
clients are in recovery will return errors immediately (defaults to
false).
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.Strict2Site">
<summary>
If true, the Replication Manager will observe the strict "majority"
rule in managing elections, even in a group with only 2 sites. This
means the client in a 2-site group will be unable to take over as
master if the original master fails or becomes disconnected. (See
the Elections section in the Berkeley DB Reference Guide for more
information.) Both sites in the replication group should have the
same value for this parameter.
</summary>
</member>
<member name="M:BerkeleyDB.ReplicationConfig.Clockskew(System.UInt32,System.UInt32)">
<summary>
Set the clock skew ratio among replication group members based on
the fastest and slowest measurements among the group for use with
master leases.
</summary>
<remarks>
<para>
Calling this method is optional, the default values for clock skew
assume no skew. The user must also configure leases via
<see cref="F:BerkeleyDB.ReplicationConfig.UseMasterLeases"/>. Additionally, the user must also
set the master lease timeout via <see cref="P:BerkeleyDB.ReplicationConfig.LeaseTimeout"/> and
the number of sites in the replication group via
<see cref="P:BerkeleyDB.ReplicationConfig.NSites"/>. These settings may be configured in any
order. For a description of the clock skew values, see Clock skew
in the Berkeley DB Programmer's Reference Guide. For a description
of master leases, see Master leases in the Berkeley DB Programmer's
Reference Guide.
</para>
<para>
These arguments can be used to express either raw measurements of a
clock timing experiment or a percentage across machines. For
instance a group of sites have a 2% variance, then
<paramref name="fast"/> should be set to 102, and
<paramref name="slow"/> should be set to 100. Or, for a 0.03%
difference, you can use 10003 and 10000 respectively.
</para>
</remarks>
<param name="fast">
The value, relative to <paramref name="slow"/>, of the fastest clock
in the group of sites.
</param>
<param name="slow">
The value of the slowest clock in the group of sites.
</param>
</member>
<member name="M:BerkeleyDB.ReplicationConfig.RetransmissionRequest(System.UInt32,System.UInt32)">
<summary>
Set a threshold for the minimum and maximum time that a client waits
before requesting retransmission of a missing message.
</summary>
<remarks>
<para>
If the client detects a gap in the sequence of incoming log records
or database pages, Berkeley DB will wait for at least
<paramref name="min"/> microseconds before requesting retransmission
of the missing record. Berkeley DB will double that amount before
requesting the same missing record again, and so on, up to a
maximum threshold of <paramref name="max"/> microseconds.
</para>
<para>
These values are thresholds only. Since Berkeley DB has no thread
available in the library as a timer, the threshold is only checked
when a thread enters the Berkeley DB library to process an incoming
replication message. Any amount of time may have passed since the
last message arrived and Berkeley DB only checks whether the amount
of time since a request was made is beyond the threshold value or
not.
</para>
<para>
By default the minimum is 40000 and the maximum is 1280000 (1.28
seconds). These defaults are fairly arbitrary and the application
likely needs to adjust these. The values should be based on expected
load and performance characteristics of the master and client host
platforms and transport infrastructure as well as round-trip message
time.
</para></remarks>
<param name="min">
The minimum number of microseconds a client waits before requesting
retransmission.
</param>
<param name="max">
The maximum number of microseconds a client waits before requesting
retransmission.
</param>
</member>
<member name="M:BerkeleyDB.ReplicationConfig.TransmitLimit(System.UInt32,System.UInt32)">
<summary>
Set a byte-count limit on the amount of data that will be
transmitted from a site in response to a single message processed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>. The limit is
not a hard limit, and the record that exceeds the limit is the last
record to be sent.
</summary>
<remarks>
<para>
Record transmission throttling is turned on by default with a limit
of 10MB.
</para>
<para>
If both <paramref name="GBytes"/> and <paramref name="Bytes"/> are
zero, then the transmission limit is turned off.
</para>
</remarks>
<param name="GBytes">
The number of gigabytes which, when added to
<paramref name="Bytes"/>, specifies the maximum number of bytes that
will be sent in a single call to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</param>
<param name="Bytes">
The number of bytes which, when added to
<paramref name="GBytes"/>, specifies the maximum number of bytes
that will be sent in a single call to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</param>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.Transport">
<summary>
The delegate used to transmit data using the replication
application's communication infrastructure.
</summary>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.RepMgrAckPolicy">
<summary>
Specify how master and client sites will handle acknowledgment of
replication messages which are necessary for "permanent" records.
The current implementation requires all sites in a replication group
configure the same acknowledgement policy.
</summary>
<seealso cref="P:BerkeleyDB.ReplicationConfig.AckTimeout"/>
</member>
<member name="F:BerkeleyDB.ReplicationConfig.RepMgrLocalSite">
<summary>
The host information for the local system.
</summary>
</member>
<member name="M:BerkeleyDB.ReplicationConfig.AddRemoteSite(BerkeleyDB.ReplicationHostAddress,System.Boolean)">
<summary>
Add a new replication site to the replication manager's list of
known sites. It is not necessary for all sites in a replication
group to know about all other sites in the group.
</summary>
<remarks>
Currently, the replication manager framework only supports a single
client peer, and the last specified peer is used.
</remarks>
<param name="host">The remote site's address</param>
<param name="isPeer">
If true, configure client-to-client synchronization with the
specified remote site.
</param>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.AckTimeout">
<summary>
The amount of time the replication manager's transport function
waits to collect enough acknowledgments from replication group
clients, before giving up and returning a failure indication. The
default wait time is 1 second.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.CheckpointDelay">
<summary>
The amount of time a master site will delay between completing a
checkpoint and writing a checkpoint record into the log.
</summary>
<remarks>
This delay allows clients to complete their own checkpoints before
the master requires completion of them. The default is 30 seconds.
If all databases in the environment, and the environment's
transaction log, are configured to reside in memory (never preserved
to disk), then, although checkpoints are still necessary, the delay
is not useful and should be set to 0.
</remarks>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.ConnectionRetry">
<summary>
The amount of time the replication manager will wait before trying
to re-establish a connection to another site after a communication
failure. The default wait time is 30 seconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.ElectionTimeout">
<summary>
The timeout period for an election. The default timeout is 2
seconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.ElectionRetry">
<summary>
Configure the amount of time the replication manager will wait
before retrying a failed election. The default wait time is 10
seconds.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.FullElectionTimeout">
<summary>
An optional configuration timeout period to wait for full election
participation the first time the replication group finds a master.
By default this option is turned off and normal election timeouts
are used. (See the Elections section in the Berkeley DB Reference
Guide for more information.)
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.HeartbeatMonitor">
<summary>
The amount of time the replication manager, running at a client
site, waits for some message activity on the connection from the
master (heartbeats or other messages) before concluding that the
connection has been lost. When 0 (the default), no monitoring is
performed.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.HeartbeatSend">
<summary>
The frequency at which the replication manager, running at a master
site, broadcasts a heartbeat message in an otherwise idle system.
When 0 (the default), no heartbeat messages will be sent.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.LeaseTimeout">
<summary>
The amount of time a client grants its master lease to a master.
When using master leases all sites in a replication group must use
the same lease timeout value. There is no default value. If leases
are desired, this method must be called prior to calling
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartClient"/> or
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster"/>.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.ClockskewFast">
<summary>
The value, relative to <see cref="P:BerkeleyDB.ReplicationConfig.ClockskewSlow"/>, of the fastest
clock in the group of sites.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.ClockskewSlow">
<summary>
The value of the slowest clock in the group of sites.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.NSites">
<summary>
The total number of sites in the replication group.
</summary>
<remarks>
<para>
This setting is typically used by applications which use the
Berkeley DB library "replication manager" support. (However, see
also <see cref="M:BerkeleyDB.DatabaseEnvironment.RepHoldElection"/>, the
description of the nsites parameter.)
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.Priority">
<summary>
The database environment's priority in replication group elections.
A special value of 0 indicates that this environment cannot be a
replication group master. If not configured, then a default value
of 100 is used.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.RetransmissionRequestMin">
<summary>
The minimum number of microseconds a client waits before requesting
retransmission.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.RetransmissionRequestMax">
<summary>
The maximum number of microseconds a client waits before requesting
retransmission.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.TransmitLimitGBytes">
<summary>
The gigabytes component of the byte-count limit on the amount of
data that will be transmitted from a site in response to a single
message processed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</summary>
</member>
<member name="P:BerkeleyDB.ReplicationConfig.TransmitLimitBytes">
<summary>
The bytes component of the byte-count limit on the amount of data
that will be transmitted from a site in response to a single
message processed by
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepProcessMessage(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.Int32)"/>.
</summary>
</member>
<member name="T:BerkeleyDB.MutexConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>'s mutex subsystem.
</summary>
</member>
<member name="P:BerkeleyDB.MutexConfig.Alignment">
<summary>
The mutex alignment, in bytes.
</summary>
<remarks>
<para>
It is sometimes advantageous to align mutexes on specific byte
boundaries in order to minimize cache line collisions. Alignment
specifies an alignment for mutexes allocated by Berkeley DB.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
Alignment will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.MutexConfig.Increment">
<summary>
Configure the number of additional mutexes to allocate.
</summary>
<remarks>
<para>
If both Increment and <see cref="P:BerkeleyDB.MutexConfig.MaxMutexes"/> are set, the value of
Increment will be silently ignored.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
Increment will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.MutexConfig.MaxMutexes">
<summary>
The total number of mutexes to allocate.
</summary>
<remarks>
<para>
Berkeley DB allocates a default number of mutexes based on the
initial configuration of the database environment. That default
calculation may be too small if the application has an unusual need
for mutexes (for example, if the application opens an unexpectedly
large number of databases) or too large (if the application is
trying to minimize its memory footprint). MaxMutexes is used to
specify an absolute number of mutexes to allocate.
</para>
<para>
If both <see cref="P:BerkeleyDB.MutexConfig.Increment"/> and MaxMutexes are set, the value of
Increment will be silently ignored.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
MaxMutexes will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.MutexConfig.NumTestAndSetSpins">
<summary>
The number of spins test-and-set mutexes should execute before
blocking.
</summary>
</member>
<member name="T:BerkeleyDB.AppendRecordDelegate">
<summary>
A function to call after the record number has been selected but before
the data has been stored into the database.
</summary>
<param name="data">The data to be stored.</param>
<param name="recno">The generated record number.</param>
</member>
<member name="T:BerkeleyDB.BTreeCompressDelegate">
<summary>
A function to store a compressed key/data pair into a supplied buffer.
</summary>
<param name="prevKey">The key immediately preceding the application supplied key.</param>
<param name="prevData">The data associated with prevKey.</param>
<param name="key">The application supplied key.</param>
<param name="data">The application supplied data. </param>
<param name="dest">The compressed data to be stored in the
database.</param>
<param name="size">The number of compressed bytes written to
<paramref name="dest"/>, or the required size of
<paramref name="dest"/>, if too small.</param>
<returns>True on success, false if dest is too small to contain the
compressed data. All other errors should throw an exception.</returns>
</member>
<member name="T:BerkeleyDB.BTreeDecompressDelegate">
<summary>
A function to decompress a key/data pair from a supplied buffer.
</summary>
<param name="prevKey">The key immediately preceding the key being decompressed.</param>
<param name="prevData">The data associated with prevKey.</param>
<param name="compressed">The data stored in the tree, that is, the compressed data.</param>
<param name="bytesRead">The number of bytes read from <paramref name="compressed"/>.</param>
<returns>Two new DatabaseEntry objects representing the decompressed
key/data pair.</returns>
</member>
<member name="T:BerkeleyDB.DatabaseFeedbackDelegate">
<summary>
The application-specified feedback function called to report Berkeley DB
operation progress.
</summary>
<param name="opcode">
An operation code specifying the Berkley DB operation
</param>
<param name="percent">
The percent of the operation that has been completed, specified as an
integer value between 0 and 100.
</param>
</member>
<member name="T:BerkeleyDB.EntryComparisonDelegate">
<summary>
An application-specified comparison function.
</summary>
<param name="dbt1">The application supplied key.</param>
<param name="dbt2">The current tree's key.</param>
<returns>
An integer value less than, equal to, or greater than zero if the first
key parameter is considered to be respectively less than, equal to, or
greater than the second key parameter.
</returns>
</member>
<member name="T:BerkeleyDB.EnvironmentFeedbackDelegate">
<summary>
The application-specified feedback function called to report Berkeley DB
operation progress.
</summary>
<param name="opcode">
An operation code specifying the Berkley DB operation
</param>
<param name="percent">
The percent of the operation that has been completed, specified as an
integer value between 0 and 100.
</param>
</member>
<member name="T:BerkeleyDB.ErrorFeedbackDelegate">
<summary>
The application-specified error reporting function.
</summary>
<param name="errPrefix">The prefix string</param>
<param name="errMessage">The error message string</param>
</member>
<member name="T:BerkeleyDB.EventNotifyDelegate">
<summary>
The application's event notification function.
</summary>
<param name="eventcode">
An even code specifying the Berkeley DB event
</param>
<param name="event_info">
Additional information describing an event. By default, event_info is
null; specific events may pass non-null values, in which case the event
will also describe the information's structure.
</param>
</member>
<member name="T:BerkeleyDB.ForeignKeyNullifyDelegate">
<summary>
</summary>
<param name="key"></param>
<param name="data"></param>
<param name="foreignkey"></param>
<returns></returns>
</member>
<member name="T:BerkeleyDB.HashFunctionDelegate">
<summary>
The application-specified hash function.
</summary>
<param name="data">
A byte string representing a key in the database
</param>
<returns>The hashed value of <paramref name="data"/></returns>
</member>
<member name="T:BerkeleyDB.ReplicationTransportDelegate">
<summary>
The function used to transmit data using the replication application's
communication infrastructure.
</summary>
<param name="control">
The first of the two data elements to be transmitted by the send
function.
</param>
<param name="rec">
The second of the two data elements to be transmitted by the send
function.
</param>
<param name="lsn">
If the type of message to be sent has an LSN associated with it, then
this is the LSN of the record being sent. This LSN can be used to
determine that certain records have been processed successfully by
clients.
</param>
<param name="envid">
<para>
A positive integer identifier that specifies the replication environment
to which the message should be sent.
</para>
<para>
The special identifier DB_EID_BROADCAST indicates that a message should
be broadcast to every environment in the replication group. The
application may use a true broadcast protocol or may send the message
in sequence to each machine with which it is in communication. In both
cases, the sending site should not be asked to process the message.
</para>
<para>
The special identifier DB_EID_INVALID indicates an invalid environment
ID. This may be used to initialize values that are subsequently checked
for validity.
</para>
</param>
<param name="flags">XXX: TBD</param>
<returns>0 on success and non-zero on failure</returns>
</member>
<member name="T:BerkeleyDB.SecondaryKeyGenDelegate">
<summary>
The function that creates the set of secondary keys corresponding to a
given primary key and data pair.
</summary>
<param name="key">The primary key</param>
<param name="data">The primary data item</param>
<returns>The secondary key(s)</returns>
</member>
<member name="T:BerkeleyDB.SetThreadIDDelegate">
<summary>
A function which returns a unique identifier pair for a thread of
control in a Berkeley DB application.
</summary>
<returns>
A DbThreadID object describing the current thread of control
</returns>
</member>
<member name="T:BerkeleyDB.SetThreadNameDelegate">
<summary>
A function which returns an identifier pair for a thread of control
formatted for display.
</summary>
<param name="info">The thread of control to format</param>
<returns>The formatted identifier pair</returns>
</member>
<member name="T:BerkeleyDB.ThreadIsAliveDelegate">
<summary>
A function which returns whether the thread of control, identified by
<paramref name="info"/>, is still running.
</summary>
<param name="info">The thread of control to check</param>
<param name="procOnly">
If true, return only if the process is alive, and the
<see cref="F:BerkeleyDB.DbThreadID.threadID"/> portion of <paramref name="info"/>
should be ignored.
</param>
<returns>True if the tread is alive, false otherwise.</returns>
</member>
<member name="T:BerkeleyDB.DatabaseEnvironmentConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironmentConfig.#ctor">
<summary>
Create a new object, with default settings
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.LockSystemCfg">
<summary>
Configuration for the locking subsystem
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.LogSystemCfg">
<summary>
Configuration for the logging subsystem
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.MPoolSystemCfg">
<summary>
Configuration for the memory pool subsystem
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.MutexSystemCfg">
<summary>
Configuration for the mutex subsystem
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.RepSystemCfg">
<summary>
Configuration for the replication subsystem
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.ErrorFeedback">
<summary>
The mechanism for reporting detailed error messages to the
application.
</summary>
<remarks>
<para>
When an error occurs in the Berkeley DB library, a
<see cref="T:BerkeleyDB.DatabaseException"/>, or subclass of DatabaseException,
is thrown. In some cases, however, the exception may be insufficient
to completely describe the cause of the error, especially during
initial application debugging.
</para>
<para>
In some cases, when an error occurs, Berkeley DB will call the given
delegate with additional error information. It is up to the delegate
to display the error message in an appropriate manner.
</para>
<para>
Setting ErrorFeedback to NULL unconfigures the callback interface.
</para>
<para>
This error-logging enhancement does not slow performance or
significantly increase application size, and may be run during
normal operation as well as during application debugging.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Feedback">
<summary>
Monitor progress within long running operations.
</summary>
<remarks>
<para>
Some operations performed by the Berkeley DB library can take
non-trivial amounts of time. The Feedback delegate can be used by
applications to monitor progress within these operations. When an
operation is likely to take a long time, Berkeley DB will call the
specified delegate with progress information.
</para>
<para>
It is up to the delegate to display this information in an
appropriate manner.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.EventNotify">
<summary>
A delegate which is called to notify the process of specific
Berkeley DB events.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.SetThreadID">
<summary>
A delegate that returns a unique identifier pair for the current
thread of control.
</summary>
<remarks>
This delegate supports <see cref="M:BerkeleyDB.DatabaseEnvironment.FailCheck"/>.
For more information, see Architecting Data Store and Concurrent
Data Store applications, and Architecting Transactional Data Store
applications, both in the Berkeley DB Programmer's Reference Guide.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.ThreadName">
<summary>
A delegate that formats a process ID and thread ID identifier pair.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.ThreadIsAlive">
<summary>
A delegate that returns if a thread of control (either a true thread
or a process) is still running.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.DataDirs">
<summary>
Paths of directories to be used as the location of the access method
database files.
</summary>
<remarks>
<para>
Paths specified to <see cref="M:BerkeleyDB.Database.Open(System.String,BerkeleyDB.DatabaseConfig)"/> will be searched
relative to this path. Paths set using this method are additive, and
specifying more than one will result in each specified directory
being searched for database files.
</para>
<para>
If no database directories are specified, database files must be
named either by absolute paths or relative to the environment home
directory. See Berkeley DB File Naming in the Programmer's Reference
Guide for more information.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.CreationDir">
<summary>
The path of a directory to be used as the location to create the
access method database files. When <see cref="M:BerkeleyDB.BTreeDatabase.Open(System.String,BerkeleyDB.BTreeDatabaseConfig)"/>,
<see cref="M:BerkeleyDB.HashDatabase.Open(System.String,BerkeleyDB.HashDatabaseConfig)"/>, <see cref="M:BerkeleyDB.QueueDatabase.Open(System.String,BerkeleyDB.QueueDatabaseConfig)"/> or
<see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> is used to create a file it will be
created relative to this path.
</summary>
<remarks>
<para>
This path must also exist in <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.DataDirs"/>.
</para>
<para>
If no database directory is specified, database files must be named
either by absolute paths or relative to the environment home
directory. See Berkeley DB File Naming in the Programmer's Reference
Guide for more information.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.DatabaseEnvironmentConfig.SetEncryption(System.String,BerkeleyDB.EncryptionAlgorithm)">
<summary>
Set the password and algorithm used by the Berkeley DB library to
perform encryption and decryption.
</summary>
<param name="password">
The password used to perform encryption and decryption.
</param>
<param name="alg">
The algorithm used to perform encryption and decryption.
</param>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.ErrorPrefix">
<summary>
The prefix string that appears before error messages issued by
Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
ErrorPrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.ErrorPrefix"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.MessagePrefix">
<summary>
The prefix string that appears before informational messages issued
by Berkeley DB.
</summary>
<remarks>
<para>
For databases opened inside of a DatabaseEnvironment, setting
MessagePrefix affects the entire environment and is equivalent to
setting <see cref="P:BerkeleyDB.DatabaseEnvironment.MessagePrefix"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.IntermediateDirMode">
<summary>
The permissions for any intermediate directories created by Berkeley
DB.
</summary>
<remarks>
<para>
By default, Berkeley DB does not create intermediate directories
needed for recovery, that is, if the file /a/b/c/mydatabase is being
recovered, and the directory path b/c does not exist, recovery will
fail. This default behavior is because Berkeley DB does not know
what permissions are appropriate for intermediate directory
creation, and creating the directory might result in a security
problem.
</para>
<para>
Directory permissions are interpreted as a string of nine
characters, using the character set r (read), w (write), x (execute
or search), and - (none). The first character is the read
permissions for the directory owner (set to either r or -). The
second character is the write permissions for the directory owner
(set to either w or -). The third character is the execute
permissions for the directory owner (set to either x or -).
</para>
<para>
Similarly, the second set of three characters are the read, write
and execute/search permissions for the directory group, and the
third set of three characters are the read, write and execute/search
permissions for all others. For example, the string rwx------ would
configure read, write and execute/search access for the owner only.
The string rwxrwx--- would configure read, write and execute/search
access for both the owner and the group. The string rwxr----- would
configure read, write and execute/search access for the directory
owner and read-only access for the directory group.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TempDir">
<summary>
The path of a directory to be used as the location of temporary
files.
</summary>
<remarks>
<para>
The files created to back in-memory access method databases will be
created relative to this path. These temporary files can be quite
large, depending on the size of the database.
</para>
<para>
If no directories are specified, the following alternatives are
checked in the specified order. The first existing directory path is
used for all temporary files.
</para>
<list type="number">
<item>The value of the environment variable TMPDIR.</item>
<item>The value of the environment variable TEMP.</item>
<item>The value of the environment variable TMP.</item>
<item>The value of the environment variable TempFolder.</item>
<item>The value returned by the GetTempPath interface.</item>
<item>The directory /var/tmp.</item>
<item>The directory /usr/tmp.</item>
<item>The directory /temp.</item>
<item>The directory /tmp.</item>
<item>The directory C:/temp.</item>
<item>The directory C:/tmp.</item>
</list>
<para>
Environment variables are only checked if
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseEnvironmentVars"/> is true.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Verbosity">
<summary>
Specific additional informational and debugging messages in the
Berkeley DB message output.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.AutoCommit">
<summary>
If true, database operations for which no explicit transaction
handle was specified, and which modify databases in the database
environment, will be automatically enclosed within a transaction.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.CDB_ALLDB">
<summary>
If true, Berkeley DB Concurrent Data Store applications will perform
locking on an environment-wide basis rather than on a per-database
basis.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.ForceFlush">
<summary>
If true, Berkeley DB will 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.
</summary>
<remarks>
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 filesysystems (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).
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.InitRegions">
<summary>
If true, 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.
</summary>
<remarks>
<para>
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.)
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.NoBuffer">
<summary>
If true, turn off system buffering of Berkeley DB database files to
avoid double caching.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.NoLocking">
<summary>
If true, 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.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.NoMMap">
<summary>
If true, Berkeley DB will copy read-only database files into the
local cache instead of potentially mapping them into process memory
(see <see cref="P:BerkeleyDB.MPoolConfig.MMapSize"/> for further information).
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.NoPanic">
<summary>
If true, 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
<see cref="T:BerkeleyDB.RunRecoveryException"/>. This functionality should never
be used for purposes other than debugging.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Overwrite">
<summary>
If true, overwrite files stored in encrypted formats before deleting
them.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TimeNotGranted">
<summary>
If true, database calls timing out based on lock or transaction
timeout values will throw <see cref="T:BerkeleyDB.LockNotGrantedException"/>
instead of <see cref="T:BerkeleyDB.DeadlockException"/>. This allows applications
to distinguish between operations which have deadlocked and
operations which have exceeded their time limits.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnNoSync">
<summary>
If true, Berkeley DB will not write or synchronously flush the log
on transaction commit.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnNoWait">
<summary>
If true and a lock is unavailable for any Berkeley DB operation
performed in the context of a transaction, cause the operation to
throw <see cref="T:BerkeleyDB.DeadlockException"/> (or
<see cref="T:BerkeleyDB.LockNotGrantedException"/> if
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TimeNotGranted"/> is set.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnSnapshot">
<summary>
If true, all transactions in the environment will be started as if
<see cref="F:BerkeleyDB.TransactionConfig.Snapshot"/> were passed to
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>, and all
non-transactional cursors will be opened as if
<see cref="F:BerkeleyDB.CursorConfig.SnapshotIsolation"/> were passed to
<see cref="M:BerkeleyDB.BaseDatabase.Cursor"/>.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.TxnWriteNoSync">
<summary>
If true, Berkeley DB will write, but will not synchronously flush,
the log on transaction commit.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseMVCC">
<summary>
If true, all databases in the environment will be opened as if
<see cref="F:BerkeleyDB.DatabaseConfig.UseMVCC"/> is passed to
<see cref="M:BerkeleyDB.Database.Open(System.String,BerkeleyDB.DatabaseConfig)"/>. This flag will be ignored for queue
databases for which MVCC is not supported.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.YieldCPU">
<summary>
If true, 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.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Create">
<summary>
If true, Berkeley DB subsystems will create any underlying files, as
necessary.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.FreeThreaded">
<summary>
If true, the created <see cref="T:BerkeleyDB.DatabaseEnvironment"/> object will
be free-threaded; that is, concurrently usable by multiple threads
in the address space.
</summary>
<remarks>
<para>
Required to be true if the created <see cref="T:BerkeleyDB.DatabaseEnvironment"/>
object will be concurrently used by more than one thread in the
process, or if any <see cref="T:BerkeleyDB.Database"/> objects opened in the
scope of the <see cref="T:BerkeleyDB.DatabaseEnvironment"/> object will be
concurrently used by more than one thread in the process.
</para>
<para>Required to be true when using the Replication Manager.</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Lockdown">
<summary>
If true, lock shared Berkeley DB environment files and memory-mapped
databases into memory.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Private">
<summary>
If true, allocate region memory from the heap instead of from memory
backed by the filesystem or system shared memory.
</summary>
<remarks>
<para>
This setting implies the environment will only be accessed by a
single process (although that process may be multithreaded). This
flag has two effects on the Berkeley DB environment. First, all
underlying data structures are allocated from per-process memory
instead of from shared memory that is accessible to more than a
single process. Second, mutexes are only configured to work between
threads.
</para>
<para>
This setting should be false if more than a single process is
accessing the environment because it is likely to cause database
corruption and unpredictable behavior. For example, if both a server
application and Berkeley DB utilities (for example, db_archive,
db_checkpoint or db_stat) are expected to access the environment,
this setting should be false.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.Register">
<summary>
If true, check to see if recovery needs to be performed before
opening the database environment. (For this check to be accurate,
all processes using the environment must specify it when opening the
environment.)
</summary>
<remarks>
If recovery needs to be performed for any reason (including the
initial use of this setting), and <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.RunRecovery"/>is also
specified, recovery will be performed and the open will proceed
normally. If recovery needs to be performed and
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.RunRecovery"/> is not specified,
<see cref="T:BerkeleyDB.RunRecoveryException"/> will be thrown. If recovery does
not need to be performed, <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.RunRecovery"/> will be ignored.
See Architecting Transactional Data Store applications in the
Programmer's Reference Guide for more information.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.RunFatalRecovery">
<summary>
If true, catastrophic recovery will be run on this environment
before opening it for normal use.
</summary>
<remarks>
If true, the <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.Create"/> and <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseTxns"/> must
also be set, because the regions will be removed and re-created,
and transactions are required for application recovery.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.RunRecovery">
<summary>
If true, normal recovery will be run on this environment before
opening it for normal use.
</summary>
<remarks>
If true, the <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.Create"/> and <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseTxns"/> must
also be set, because the regions will be removed and re-created,
and transactions are required for application recovery.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.SystemMemory">
<summary>
If true, allocate region memory from system shared memory instead of
from heap memory or memory backed by the filesystem.
</summary>
<remarks>
See Shared Memory Regions in the Programmer's Reference Guide for
more information.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseEnvironmentVars">
<summary>
If true, the Berkeley DB process' environment may be permitted to
specify information to be used when naming files.
</summary>
<remarks>
<para>
See Berkeley DB File Naming in the Programmer's Reference Guide for
more information.
</para>
<para>
Because permitting users to specify which files are used can create
security problems, environment information will be used in file
naming for all users only if UseEnvironmentVars is true.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseCDB">
<summary>
If true, initialize locking for the Berkeley DB Concurrent Data
Store product.
</summary>
<remarks>
In this mode, Berkeley DB provides multiple reader/single writer
access. The only other subsystem that should be specified with
UseCDB flag is <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseMPool"/>.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseLocking">
<summary>
If true, initialize the locking subsystem.
</summary>
<remarks>
This subsystem should be used when multiple processes or threads are
going to be reading and writing a Berkeley DB database, so that they
do not interfere with each other. If all threads are accessing the
database(s) read-only, locking is unnecessary. When UseLocking is
specified, it is usually necessary to run a deadlock detector, as
well. See <see cref="M:BerkeleyDB.DatabaseEnvironment.DetectDeadlocks(BerkeleyDB.DeadlockPolicy)"/> for more
information.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseLogging">
<summary>
If true, initialize the logging subsystem.
</summary>
<remarks>
This subsystem should be used when recovery from application or
system failure is necessary. If the log region is being created and
log files are already present, the log files are reviewed;
subsequent log writes are appended to the end of the log, rather
than overwriting current log entries.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseMPool">
<summary>
If true, initialize the shared memory buffer pool subsystem.
</summary>
<remarks>
This subsystem should be used whenever an application is using any
Berkeley DB access method.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseReplication">
<summary>
If true, initialize the replication subsystem.
</summary>
<remarks>
This subsystem should be used whenever an application plans on using
replication. UseReplication requires <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseTxns"/> and
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseLocking"/> also be set.
</remarks>
</member>
<member name="F:BerkeleyDB.DatabaseEnvironmentConfig.UseTxns">
<summary>
If true, initialize the transaction subsystem.
</summary>
<remarks>
This subsystem should be used when recovery and atomicity of
multiple operations are important. UseTxns implies
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.UseLogging"/>.
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.EncryptionPassword">
<summary>
The password used to perform encryption and decryption.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.EncryptAlgorithm">
<summary>
The algorithm used to perform encryption and decryption.
</summary>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.LockTimeout">
<summary>
A value, in microseconds, representing lock timeouts.
</summary>
<remarks>
<para>
All timeouts are checked whenever a thread of control blocks on a
lock or when deadlock detection is performed. As timeouts are only
checked when the lock request first blocks or when deadlock
detection is performed, the accuracy of the timeout depends on how
often deadlock detection is performed.
</para>
<para>
Timeout values specified for the database environment may be
overridden on a per-transaction basis, see
<see cref="M:BerkeleyDB.Transaction.SetLockTimeout(System.UInt32)"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.MaxTransactions">
<summary>
The number of active transactions supported by the environment. This
value bounds the size of the memory allocated for transactions.
Child transactions are counted as active until they either commit or
abort.
</summary>
<remarks>
<para>
Transactions that update multiversion databases are not freed until
the last page version that the transaction created is flushed from
cache. This means that applications using multi-version concurrency
control may need a transaction for each page in cache, in the
extreme case.
</para>
<para>
When all of the memory available in the database environment for
transactions is in use, calls to
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/> will fail (until
some active transactions complete). If MaxTransactions is never set,
the database environment is configured to support at least 100
active transactions.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.ThreadCount">
<summary>
An approximate number of threads in the database environment.
</summary>
<remarks>
<para>
ThreadCount must set if <see cref="M:BerkeleyDB.DatabaseEnvironment.FailCheck"/>
will be used. ThreadCount does not set the maximum number of threads
but is used to determine memory sizing and the thread control block
reclamation policy.
</para>
<para>
If a process has not configured <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.ThreadIsAlive"/>, and
then attempts to join a database environment configured for failure
checking with <see cref="M:BerkeleyDB.DatabaseEnvironment.FailCheck"/>,
<see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.SetThreadID"/>, <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.ThreadIsAlive"/> and
ThreadCount, the program may be unable to allocate a thread control
block and fail to join the environment. This is true of the
standalone Berkeley DB utility programs. To avoid problems when
using the standalone Berkeley DB utility programs with environments
configured for failure checking, incorporate the utility's
functionality directly in the application, or call
<see cref="M:BerkeleyDB.DatabaseEnvironment.FailCheck"/> before running the
utility.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.TxnTimeout">
<summary>
A value, in microseconds, representing transaction timeouts.
</summary>
<remarks>
<para>
All timeouts are checked whenever a thread of control blocks on a
lock or when deadlock detection is performed. As timeouts are only
checked when the lock request first blocks or when deadlock
detection is performed, the accuracy of the timeout depends on how
often deadlock detection is performed.
</para>
<para>
Timeout values specified for the database environment may be
overridden on a per-transaction basis, see
<see cref="M:BerkeleyDB.Transaction.SetTxnTimeout(System.UInt32)"/>.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.DatabaseEnvironmentConfig.TxnTimestamp">
<summary>
Recover to the time specified by timestamp rather than to the most
current possible date.
</summary>
<remarks>
<para>
Once a database environment has been upgraded to a new version of
Berkeley DB involving a log format change (see Upgrading Berkeley DB
installations in the Programmer's Reference Guide), it is no longer
possible to recover to a specific time before that upgrade.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.SecondaryBTreeDatabase">
<summary>
A class representing a SecondaryBTreeDatabase. The Btree format is a
representation of a sorted, balanced tree structure.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig)">
<summary>
Instantiate a new SecondaryBTreeDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig)">
<summary>
Instantiate a new SecondaryBTreeDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryBTreeDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new SecondaryBTreeDatabase object, open the
database represented by <paramref name="Filename"/> and associate
the database with the
<see cref="P:BerkeleyDB.SecondaryDatabaseConfig.Primary">primary index</see>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.Compare">
<summary>
The Btree key comparison function. The comparison function is called
whenever it is necessary to compare a key specified by the
application with a key currently stored in the tree.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.DupCompare">
<summary>
The duplicate data item comparison function.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.Duplicates">
<summary>
Whether the insertion of duplicate data items in the database is
permitted, and whether duplicates items are sorted.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.MinKeysPerPage">
<summary>
The minimum number of key/data pairs intended to be stored on any
single Btree leaf page.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.ReverseSplit">
<summary>
If false, empty pages will not be coalesced into higher-level pages.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.PrefixCompare">
<summary>
The Btree prefix function. The prefix function is used to determine
the amount by which keys stored on the Btree internal pages can be
safely truncated without losing their uniqueness.
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabase.RecordNumbers">
<summary>
If true, this object supports retrieval from the Btree using record
numbers.
</summary>
</member>
<member name="T:BerkeleyDB.CreatePolicy">
<summary>
The policy for how to handle database creation.
</summary>
</member>
<member name="F:BerkeleyDB.CreatePolicy.NEVER">
<summary>
Never create the database.
</summary>
</member>
<member name="F:BerkeleyDB.CreatePolicy.IF_NEEDED">
<summary>
Create the database if it does not already exist.
</summary>
</member>
<member name="F:BerkeleyDB.CreatePolicy.ALWAYS">
<summary>
Do not open the database and return an error if it already exists.
</summary>
</member>
<member name="T:BerkeleyDB.DatabaseFeedbackEvent">
<summary>
Specifies the database operation whose progress is being reported
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseFeedbackEvent.UPGRADE">
<summary>
The underlying database is being upgraded.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseFeedbackEvent.VERIFY">
<summary>
The underlying database is being verified.
</summary>
</member>
<member name="T:BerkeleyDB.DuplicatesPolicy">
<summary>
Policy for duplicate data items in the database; that is, whether insertion
when the key of the key/data pair being inserted already exists in the
database will be successful.
</summary>
</member>
<member name="F:BerkeleyDB.DuplicatesPolicy.NONE">
<summary>
Insertion when the key of the key/data pair being inserted already
exists in the database will fail.
</summary>
</member>
<member name="F:BerkeleyDB.DuplicatesPolicy.SORTED">
<summary>
Duplicates are allowed and mainted in sorted order, as determined by the
duplicate comparison function.
</summary>
</member>
<member name="F:BerkeleyDB.DuplicatesPolicy.UNSORTED">
<summary>
Duplicates are allowed and ordered in the database by the order of
insertion, unless the ordering is otherwise specified by use of a cursor
operation or a duplicate sort function.
</summary>
</member>
<member name="T:BerkeleyDB.EncryptionAlgorithm">
<summary>
Specifies an algorithm used for encryption and decryption
</summary>
</member>
<member name="F:BerkeleyDB.EncryptionAlgorithm.DEFAULT">
<summary>
The default algorithm, or the algorithm previously used in an
existing environment
</summary>
</member>
<member name="F:BerkeleyDB.EncryptionAlgorithm.AES">
<summary>
The Rijndael/AES algorithm
</summary>
<remarks>
Also known as the Advanced Encryption Standard and Federal
Information Processing Standard (FIPS) 197
</remarks>
</member>
<member name="T:BerkeleyDB.EnvironmentFeedbackEvent">
<summary>
Specifies the environment operation whose progress is being reported
</summary>
</member>
<member name="F:BerkeleyDB.EnvironmentFeedbackEvent.RECOVERY">
<summary>
The environment is being recovered.
</summary>
</member>
<member name="T:BerkeleyDB.ForeignKeyDeleteAction">
<summary>
Specifies the action to take when deleting a foreign key
</summary>
</member>
<member name="F:BerkeleyDB.ForeignKeyDeleteAction.ABORT">
<summary>
Abort the deletion.
</summary>
</member>
<member name="F:BerkeleyDB.ForeignKeyDeleteAction.CASCADE">
<summary>
Delete records that refer to the foreign key
</summary>
</member>
<member name="F:BerkeleyDB.ForeignKeyDeleteAction.NULLIFY">
<summary>
Nullify records that refer to the foreign key
</summary>
</member>
<member name="T:BerkeleyDB.Isolation">
<summary>
Specify the degree of isolation for transactional operations
</summary>
</member>
<member name="F:BerkeleyDB.Isolation.DEGREE_ONE">
<summary>
Read operations on the database may request the return of modified
but not yet committed data.
</summary>
</member>
<member name="F:BerkeleyDB.Isolation.DEGREE_TWO">
<summary>
Provide for cursor stability but not repeatable reads. Data items
which have been previously read by a transaction may be deleted or
modified by other transactions before the original transaction
completes.
</summary>
</member>
<member name="F:BerkeleyDB.Isolation.DEGREE_THREE">
<summary>
For the life of the transaction, every time a thread of control
reads a data item, it will be unchanged from its previous value
(assuming, of course, the thread of control does not itself modify
the item). This is Berkeley DB's default degree of isolation.
</summary>
</member>
<member name="T:BerkeleyDB.NotificationEvent">
<summary>
Specify a Berkeley DB event
</summary>
</member>
<member name="F:BerkeleyDB.NotificationEvent.PANIC">
<summary>
The database environment has failed.
</summary>
<remarks>
All threads of control in the database environment should exit the
environment, and recovery should be run.
</remarks>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_CLIENT">
<summary>
The local site is now a replication client.
</summary>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_ELECTED">
<summary>
The local replication site has just won an election.
</summary>
<remarks>
<para>
An application using the Base replication API should arrange for a
call to
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster"/> after
receiving this event, to reconfigure the local environment as a
replication master.
</para>
<para>
Replication Manager applications may safely ignore this event. The
Replication Manager calls
<see cref="M:BerkeleyDB.DatabaseEnvironment.RepStartMaster"/>
automatically on behalf of the application when appropriate
(resulting in firing of the <see cref="F:BerkeleyDB.NotificationEvent.REP_MASTER"/> event).
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_MASTER">
<summary>
The local site is now the master site of its replication group. It
is the application's responsibility to begin acting as the master
environment.
</summary>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_NEWMASTER">
<summary>
The replication group of which this site is a member has just
established a new master; the local site is not the new master. The
event_info parameter to the <see cref="T:BerkeleyDB.EventNotifyDelegate"/>
stores an integer containing the environment ID of the new master.
</summary>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_PERM_FAILED">
<summary>
The replication manager did not receive enough acknowledgements
(based on the acknowledgement policy configured with
<see cref="F:BerkeleyDB.ReplicationConfig.RepMgrAckPolicy"/>) to ensure a
transaction's durability within the replication group. The
transaction will be flushed to the master's local disk storage for
durability.
</summary>
<remarks>
This event is provided only to applications configured for the
replication manager.
</remarks>
</member>
<member name="F:BerkeleyDB.NotificationEvent.REP_STARTUPDONE">
<summary>
The client has completed startup synchronization and is now
processing live log records received from the master.
</summary>
</member>
<member name="F:BerkeleyDB.NotificationEvent.WRITE_FAILED">
<summary>
A Berkeley DB write to stable storage failed.
</summary>
</member>
<member name="T:BerkeleyDB.DeadlockPolicy">
<summary>
A class to represent what lock request(s) should be rejected during
deadlock resolution.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.DEFAULT">
<summary>
If no DeadlockPolicy has yet been specified, use
<see cref="F:BerkeleyDB.DeadlockPolicy.RANDOM"/>.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.EXPIRE">
<summary>
Reject lock requests which have timed out. No other deadlock
detection is performed.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.MAX_LOCKS">
<summary>
Reject the lock request for the locker ID with the most locks.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.MAX_WRITE">
<summary>
Reject the lock request for the locker ID with the most write locks.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.MIN_LOCKS">
<summary>
Reject the lock request for the locker ID with the fewest locks.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.MIN_WRITE">
<summary>
Reject the lock request for the locker ID with the fewest write
locks.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.OLDEST">
<summary>
Reject the lock request for the locker ID with the oldest lock.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.RANDOM">
<summary>
Reject the lock request for a random locker ID.
</summary>
</member>
<member name="F:BerkeleyDB.DeadlockPolicy.YOUNGEST">
<summary>
Reject the lock request for the locker ID with the youngest lock.
</summary>
</member>
<member name="T:BerkeleyDB.CacheInfo">
<summary>
A class to represent information about the Berkeley DB cache
</summary>
</member>
<member name="F:BerkeleyDB.CacheInfo.Gigabytes">
<summary>
The number of gigabytes in the cache
</summary>
</member>
<member name="F:BerkeleyDB.CacheInfo.Bytes">
<summary>
The number of bytes in the cache
</summary>
</member>
<member name="F:BerkeleyDB.CacheInfo.NCaches">
<summary>
The number of caches
</summary>
</member>
<member name="M:BerkeleyDB.CacheInfo.#ctor(System.UInt32,System.UInt32,System.Int32)">
<summary>
Create a new CacheInfo object. The size of the cache is set to
gbytes gigabytes plus bytes and spread over numCaches separate
caches.
</summary>
<param name="gbytes">The number of gigabytes in the cache</param>
<param name="bytes">The number of bytes in the cache</param>
<param name="numCaches">The number of caches</param>
</member>
<member name="T:BerkeleyDB.Sequence">
<summary>
A class that provides an arbitrary number of persistent objects that
return an increasing or decreasing sequence of integers.
</summary>
</member>
<member name="M:BerkeleyDB.Sequence.#ctor(BerkeleyDB.SequenceConfig)">
<summary>
Instantiate a new Sequence object.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="cfg">Configuration parameters for the Sequence</param>
</member>
<member name="M:BerkeleyDB.Sequence.#ctor(BerkeleyDB.SequenceConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new Sequence object.
</summary>
<remarks>
If <paramref name="txn"/> is null and the operation occurs in a
transactional database, the operation will be implicitly transaction
protected.
</remarks>
<param name="cfg">Configuration parameters for the Sequence</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.Sequence.Close">
<summary>
Close the sequence handle. Any unused cached values are lost.
</summary>
</member>
<member name="M:BerkeleyDB.Sequence.Get(System.Int32)">
<summary>
Return the next available element in the sequence and change the
sequence value by <paramref name="Delta"/>.
</summary>
<overloads>
<para>
If there are enough cached values in the sequence handle then they
will be returned. Otherwise the next value will be fetched from the
database and incremented (decremented) by enough to cover the delta
and the next batch of cached values.
</para>
<para>
For maximum concurrency a non-zero cache size should be specified
prior to opening the sequence handle and <paramref name="NoSync"/>
should be specified for each Get method call.
</para>
<para>
By default, sequence ranges do not wrap; to cause the sequence to
wrap around the beginning or end of its range, set
<paramref name="SequenceConfig.Wrap"/> to true.
</para>
<para>
If <paramref name="P:BackingDatabase"/> was opened in a transaction,
calling Get may result in changes to the sequence object; these
changes will be automatically committed in a transaction internal to
the Berkeley DB library. If the thread of control calling Get has an
active transaction, which holds locks on the same database as the
one in which the sequence object is stored, it is possible for a
thread of control calling Get to self-deadlock because the active
transaction's locks conflict with the internal transaction's locks.
For this reason, it is often preferable for sequence objects to be
stored in their own database.
</para>
</overloads>
<param name="Delta">
The amount by which to increment the sequence value. Must be
greater than 0.
</param>
<returns>The next available element in the sequence.</returns>
</member>
<member name="M:BerkeleyDB.Sequence.Get(System.Int32,System.Boolean)">
<summary>
Return the next available element in the sequence and change the
sequence value by <paramref name="Delta"/>.
</summary>
<param name="Delta">
The amount by which to increment the sequence value. Must be
greater than 0.
</param>
<param name="NoSync">
If true, and if the operation is implicitly transaction protected,
do not synchronously flush the log when the transaction commits.
</param>
<returns>The next available element in the sequence.</returns>
</member>
<member name="M:BerkeleyDB.Sequence.Get(System.Int32,BerkeleyDB.Transaction)">
<summary>
Return the next available element in the sequence and change the
sequence value by <paramref name="Delta"/>.
</summary>
<param name="Delta">
The amount by which to increment the sequence value. Must be
greater than 0.
</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
Must be null if the sequence was opened with a non-zero cache size.
</param>
<returns>The next available element in the sequence.</returns>
</member>
<member name="M:BerkeleyDB.Sequence.PrintStats">
<summary>
Print diagnostic information.
</summary>
</member>
<member name="M:BerkeleyDB.Sequence.PrintStats(System.Boolean)">
<summary>
Print diagnostic information.
</summary>
<overloads>
The diagnostic information is described by
<see cref="T:BerkeleyDB.SequenceStats"/>.
</overloads>
<param name="ClearStats">
If true, reset statistics after printing.
</param>
</member>
<member name="M:BerkeleyDB.Sequence.Remove">
<summary>
Remove the sequence from the database.
</summary>
</member>
<member name="M:BerkeleyDB.Sequence.Remove(System.Boolean)">
<summary>
Remove the sequence from the database.
</summary>
<param name="NoSync">
If true, and if the operation is implicitly transaction protected,
do not synchronously flush the log when the transaction commits.
</param>
</member>
<member name="M:BerkeleyDB.Sequence.Remove(BerkeleyDB.Transaction)">
<summary>
Remove the sequence from the database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
</member>
<member name="M:BerkeleyDB.Sequence.Stats">
<summary>
Return statistical information for this sequence.
</summary>
<returns>Statistical information for this sequence.</returns>
</member>
<member name="M:BerkeleyDB.Sequence.Stats(System.Boolean)">
<summary>
Return statistical information for this sequence.
</summary>
<overloads>
<para>
In the presence of multiple threads or processes accessing an active
sequence, the information returned by DB_SEQUENCE->stat() may be
out-of-date.
</para>
<para>
The DB_SEQUENCE->stat() method cannot be transaction-protected. For
this reason, it should be called in a thread of control that has no
open cursors or active transactions.
</para>
</overloads>
<param name="clear">If true, reset statistics.</param>
<returns>Statistical information for this sequence.</returns>
</member>
<member name="M:BerkeleyDB.Sequence.Dispose">
<summary>
Release the resources held by this object, and close the sequence if
it's still open.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.BackingDatabase">
<summary>
The database used by the sequence.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Key">
<summary>
The key for the sequence.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Cachesize">
<summary>
The current cache size.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Min">
<summary>
The minimum value in the sequence.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Max">
<summary>
The maximum value in the sequence.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Wrap">
<summary>
If true, the sequence should wrap around when it is incremented
(decremented) past the specified maximum (minimum) value.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Increment">
<summary>
If true, the sequence will be incremented. This is the default.
</summary>
</member>
<member name="P:BerkeleyDB.Sequence.Decrement">
<summary>
If true, the sequence will be decremented.
</summary>
</member>
<member name="T:BerkeleyDB.KeyRange">
<summary>
<para>
A class representing an estimate of the proportion of keys that are less
than, equal to, and greater than a given key.
</para>
<para>
Values are in the range of 0 to 1; for example, if the field less is
0.05, 5% of the keys in the database are less than the key parameter.
The value for equal will be zero if there is no matching key, and will
be non-zero otherwise.
</para>
</summary>
</member>
<member name="P:BerkeleyDB.KeyRange.Less">
<summary>
A value between 0 and 1, the proportion of keys less than the
specified key.
</summary>
</member>
<member name="P:BerkeleyDB.KeyRange.Equal">
<summary>
A value between 0 and 1, the proportion of keys equal to the
specified key.
</summary>
</member>
<member name="P:BerkeleyDB.KeyRange.Greater">
<summary>
A value between 0 and 1, the proportion of keys greater than the
specified key.
</summary>
</member>
<member name="T:BerkeleyDB.MutexStats">
<summary>
Statistical information about the mutex subsystem
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.Alignment">
<summary>
Mutex alignment
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.Available">
<summary>
Available mutexes
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.Count">
<summary>
Mutex count
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.InUse">
<summary>
Mutexes in use
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.MaxInUse">
<summary>
Maximum mutexes ever in use
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.RegionNoWait">
<summary>
Region lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.RegionSize">
<summary>
Region size.
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.RegionWait">
<summary>
Region lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.MutexStats.TASSpins">
<summary>
Mutex test-and-set spins
</summary>
</member>
<member name="T:BerkeleyDB.MPoolConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>'s memory pool subsystem.
</summary>
</member>
<member name="F:BerkeleyDB.MPoolConfig.CacheSize">
<summary>
The size of the shared memory buffer pool — that is, the cache.
</summary>
<remarks>
<para>
The cache should be the size of the normal working data set of the
application, with some small amount of additional memory for unusual
situations. (Note: the working set is not the same as the number of
pages accessed simultaneously, and is usually much larger.)
</para>
<para>
The default cache size is 256KB, and may not be specified as less
than 20KB. Any cache size less than 500MB is automatically increased
by 25% to account for buffer pool overhead; cache sizes larger than
500MB are used as specified. The maximum size of a single cache is
4GB on 32-bit systems and 10TB on 64-bit systems. (All sizes are in
powers-of-two, that is, 256KB is 2^18 not 256,000.) For information
on tuning the Berkeley DB cache size, see Selecting a cache size in
the Programmer's Reference Guide.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.MPoolConfig.MaxCacheSize">
<summary>
The maximum cache size.
</summary>
<remarks>
<para>
The specified size is rounded to the nearest multiple of the cache
region size, which is the initial cache size divided by
<see cref="F:BerkeleyDB.CacheInfo.NCaches">CacheSize.NCaches</see>. If no value
is specified, it defaults to the initial cache size.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.MPoolConfig.SetMaxSequentialWrites(System.Int32,System.UInt32)">
<summary>
Limit the number of sequential write operations scheduled by the
library when flushing dirty pages from the cache.
</summary>
<param name="maxWrites">
The maximum number of sequential write operations scheduled by the
library when flushing dirty pages from the cache, or 0 if there is
no limitation on the number of sequential write operations.
</param>
<param name="pause">
The number of microseconds the thread of control should pause before
scheduling further write operations. It must be specified as an
unsigned 32-bit number of microseconds, limiting the maximum pause
to roughly 71 minutes.
</param>
</member>
<member name="P:BerkeleyDB.MPoolConfig.MaxOpenFiles">
<summary>
The number of file descriptors the library will open concurrently
when flushing dirty pages from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolConfig.SequentialWritePause">
<summary>
The number of microseconds the thread of control should pause before
scheduling further write operations.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolConfig.MaxSequentialWrites">
<summary>
The number of sequential write operations scheduled by the library
when flushing dirty pages from the cache.
</summary>
</member>
<member name="P:BerkeleyDB.MPoolConfig.MMapSize">
<summary>
The maximum file size, in bytes, for a file to be mapped into the
process address space. If no value is specified, it defaults to
10MB.
</summary>
<remarks>
Files that are opened read-only in the cache (and that satisfy a few
other criteria) are, by default, mapped into the process address
space instead of being copied into the local cache. This can result
in better-than-usual performance because available virtual memory is
normally much larger than the local cache, and page faults are
faster than page copying on many systems. However, it can cause
resource starvation in the presence of limited virtual memory, and
it can result in immense process sizes in the presence of large
databases.
</remarks>
</member>
<member name="T:BerkeleyDB.LogConfig">
<summary>
A class representing configuration parameters for a
<see cref="T:BerkeleyDB.DatabaseEnvironment"/>'s logging subsystem.
</summary>
</member>
<member name="F:BerkeleyDB.LogConfig.AutoRemove">
<summary>
If true, Berkeley DB will automatically remove log files that are no
longer needed.
</summary>
<remarks>
<para>
Automatic log file removal is likely to make catastrophic recovery
impossible.
</para>
<para>
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.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.LogConfig.ForceSync">
<summary>
If true, Berkeley DB will 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.
</summary>
<remarks>
<para>
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.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.LogConfig.InMemory">
<summary>
If true, maintain transaction logs in memory rather than on disk.
</summary>
<remarks>
<para>
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.
</para>
<para>
When in-memory logs are configured and no more log buffer space is
available, Berkeley DB methods may throw
<see cref="T:BerkeleyDB.FullLogBufferException"/>. 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.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.LogConfig.NoBuffer">
<summary>
If true, turn off system buffering of Berkeley DB log files to avoid
double caching.
</summary>
</member>
<member name="F:BerkeleyDB.LogConfig.ZeroOnCreate">
<summary>
If true, zero all pages of a log file when that log file is created.
</summary>
<remarks>
<para>
This has shown to provide greater transaction throughput in some
environments. The log file will be zeroed by the thread which needs
to re-create the new log file. Other threads may not write to the
log file while this is happening.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.LogConfig.Dir">
<summary>
The path of a directory to be used as the location of logging files.
Log files created by the Log Manager subsystem will be created in
this directory.
</summary>
<remarks>
<para>
If no logging directory is specified, log files are created in the
environment home directory. See Berkeley DB File Naming in the
Programmer's Reference Guide for more information.
</para>
<para>
For the greatest degree of recoverability from system or application
failure, database files and log files should be located on separate
physical devices.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
Dir must be consistent with the existing environment or corruption
can occur.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LogConfig.BufferSize">
<summary>
The size of the in-memory log buffer, in bytes.
</summary>
<remarks>
<para>
When the logging subsystem is configured for on-disk logging, the
default size of the in-memory log buffer is approximately 32KB. Log
information is stored in-memory until the storage space fills up or
transaction commit forces the information to be flushed to stable
storage. In the presence of long-running transactions or
transactions producing large amounts of data, larger buffer sizes
can increase throughput.
</para>
<para>
When the logging subsystem is configured for in-memory logging, the
default size of the in-memory log buffer is 1MB. Log information is
stored in-memory until the storage space fills up or transaction
abort or commit frees up the memory for new transactions. In the
presence of long-running transactions or transactions producing
large amounts of data, the buffer size must be sufficient to hold
all log information that can accumulate during the longest running
transaction. 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.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
BufferSize will be ignored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LogConfig.FileMode">
<summary>
The absolute file mode for created log files.
</summary>
<remarks>
<para>
This method is only useful for the rare Berkeley DB application that
does not control its umask value.
</para>
<para>
Normally, if Berkeley DB applications set their umask appropriately,
all processes in the application suite will have read permission on
the log files created by any process in the application suite.
However, if the Berkeley DB application is a library, a process
using the library might set its umask to a value preventing other
processes in the application suite from reading the log files it
creates. In this rare case, the DB_ENV->set_lg_filemode() method can
be used to set the mode of created log files to an absolute value.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.LogConfig.MaxFileSize">
<summary>
The maximum size of a single file in the log, in bytes. Because
<see cref="F:BerkeleyDB.LSN.Offset"/> is an unsigned four-byte value, MaxFileSize
may not be larger than the maximum unsigned four-byte value.
</summary>
<remarks>
<para>
When the logging subsystem is configured for on-disk logging, the
default size of a log file is 10MB.
</para>
<para>
When the logging subsystem is configured for in-memory logging, the
default size of a log file is 256KB. In addition, the
<see cref="P:BerkeleyDB.LogConfig.BufferSize">configured log buffer size</see> must be
larger than the log file size. (The logging subsystem divides memory
configured for in-memory log records into "files", as database
environments configured for in-memory log records may exchange log
records with other members of a replication group, and those members
may be configured to store log records on-disk.) 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.
</para>
<para>
See Log File Limits in the Programmer's Reference Guide for more
information.
</para>
<para>
If no size is specified by the application, the size last specified
for the database region will be used, or if no database region
previously existed, the default will be used.
</para></remarks>
</member>
<member name="P:BerkeleyDB.LogConfig.RegionSize">
<summary>
Te size of the underlying logging area of the Berkeley DB
environment, in bytes.
</summary>
<remarks>
<para>
By default, or if the value is set to 0, the default size is
approximately 60KB. The log region is used to store filenames, and
so may need to be increased in size if a large number of files will
be opened and registered with the specified Berkeley DB
environment's log manager.
</para>
<para>
If the database environment already exists when
<see cref="M:BerkeleyDB.DatabaseEnvironment.Open(System.String,BerkeleyDB.DatabaseEnvironmentConfig)"/> is called, the value of
RegionSize will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.DatabaseException">
<summary>
Represents errors that occur during Berkley DB operations.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseException.ErrorCode">
<summary>
The underlying error code from the Berkeley DB C library.
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseException.ThrowException(System.Int32)">
<summary>
Throw an exception which corresponds to the specified Berkeley DB
error code.
</summary>
<param name="err">The Berkeley DB error code</param>
</member>
<member name="M:BerkeleyDB.DatabaseException.#ctor(System.Int32)">
<summary>
Create a new DatabaseException, encapsulating a specific error code.
</summary>
<param name="err">The error code to encapsulate.</param>
</member>
<member name="T:BerkeleyDB.BadSecondaryException">
<summary>
A secondary index has been corrupted. This is likely the result of an
application operating on related databases without first associating
them.
</summary>
</member>
<member name="M:BerkeleyDB.BadSecondaryException.#ctor">
<summary>
Initialize a new instance of the BadSecondaryException
</summary>
</member>
<member name="T:BerkeleyDB.ForeignConflictException">
<summary>
</summary>
</member>
<member name="M:BerkeleyDB.ForeignConflictException.#ctor">
<summary>
Initialize a new instance of the ForeignConflictException
</summary>
</member>
<member name="T:BerkeleyDB.FullLogBufferException">
<summary>
In-memory logs are configured and no more log buffer space is available.
</summary>
</member>
<member name="M:BerkeleyDB.FullLogBufferException.#ctor">
<summary>
Initialize a new instance of the FullLogBufferException
</summary>
</member>
<member name="T:BerkeleyDB.KeyEmptyException">
<summary>
The requested key/data pair logically exists but was never explicitly
created by the application, or that the requested key/data pair was
deleted and never re-created. In addition, the Queue access method will
throw a KeyEmptyException for records that were created as part of a
transaction that was later aborted and never re-created.
</summary>
<remarks>
The Recno and Queue access methods will automatically create key/data
pairs under some circumstances.
</remarks>
</member>
<member name="M:BerkeleyDB.KeyEmptyException.#ctor">
<summary>
Initialize a new instance of the KeyEmptyException
</summary>
</member>
<member name="T:BerkeleyDB.KeyExistException">
<summary>
A key/data pair was inserted into the database using
<see cref="M:BerkeleyDB.Database.PutNoOverwrite(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)"/> and the key already
exists in the database, or using
<see cref="M:BerkeleyDB.BTreeDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)"/> or
<see cref="M:BerkeleyDB.HashDatabase.PutNoDuplicate(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry)"/> and the key/data
pair already exists in the database.
</summary>
</member>
<member name="M:BerkeleyDB.KeyExistException.#ctor">
<summary>
Initialize a new instance of the KeyExistException
</summary>
</member>
<member name="T:BerkeleyDB.DeadlockException">
<summary>
When multiple threads of control are modifying the database, there is
normally the potential for deadlock. In Berkeley DB, deadlock is
signified by a DeadlockException thrown from the Berkeley DB function.
Whenever a Berkeley DB function throws a DeadlockException, the
enclosing transaction should be aborted.
</summary>
</member>
<member name="M:BerkeleyDB.DeadlockException.#ctor">
<summary>
Initialize a new instance of the DeadlockException
</summary>
</member>
<member name="T:BerkeleyDB.LeaseExpiredException">
<summary>
The site's replication master lease has expired.
</summary>
</member>
<member name="M:BerkeleyDB.LeaseExpiredException.#ctor">
<summary>
Initialize a new instance of the LeaseExpiredException
</summary>
</member>
<member name="T:BerkeleyDB.LockNotGrantedException">
<summary>
If <see cref="F:BerkeleyDB.DatabaseEnvironmentConfig.TimeNotGranted"/> is true,
database calls timing out based on lock or transaction timeout values
will throw a LockNotGrantedException, instead of a DeadlockException.
</summary>
</member>
<member name="M:BerkeleyDB.LockNotGrantedException.#ctor">
<summary>
Initialize a new instance of the LockNotGrantedException
</summary>
</member>
<member name="M:BerkeleyDB.MemoryException.#ctor">
<summary>
Initialize a new instance of the MemoryException
</summary>
</member>
<member name="T:BerkeleyDB.NotFoundException">
<summary>
The requested key/data pair did not exist in the database or that
start-of- or end-of-file has been reached by a cursor.
</summary>
</member>
<member name="M:BerkeleyDB.NotFoundException.#ctor">
<summary>
Initialize a new instance of the NotFoundException
</summary>
</member>
<member name="T:BerkeleyDB.OldVersionException">
<summary>
This version of Berkeley DB is unable to upgrade a given database.
</summary>
</member>
<member name="M:BerkeleyDB.OldVersionException.#ctor">
<summary>
Initialize a new instance of the OldVersionException
</summary>
</member>
<member name="T:BerkeleyDB.PageNotFoundException">
<summary>
</summary>
</member>
<member name="M:BerkeleyDB.PageNotFoundException.#ctor">
<summary>
</summary>
</member>
<member name="T:BerkeleyDB.RunRecoveryException">
<summary>
Berkeley DB has encountered an error it considers fatal to an entire
environment. Once a RunRecoveryException has been thrown by any
interface, it will be returned from all subsequent Berkeley DB calls
made by any threads of control participating in the environment.
</summary>
<remarks>
An example of this type of fatal error is a corrupted database page. The
only way to recover from this type of error is to have all threads of
control exit the Berkeley DB environment, run recovery of the
environment, and re-enter Berkeley DB. (It is not strictly necessary
that the processes exit, although that is the only way to recover system
resources, such as file descriptors and memory, allocated by
Berkeley DB.)
</remarks>
</member>
<member name="M:BerkeleyDB.RunRecoveryException.#ctor">
<summary>
Initialize a new instance of the RunRecoveryException
</summary>
</member>
<member name="T:BerkeleyDB.VerificationException">
<summary>
Thrown by <see cref="M:BerkeleyDB.Database.Verify(System.String,BerkeleyDB.DatabaseConfig)"/> if a database is
corrupted, and by <see cref="M:BerkeleyDB.Database.Salvage(System.String,BerkeleyDB.DatabaseConfig)"/> if all
key/data pairs in the file may not have been successfully output.
</summary>
</member>
<member name="M:BerkeleyDB.VerificationException.#ctor">
<summary>
Initialize a new instance of the VerificationException
</summary>
</member>
<member name="T:BerkeleyDB.VersionMismatchException">
<summary>
The version of the Berkeley DB library doesn't match the version that
created the database environment.
</summary>
</member>
<member name="M:BerkeleyDB.VersionMismatchException.#ctor">
<summary>
Initialize a new instance of the VersionMismatchException
</summary>
</member>
<member name="T:BerkeleyDB.DbThreadID">
<summary>
A class representing a unique identifier for a thread of control in a
Berkeley DB application.
</summary>
</member>
<member name="F:BerkeleyDB.DbThreadID.processID">
<summary>
The Process ID of the thread of control
</summary>
</member>
<member name="F:BerkeleyDB.DbThreadID.threadID">
<summary>
The Thread ID of the thread of control
</summary>
</member>
<member name="M:BerkeleyDB.DbThreadID.#ctor(System.Int32,System.UInt32)">
<summary>
Instantiate a new DbThreadID object
</summary>
<param name="pid">The Process ID of the thread of control</param>
<param name="tid">The Thread ID of the thread of control</param>
</member>
<member name="T:BerkeleyDB.MultipleKeyDatabaseEntry">
<summary>
A class providing access to multiple key/data pairs.
</summary>
</member>
<member name="M:BerkeleyDB.MultipleKeyDatabaseEntry.GetEnumerator">
<summary>
Return an enumerator which iterates over all
<see cref="T:BerkeleyDB.DatabaseEntry"/> pairs represented by the
<see cref="T:BerkeleyDB.MultipleKeyDatabaseEntry"/>.
</summary>
<returns>
An enumerator for the <see cref="T:BerkeleyDB.MultipleDatabaseEntry"/>
</returns>
</member>
<member name="T:BerkeleyDB.SecondaryBTreeDatabaseConfig">
<summary>
A class representing configuration parameters for
<see cref="T:BerkeleyDB.SecondaryBTreeDatabase"/>
</summary>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Duplicates">
<summary>
Policy for duplicate data items in the database; that is, insertion
when the key of the key/data pair being inserted already exists in
the database will be successful.
</summary>
<remarks>
<para>The ordering of duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> is determined by the order
of insertion, unless the ordering is otherwise specified by use of a
cursor operation or a duplicate sort function. The ordering of
duplicates in the database for
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is determined by the
duplicate comparison function. If the application does not specify a
comparison function using
<see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.DuplicateCompare"/>, a default lexical
comparison will be used.
</para>
<para>
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/> is preferred to
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> for performance reasons.
<see cref="F:BerkeleyDB.DuplicatesPolicy.UNSORTED"/> should only be used by
applications wanting to order duplicate data items manually.
</para>
<para>
If the database already exists, the value of Duplicates must be the
same as the existing database or an error will be returned.
</para>
<para>
It is an error to specify <see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.UseRecordNumbers"/> and
anything other than <see cref="F:BerkeleyDB.DuplicatesPolicy.NONE"/>.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.NoReverseSplitting">
<summary>
Turn reverse splitting in the Btree on or off.
</summary>
<remarks>
As pages are emptied in a database, the Berkeley DB Btree
implementation attempts to coalesce empty pages into higher-level
pages in order to keep the database as small as possible and
minimize search time. This can hurt performance in applications with
cyclical data demands; that is, applications where the database
grows and shrinks repeatedly. For example, because Berkeley DB does
page-level locking, the maximum level of concurrency in a database
of two pages is far smaller than that in a database of 100 pages, so
a database that has shrunk to a minimal size can cause severe
deadlocking when a new cycle of data insertion begins.
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.UseRecordNumbers">
<summary>
If true, support retrieval from the Btree using record numbers.
</summary>
<remarks>
<para>
Logical record numbers in Btree databases are mutable in the face of
record insertion or deletion. See
<see cref="F:BerkeleyDB.RecnoDatabaseConfig.Renumber"/> for further discussion.
</para>
<para>
Maintaining record counts within a Btree introduces a serious point
of contention, namely the page locations where the record counts are
stored. In addition, the entire database must be locked during both
insertions and deletions, effectively single-threading the database
for those operations. Specifying UseRecordNumbers can result in
serious performance degradation for some applications and data sets.
</para>
<para>
It is an error to specify <see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.UseRecordNumbers"/> and
anything other than <see cref="F:BerkeleyDB.DuplicatesPolicy.NONE"/>.
</para>
<para>
If the database already exists, the value of UseRecordNumbers must
be the same as the existing database or an error will be returned.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Creation">
<summary>
The policy for how to handle database creation.
</summary>
<remarks>
If the database does not already exist and
<see cref="F:BerkeleyDB.CreatePolicy.NEVER"/> is set,
<see cref="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig)"/> will fail.
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Compare">
<summary>
The Btree key comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a key specified by the application with a key currently
stored in the tree.
</para>
<para>
If no comparison function is specified, the keys are compared
lexically, with shorter keys collating before longer keys.
</para>
<para>
If the database already exists, the comparison function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.PrefixCompare">
<summary>
The Btree prefix function.
</summary>
<remarks>
<para>
The prefix function is used to determine the amount by which keys
stored on the Btree internal pages can be safely truncated without
losing their uniqueness. See the Btree prefix comparison section of
the Berkeley DB Reference Guide for more details about how this
works. The usefulness of this is data-dependent, but can produce
significantly reduced tree sizes and search times in some data sets.
</para>
<para>
If no prefix function or key comparison function is specified by the
application, a default lexical comparison function is used as the
prefix function. If no prefix function is specified and
<see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Compare"/> is specified, no prefix function is
used. It is an error to specify a prefix function without also
specifying <see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Compare"/>.
</para>
<para>
If the database already exists, the prefix function must be the
same as that historically used to create the database or corruption
can occur.
</para>
</remarks>
</member>
<member name="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.DuplicateCompare">
<summary>
The duplicate data item comparison function.
</summary>
<remarks>
<para>
The comparison function is called whenever it is necessary to
compare a data item specified by the application with a data item
currently stored in the database. Setting DuplicateCompare implies
setting <see cref="F:BerkeleyDB.SecondaryBTreeDatabaseConfig.Duplicates"/> to
<see cref="F:BerkeleyDB.DuplicatesPolicy.SORTED"/>.
</para>
<para>
If no comparison function is specified, the data items are compared
lexically, with shorter data items collating before longer data
items.
</para>
<para>
If the database already exists when
<see cref="M:BerkeleyDB.SecondaryBTreeDatabase.Open(System.String,BerkeleyDB.SecondaryBTreeDatabaseConfig)"/> is called, the delegate
must be the same as that historically used to create the database or
corruption can occur.
</para>
</remarks>
</member>
<member name="M:BerkeleyDB.SecondaryBTreeDatabaseConfig.#ctor(BerkeleyDB.Database,BerkeleyDB.SecondaryKeyGenDelegate)">
<summary>
Create a new SecondaryBTreeDatabaseConfig object
</summary>
</member>
<member name="P:BerkeleyDB.SecondaryBTreeDatabaseConfig.MinKeysPerPage">
<summary>
The minimum number of key/data pairs intended to be stored on any
single Btree leaf page.
</summary>
<remarks>
<para>
This value is used to determine if key or data items will be stored
on overflow pages instead of Btree leaf pages. For more information
on the specific algorithm used, see the Berkeley DB Reference Guide.
The value specified must be at least 2; if not explicitly set, a
value of 2 is used.
</para>
<para>
If the database already exists, MinKeysPerPage will be ignored.
</para>
</remarks>
</member>
<member name="T:BerkeleyDB.LogStats">
<summary>
Statistical information about the logging subsystem
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.BufferSize">
<summary>
Log buffer size.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Bytes">
<summary>
Bytes to log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.BytesSinceCheckpoint">
<summary>
Bytes to log since checkpoint.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.CurrentFile">
<summary>
Current log file number.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.CurrentOffset">
<summary>
Current log file offset.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.DiskFileNumber">
<summary>
Known on disk log file number.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.DiskOffset">
<summary>
Known on disk log file offset.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.FileSize">
<summary>
Log file size.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.MBytes">
<summary>
Megabytes to log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.MBytesSinceCheckpoint">
<summary>
Megabytes to log since checkpoint.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.MagicNumber">
<summary>
Log file magic number.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.MaxCommitsPerFlush">
<summary>
Max number of commits in a flush.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.MinCommitsPerFlush">
<summary>
Min number of commits in a flush.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.OverflowWrites">
<summary>
Overflow writes to the log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.PermissionsMode">
<summary>
Log file permissions mode.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Reads">
<summary>
Total I/O reads from the log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Records">
<summary>
Records entered into the log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.RegionLockNoWait">
<summary>
Region lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.RegionLockWait">
<summary>
Region lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.RegionSize">
<summary>
Region size.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Syncs">
<summary>
Total syncs to the log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Writes">
<summary>
Total I/O writes to the log.
</summary>
</member>
<member name="P:BerkeleyDB.LogStats.Version">
<summary>
Log file version number.
</summary>
</member>
<member name="T:BerkeleyDB.JoinCursor">
<summary>
A class representing a join cursor, for use in performing equality or
natural joins on secondary indices. For information on how to organize
your data to use this functionality, see Equality join in the
Programmer's Reference Guide.
</summary>
<remarks>
JoinCursor does not support many of the operations offered by
<see cref="T:BerkeleyDB.Cursor"/> and is not a subclass of <see cref="T:BerkeleyDB.Cursor"/>.
</remarks>
<seealso cref="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)"/>
</member>
<member name="M:BerkeleyDB.JoinCursor.Close">
<summary>
<para>
Discard the cursor.
</para>
<para>
It is possible for the Close() method to throw a
<see cref="T:BerkeleyDB.DeadlockException"/>, signaling that any enclosing
transaction should be aborted. If the application is already
intending to abort the transaction, this error should be ignored,
and the application should proceed.
</para>
<para>
After Close has been called, regardless of its result, the object
may not be used again.
</para>
</summary>
<exception cref="T:BerkeleyDB.DeadlockException"></exception>
</member>
<member name="M:BerkeleyDB.JoinCursor.Dispose">
<summary>
Release the resources held by this object, and close the cursor if
it's still open.
</summary>
</member>
<member name="M:BerkeleyDB.JoinCursor.GetEnumerator">
<summary>
Returns an enumerator that iterates through the
<see cref="T:BerkeleyDB.JoinCursor"/>.
</summary>
<remarks>
The enumerator will begin at the cursor's current position (or the
first record if the cursor has not yet been positioned) and iterate
forwards (i.e. in the direction of <see cref="M:BerkeleyDB.JoinCursor.MoveNext"/>) over the
remaining records.
</remarks>
<returns>An enumerator for the Cursor.</returns>
</member>
<member name="M:BerkeleyDB.JoinCursor.MoveNext">
<summary>
Iterate over the values associated with the keys to which each
<see cref="T:BerkeleyDB.SecondaryCursor"/> passed to <see cref="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)"/>
was initialized. Any data value that appears in all
<see cref="T:BerkeleyDB.SecondaryCursor"/>s is then used as a key into the
primary, and the key/data pair found in the primary is stored in
<see cref="P:BerkeleyDB.JoinCursor.Current"/>.
</summary>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.JoinCursor.MoveNext(BerkeleyDB.LockingInfo)">
<summary>
Iterate over the values associated with the keys to which each
<see cref="T:BerkeleyDB.SecondaryCursor"/> passed to <see cref="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)"/>
was initialized. Any data value that appears in all
<see cref="T:BerkeleyDB.SecondaryCursor"/>s is then used as a key into the
primary, and the key/data pair found in the primary is stored in
<see cref="P:BerkeleyDB.JoinCursor.Current"/>.
</summary>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.JoinCursor.MoveNextItem">
<summary>
Iterate over the values associated with the keys to which each
<see cref="T:BerkeleyDB.SecondaryCursor"/> passed to <see cref="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)"/>
was initialized. Any data value that appears in all
<see cref="T:BerkeleyDB.SecondaryCursor"/>s is then stored in
<see cref="P:BerkeleyDB.JoinCursor.Current">Current.Key</see>.
</summary>
<remarks>
<see cref="P:BerkeleyDB.JoinCursor.Current">Current.Value</see> will contain an empty
<see cref="T:BerkeleyDB.DatabaseEntry"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.JoinCursor.MoveNextItem(BerkeleyDB.LockingInfo)">
<summary>
Iterate over the values associated with the keys to which each
<see cref="T:BerkeleyDB.SecondaryCursor"/> passed to <see cref="M:BerkeleyDB.Database.Join(BerkeleyDB.SecondaryCursor[],System.Boolean)"/>
was initialized. Any data value that appears in all
<see cref="T:BerkeleyDB.SecondaryCursor"/>s is then stored in
<see cref="P:BerkeleyDB.JoinCursor.Current">Current.Key</see>.
</summary>
<remarks>
<see cref="P:BerkeleyDB.JoinCursor.Current">Current.Value</see> will contain an empty
<see cref="T:BerkeleyDB.DatabaseEntry"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="P:BerkeleyDB.JoinCursor.Current">
<summary>
The key/data pair at which the cursor currently points.
</summary>
</member>
<member name="T:BerkeleyDB.DatabaseType">
<summary>
A class representing the supported Berkeley DB access methods.
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseType.BTREE">
<summary>
BTree access method
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseType.HASH">
<summary>
Hash access method
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseType.RECNO">
<summary>
Recno access method
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseType.QUEUE">
<summary>
Queue access method
</summary>
</member>
<member name="F:BerkeleyDB.DatabaseType.UNKNOWN">
<summary>
Unknown access method
</summary>
</member>
<member name="M:BerkeleyDB.DatabaseType.ToString">
<summary>
Convert this instance of DatabaseType to its string representation.
</summary>
<returns>A string representation of this instance.</returns>
</member>
<member name="T:BerkeleyDB.LockStats">
<summary>
Statistical information about the locking subsystem
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LastAllocatedLockerID">
<summary>
Last allocated locker ID.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockConflictsWait">
<summary>
Lock conflicts w/ subsequent wait
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockConflictsNoWait">
<summary>
Lock conflicts w/o subsequent wait
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockDeadlocks">
<summary>
Number of lock deadlocks.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockDowngrades">
<summary>
Number of lock downgrades.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockModes">
<summary>
Number of lock modes.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockPuts">
<summary>
Number of lock puts.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockRequests">
<summary>
Number of lock gets.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockSteals">
<summary>
Number of lock steals so far.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockTimeoutLength">
<summary>
Lock timeout.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockTimeouts">
<summary>
Number of lock timeouts.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockUpgrades">
<summary>
Number of lock upgrades.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockerNoWait">
<summary>
Locker lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.LockerWait">
<summary>
Locker lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.Lockers">
<summary>
Current number of lockers.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.Locks">
<summary>
Current number of locks.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxBucketLength">
<summary>
Max length of bucket.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLockSteals">
<summary>
Maximum number steals in any partition.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLockers">
<summary>
Maximum number of lockers so far.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLockersInTable">
<summary>
Maximum num of lockers in table.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLocks">
<summary>
Maximum number of locks so far.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLocksInBucket">
<summary>
Maximum number of locks in any bucket.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxLocksInTable">
<summary>
Maximum number of locks in table.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxObjectSteals">
<summary>
Maximum number of steals in any partition.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxObjects">
<summary>
Maximum number of objects so far.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxObjectsInBucket">
<summary>
Maximum number of objectsin any bucket.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxPartitionLockNoWait">
<summary>
Max partition lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxPartitionLockWait">
<summary>
Max partition lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxUnusedID">
<summary>
Current maximum unused ID.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.MaxObjectsInTable">
<summary>
Maximum num of objects in table.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.nPartitions">
<summary>
number of partitions.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.ObjectNoWait">
<summary>
Object lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.ObjectSteals">
<summary>
Number of objects steals so far.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.ObjectWait">
<summary>
Object lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.Objects">
<summary>
Current number of objects.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.PartitionLockNoWait">
<summary>
Partition lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.PartitionLockWait">
<summary>
Partition lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.RegionNoWait">
<summary>
Region lock granted without wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.RegionSize">
<summary>
Region size.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.RegionWait">
<summary>
Region lock granted after wait.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.TxnTimeoutLength">
<summary>
Transaction timeout.
</summary>
</member>
<member name="P:BerkeleyDB.LockStats.TxnTimeouts">
<summary>
Number of transaction timeouts.
</summary>
</member>
<member name="T:BerkeleyDB.VerboseMessages">
<summary>
Enable specific additional informational and debugging messages.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.Deadlock">
<summary>
Display additional information when doing deadlock detection.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.FileOps">
<summary>
Display additional information when performing filesystem operations
such as open, close or rename. May not be available on all
platforms.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.AllFileOps">
<summary>
Display additional information when performing all filesystem
operations, including read and write. May not be available on all
platforms.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.Recovery">
<summary>
Display additional information when performing recovery.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.Register">
<summary>
Display additional information concerning support for
<see cref="P:BerkeleyDB.DatabaseEnvironment.Register"/>
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.Replication">
<summary>
Display all detailed information about replication. This includes
the information displayed by all of the other Replication* and
RepMgr* values.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.RepMgrConnectionFailure">
<summary>
Display detailed information about Replication Manager connection
failures.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.RepMgrMisc">
<summary>
Display detailed information about general Replication Manager
processing.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationElection">
<summary>
Display detailed information about replication elections.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationLease">
<summary>
Display detailed information about replication master leases.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationMisc">
<summary>
Display detailed information about general replication processing
not covered by the other Replication* values.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationMessages">
<summary>
Display detailed information about replication message processing.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationSync">
<summary>
Display detailed information about replication client
synchronization.
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.ReplicationTest">
<summary>
</summary>
</member>
<member name="F:BerkeleyDB.VerboseMessages.WaitsForTable">
<summary>
Display the waits-for table when doing deadlock detection.
</summary>
</member>
<member name="T:BerkeleyDB.SecondaryCursor">
<summary>
A class representing database cursors over secondary indexes, which
allow for traversal of database records.
</summary>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.PGet(BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry,System.UInt32,BerkeleyDB.LockingInfo)">
<summary>
Protected method wrapping DBC->pget()
</summary>
<param name="key">The secondary key</param>
<param name="pkey">The primary key</param>
<param name="data">The primary data</param>
<param name="flags">Flags to pass to DBC->pget</param>
<param name="info">Locking parameters</param>
<returns></returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Delete">
<summary>
Delete the key/data pair to which the cursor refers from the primary
database and all secondary indices.
</summary>
<remarks>
<para>
The cursor position is unchanged after a delete, and subsequent
calls to cursor functions expecting the cursor to refer to an
existing key will fail.
</para>
</remarks>
<exception cref="T:BerkeleyDB.KeyEmptyException">
The element has already been deleted.
</exception>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Duplicate(System.Boolean)">
<summary>
Create a new cursor that uses the same transaction and locker ID as
the original cursor.
</summary>
<remarks>
This is useful when an application is using locking and requires two
or more cursors in the same thread of control.
</remarks>
<param name="keepPosition">
If true, the newly created cursor is initialized to refer to the
same position in the database as the original cursor (if any) and
hold the same locks (if any). If false, or the original cursor does
not hold a database position and locks, the created cursor is
uninitialized and will behave like a cursor newly created by
<see cref="M:BerkeleyDB.BaseDatabase.Cursor"/>.</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.GetEnumerator">
<summary>
Returns an enumerator that iterates through the
<see cref="T:BerkeleyDB.SecondaryCursor"/>.
</summary>
<remarks>
The enumerator will begin at the cursor's current position (or the
first record if the cursor has not yet been positioned) and iterate
forwards (i.e. in the direction of <see cref="M:BerkeleyDB.SecondaryCursor.MoveNext"/>) over the
remaining records.
</remarks>
<returns>An enumerator for the SecondaryCursor.</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveFirst">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store the secondary key along with the corresponding primary
key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. If the first key has
duplicate values, the first data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveFirst(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the first key/data pair of the database,
and store the secondary key along with the corresponding primary
key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. If the first key has
duplicate values, the first data item in the set of duplicates is
stored in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Move(BerkeleyDB.DatabaseEntry,System.Boolean)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store the
primary key/data pair associated with the given secondary key in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the presence of duplicate key values, the
first data item in the set of duplicates is stored in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Move(BerkeleyDB.DatabaseEntry,System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to <paramref name="key"/>, and store the
primary key/data pair associated with the given secondary key in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the presence of duplicate key values, the
first data item in the set of duplicates is stored in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="key">The key at which to position the cursor</param>
<param name="exact">
If true, require the given key to match the key in the database
exactly. If false, position the cursor at the smallest key greater
than or equal to the specified key, permitting partial key matches
and range searches.
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Move(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry}},System.Boolean)">
<summary>
Move the cursor to the specified key/data pair of the database. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<remarks>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
<para>
If this flag is specified on a database configured without sorted
duplicate support, the value of <paramref name="exact"/> is ignored.
</para>
</remarks>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Move(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry}},System.Boolean,BerkeleyDB.LockingInfo)">
<summary>
Move the cursor to the specified key/data pair of the database. The
cursor is positioned to a key/data pair if both the key and data
match the values provided on the key and data parameters.
</summary>
<remarks>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
<para>
If this flag is specified on a database configured without sorted
duplicate support, the value of <paramref name="exact"/> is ignored.
</para>
</remarks>
<param name="pair">
The key/data pair at which to position the cursor.
</param>
<param name="exact">
If true, require the given key and data to match the key and data
in the database exactly. If false, position the cursor at the
smallest data value which is greater than or equal to the value
provided by <paramref name="pair.Value"/> (as determined by the
comparison function).
</param>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveLast">
<summary>
Set the cursor to refer to the last key/data pair of the database,
and store the secondary key and primary key/data pair in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. If the last key has duplicate values, the
last data item in the set of duplicates is stored in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveLast(BerkeleyDB.LockingInfo)">
<summary>
Set the cursor to refer to the last key/data pair of the database,
and store the secondary key and primary key/data pair in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. If the last key has duplicate values, the
last data item in the set of duplicates is stored in
<see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNext">
<summary>
If the cursor is not yet initialized, MoveNext is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveFirst"/>. Otherwise, move the cursor to the next
key/data pair of the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the presence of
duplicate key values, the value of <see cref="P:BerkeleyDB.SecondaryCursor.Current">Current.Key
</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNext(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNext is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveFirst"/>. Otherwise, move the cursor to the next
key/data pair of the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the presence of
duplicate key values, the value of <see cref="P:BerkeleyDB.SecondaryCursor.Current">Current.Key
</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNextDuplicate">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store the secondary key and primary
key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MoveNextDuplicate will
return false if the next key/data pair of the database is not a
duplicate data record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNextDuplicate(BerkeleyDB.LockingInfo)">
<summary>
If the next key/data pair of the database is a duplicate data record
for the current key/data pair, move the cursor to the next key/data
pair in the database, and store the secondary key and primary
key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MoveNextDuplicate will
return false if the next key/data pair of the database is not a
duplicate data record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNextUnique">
<summary>
If the cursor is not yet initialized, MoveNextUnique is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveFirst"/>. Otherwise, move the cursor to the next
non-duplicate key in the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MoveNextUnique will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MoveNextUnique(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MoveNextUnique is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveFirst"/>. Otherwise, move the cursor to the next
non-duplicate key in the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MoveNextUnique will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<remarks>
<para>
If the database is a Queue or Recno database, MoveNextUnique will
ignore any keys that exist but were never explicitly created by the
application, or those that were created and later deleted.
</para>
<para>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</para>
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrev">
<summary>
If the cursor is not yet initialized, MovePrev is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveLast"/>. Otherwise, move the cursor to the previous
key/data pair of the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the presence of
duplicate key values, the value of <see cref="P:BerkeleyDB.SecondaryCursor.Current">Current.Key
</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrev(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MovePrev is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveLast(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the previous key/data pair of the database, and store the secondary
key and primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. In the
presence of duplicate key values, the value of <see cref="P:BerkeleyDB.SecondaryCursor.Current">
Current.Key</see> may not change.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrevDuplicate">
<summary>
If the previous key/data pair of the database is a duplicate data
record for the current key/data pair, the cursor is moved to the
previous key/data pair of the database, and the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MovePrevDuplicate
will return false if the previous key/data pair of the database is
not a duplicate data record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrevDuplicate(BerkeleyDB.LockingInfo)">
<summary>
If the previous key/data pair of the database is a duplicate data
record for the current key/data pair, the cursor is moved to the
previous key/data pair of the database, and the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MovePrevDuplicate
will return false if the previous key/data pair of the database is
not a duplicate data record for the current key/data pair.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrevUnique">
<summary>
If the cursor is not yet initialized, MovePrevUnique is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveLast"/>. Otherwise, move the cursor to the previous
non-duplicate key in the database, and store the secondary key and
primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>. MovePrevUnique will
return false if no non-duplicate key/data pairs exist after the
cursor position in the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.MovePrevUnique(BerkeleyDB.LockingInfo)">
<summary>
If the cursor is not yet initialized, MovePrevUnique is identical to
<see cref="M:BerkeleyDB.SecondaryCursor.MoveLast(BerkeleyDB.LockingInfo)"/>. Otherwise, move the cursor to
the previous non-duplicate key in the database, and store the
secondary key and primary key/data pair in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
MovePrevUnique will return false if no non-duplicate key/data pairs
exist after the cursor position in the database.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Refresh">
<summary>
Store the secondary key and primary key/data pair to which the
cursor refers in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.SecondaryCursor.Refresh(BerkeleyDB.LockingInfo)">
<summary>
Store the secondary key and primary key/data pair to which the
cursor refers in <see cref="P:BerkeleyDB.SecondaryCursor.Current"/>.
</summary>
<remarks>
If positioning the cursor fails, <see cref="P:BerkeleyDB.SecondaryCursor.Current"/> will contain
an empty <see cref="T:System.Collections.Generic.KeyValuePair`2"/>.
</remarks>
<param name="info">The locking behavior to use.</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="P:BerkeleyDB.SecondaryCursor.Current">
<summary>
The secondary key and primary key/data pair at which the cursor
currently points.
</summary>
</member>
<member name="T:BerkeleyDB.RecnoStats">
<summary>
Statistical information about a RecnoDatabase
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.MagicNumber">
<summary>
Magic number.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.Version">
<summary>
Version number.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.MetadataFlags">
<summary>
Metadata flags.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.nKeys">
<summary>
Number of unique keys.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.nData">
<summary>
Number of data items.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.nPages">
<summary>
Page count.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.PageSize">
<summary>
Page size.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.MinKey">
<summary>
Minkey value.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.nBlobRecords">
<summary>
Number of blobs.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.RecordLength">
<summary>
Fixed-length record length.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.RecordPadByte">
<summary>
Fixed-length record pad.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.Levels">
<summary>
Tree levels.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.InternalPages">
<summary>
Internal pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.LeafPages">
<summary>
Leaf pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.DuplicatePages">
<summary>
Duplicate pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.OverflowPages">
<summary>
Overflow pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.EmptyPages">
<summary>
Empty pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.FreePages">
<summary>
Pages on the free list.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.InternalPagesFreeBytes">
<summary>
Bytes free in internal pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.LeafPagesFreeBytes">
<summary>
Bytes free in leaf pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.DuplicatePagesFreeBytes">
<summary>
Bytes free in duplicate pages.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoStats.OverflowPagesFreeBytes">
<summary>
Bytes free in overflow pages.
</summary>
</member>
<member name="T:BerkeleyDB.BTreeCursor">
<summary>
A class for traversing the records of a <see cref="T:BerkeleyDB.BTreeDatabase"/>
</summary>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Duplicate(System.Boolean)">
<summary>
Create a new cursor that uses the same transaction and locker ID as
the original cursor.
</summary>
<remarks>
This is useful when an application is using locking and requires two
or more cursors in the same thread of control.
</remarks>
<param name="keepPosition">
If true, the newly created cursor is initialized to refer to the
same position in the database as the original cursor (if any) and
hold the same locks (if any). If false, or the original cursor does
not hold a database position and locks, the created cursor is
uninitialized and will behave like a cursor newly created by
<see cref="M:BerkeleyDB.BTreeDatabase.Cursor"/>.</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Move(System.UInt32)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Move(System.UInt32,BerkeleyDB.LockingInfo)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair in <see cref="P:BerkeleyDB.Cursor.Current"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="info">The locking behavior to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultiple(System.UInt32)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many duplicate data items that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultiple(System.UInt32,System.Int32)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many duplicate data items that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultiple(System.UInt32,BerkeleyDB.LockingInfo)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many duplicate data items that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="info">The locking behavior to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultiple(System.UInt32,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many duplicate data items that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultiple"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="BufferSize">
The size of a buffer to fill with duplicate data items. Must be at
least the page size of the underlying database and be a multiple of
1024.
</param>
<param name="info">The locking behavior to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultipleKey(System.UInt32)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultipleKey(System.UInt32,System.Int32)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultipleKey(System.UInt32,BerkeleyDB.LockingInfo)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="info">The locking behavior to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.MoveMultipleKey(System.UInt32,System.Int32,BerkeleyDB.LockingInfo)">
<summary>
Position the cursor at a specific key/data pair in the database, and
store the key/data pair and as many ensuing key/data pairs that can
fit in a buffer the size of one database page in
<see cref="P:BerkeleyDB.Cursor.CurrentMultipleKey"/>.
</summary>
<param name="recno">
The specific numbered record of the database at which to position
the cursor.
</param>
<param name="BufferSize">
The size of a buffer to fill with key/data pairs. Must be at least
the page size of the underlying database and be a multiple of 1024.
</param>
<param name="info">The locking behavior to use</param>
<returns>
True if the cursor was positioned successfully, false otherwise.
</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Recno">
<summary>
Return the record number associated with the cursor's current
position.
</summary>
<returns>The record number associated with the cursor.</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Recno(BerkeleyDB.LockingInfo)">
<summary>
Return the record number associated with the cursor's current
position.
</summary>
<param name="info">The locking behavior to use</param>
<returns>The record number associated with the cursor.</returns>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Insert(BerkeleyDB.DatabaseEntry,BerkeleyDB.Cursor.InsertLocation)">
<summary>
Insert the data element as a duplicate element of the key to which
the cursor refers.
</summary>
<param name="data">The data element to insert</param>
<param name="loc">
Specify whether to insert the data item immediately before or
immediately after the cursor's current position.
</param>
</member>
<member name="M:BerkeleyDB.BTreeCursor.AddUnique(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry})">
<summary>
Insert the specified key/data pair into the database, unless a
key/data pair comparing equally to it already exists in the
database.
</summary>
<param name="pair">The key/data pair to be inserted</param>
<exception cref="T:BerkeleyDB.KeyExistException">
Thrown if a matching key/data pair already exists in the database.
</exception>
</member>
<member name="M:BerkeleyDB.BTreeCursor.Add(System.Collections.Generic.KeyValuePair{BerkeleyDB.DatabaseEntry,BerkeleyDB.DatabaseEntry},BerkeleyDB.Cursor.InsertLocation)">
<summary>
Insert the specified key/data pair into the database.
</summary>
<param name="pair">The key/data pair to be inserted</param>
<param name="loc">
If the key already exists in the database and no duplicate sort
function has been specified, specify whether the inserted data item
is added as the first or the last of the data items for that key.
</param>
</member>
<member name="T:BerkeleyDB.RecnoDatabase">
<summary>
A class representing a RecnoDatabase. The Recno format supports fixed-
or variable-length records, accessed sequentially or by logical record
number, and optionally backed by a flat text file.
</summary>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)">
<summary>
Instantiate a new RecnoDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Open(System.String,System.String,BerkeleyDB.RecnoDatabaseConfig)">
<summary>
Instantiate a new RecnoDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation
will be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new RecnoDatabase object and open the database
represented by <paramref name="Filename"/>.
</summary>
<remarks>
<para>
If <paramref name="Filename"/> is null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Open(System.String,System.String,BerkeleyDB.RecnoDatabaseConfig,BerkeleyDB.Transaction)">
<summary>
Instantiate a new RecnoDatabase object and open the database
represented by <paramref name="Filename"/> and
<paramref name="DatabaseName"/>.
</summary>
<remarks>
<para>
If both <paramref name="Filename"/> and
<paramref name="DatabaseName"/> are null, the database is strictly
temporary and cannot be opened by any other thread of control, thus
the database can only be accessed by sharing the single database
object that created it, in circumstances where doing so is safe. If
<paramref name="Filename"/> is null and
<paramref name="DatabaseName"/> is non-null, the database can be
opened by other threads of control and will be replicated to client
sites in any replication group.
</para>
<para>
If <paramref name="txn"/> is null, but
<see cref="F:BerkeleyDB.DatabaseConfig.AutoCommit"/> is set, the operation will
be implicitly transaction protected. Note that transactionally
protected operations on a datbase object requires the object itself
be transactionally protected during its open. Also note that the
transaction must be committed before the object is closed.
</para>
</remarks>
<param name="Filename">
The name of an underlying file that will be used to back the
database. In-memory databases never intended to be preserved on disk
may be created by setting this parameter to null.
</param>
<param name="DatabaseName">
This parameter allows applications to have multiple databases in a
single file. Although no DatabaseName needs to be specified, it is
an error to attempt to open a second database in a file that was not
initially created using a database name.
</param>
<param name="cfg">The database's configuration</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>A new, open database object</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry)">
<summary>
Append the data item to the end of the database.
</summary>
<param name="data">The data item to store in the database</param>
<returns>The record number allocated to the record</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry,BerkeleyDB.Transaction)">
<summary>
Append the data item to the end of the database.
</summary>
<remarks>
There is a minor behavioral difference between
<see cref="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry)"/> and
<see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/>. If a transaction enclosing an
Append operation aborts, the record number may be reallocated in a
subsequent <see cref="M:BerkeleyDB.RecnoDatabase.Append(BerkeleyDB.DatabaseEntry)"/> operation, but it will
not be reallocated in a subsequent
<see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/> operation.
</remarks>
<param name="data">The data item to store in the database</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>The record number allocated to the record</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Compact(BerkeleyDB.CompactConfig)">
<summary>
Compact the database, and optionally return unused database pages to
the underlying filesystem.
</summary>
<remarks>
If the operation occurs in a transactional database, the operation
will be implicitly transaction protected using multiple
transactions. These transactions will be periodically committed to
avoid locking large sections of the tree. Any deadlocks encountered
cause the compaction operation to be retried from the point of the
last transaction commit.
</remarks>
<param name="cdata">Compact configuration parameters</param>
<returns>Compact operation statistics</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Compact(BerkeleyDB.CompactConfig,BerkeleyDB.Transaction)">
<summary>
Compact the database, and optionally return unused database pages to
the underlying filesystem.
</summary>
<remarks>
<para>
If <paramref name="txn"/> is non-null, then the operation is
performed using that transaction. In this event, large sections of
the tree may be locked during the course of the transaction.
</para>
<para>
If <paramref name="txn"/> is null, but the operation occurs in a
transactional database, the operation will be implicitly transaction
protected using multiple transactions. These transactions will be
periodically committed to avoid locking large sections of the tree.
Any deadlocks encountered cause the compaction operation to be
retried from the point of the last transaction commit.
</para>
</remarks>
<param name="cdata">Compact configuration parameters</param>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Compact operation statistics</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Cursor">
<summary>
Create a database cursor.
</summary>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Cursor(BerkeleyDB.CursorConfig)">
<summary>
Create a database cursor with the given configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Cursor(BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor.
</summary>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Cursor(BerkeleyDB.CursorConfig,BerkeleyDB.Transaction)">
<summary>
Create a transactionally protected database cursor with the given
configuration.
</summary>
<param name="cfg">
The configuration properties for the cursor.
</param>
<param name="txn">
The transaction context in which the cursor may be used.
</param>
<returns>A newly created cursor</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.FastStats">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.FastStats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.FastStats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information which does not require
traversal of the database.
</summary>
<overloads>
<para>
Among other things, this method makes it possible for applications
to request key and record counts without incurring the performance
penalty of traversing the entire database.
</para>
<para>
The statistical information is described by the
<see cref="T:BerkeleyDB.BTreeStats"/>, <see cref="T:BerkeleyDB.HashStats"/>,
<see cref="T:BerkeleyDB.QueueStats"/>, and <see cref="T:BerkeleyDB.RecnoStats"/> classes.
</para>
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>
The database statistical information which does not require
traversal of the database.
</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Stats">
<summary>
Return the database statistical information for this database.
</summary>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Stats(BerkeleyDB.Transaction)">
<summary>
Return the database statistical information for this database.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.Stats(BerkeleyDB.Transaction,BerkeleyDB.Isolation)">
<summary>
Return the database statistical information for this database.
</summary>
<overloads>
The statistical information is described by
<see cref="T:BerkeleyDB.BTreeStats"/>.
</overloads>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<param name="isoDegree">
The level of isolation for database reads.
<see cref="F:BerkeleyDB.Isolation.DEGREE_ONE"/> will be silently ignored for
databases which did not specify
<see cref="F:BerkeleyDB.DatabaseConfig.ReadUncommitted"/>.
</param>
<returns>Database statistical information.</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.TruncateUnusedPages">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="M:BerkeleyDB.RecnoDatabase.TruncateUnusedPages(BerkeleyDB.Transaction)">
<summary>
Return pages to the filesystem that are already free and at the end
of the file.
</summary>
<param name="txn">
If the operation is part of an application-specified transaction,
<paramref name="txn"/> is a Transaction object returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginTransaction"/>; if
the operation is part of a Berkeley DB Concurrent Data Store group,
<paramref name="txn"/> is a handle returned from
<see cref="M:BerkeleyDB.DatabaseEnvironment.BeginCDSGroup"/>; otherwise null.
</param>
<returns>
The number of database pages returned to the filesystem
</returns>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.AppendCallback">
<summary>
A function to call after the record number has been selected but
before the data has been stored into the database.
</summary>
<remarks>
<para>
When using <see cref="M:BerkeleyDB.QueueDatabase.Append(BerkeleyDB.DatabaseEntry)"/>, it may be useful to
modify the stored data based on the generated key. If a delegate is
specified, it will be called after the record number has been
selected, but before the data has been stored.
</para>
</remarks>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.RecordDelimiter">
<summary>
The delimiting byte used to mark the end of a record in
<see cref="P:BerkeleyDB.RecnoDatabase.SourceFile"/>.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.RecordLength">
<summary>
If using fixed-length, not byte-delimited records, the length of the
records.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.RecordPad">
<summary>
The padding character for short, fixed-length records.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.Renumber">
<summary>
If true, the logical record numbers are mutable, and change as
records are added to and deleted from the database.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.Snapshot">
<summary>
If true, any <see cref="P:BerkeleyDB.RecnoDatabase.SourceFile"/> file will be read in its
entirety when <see cref="M:BerkeleyDB.RecnoDatabase.Open(System.String,BerkeleyDB.RecnoDatabaseConfig)"/> is called. If false,
<see cref="P:BerkeleyDB.RecnoDatabase.SourceFile"/> may be read lazily.
</summary>
</member>
<member name="P:BerkeleyDB.RecnoDatabase.SourceFile">
<summary>
The underlying source file for the Recno access method.
</summary>
</member>
<member name="T:BerkeleyDB.LockingInfo">
<summary>
A class representing the locking options for Berkeley DB operations.
</summary>
</member>
<member name="F:BerkeleyDB.LockingInfo.IsolationDegree">
<summary>
The isolation degree of the operation.
</summary>
</member>
<member name="F:BerkeleyDB.LockingInfo.ReadModifyWrite">
<summary>
If true, acquire write locks instead of read locks when doing a
read, if locking is configured.
</summary>
<remarks>
Setting ReadModifyWrite can eliminate deadlock during a
read-modify-write cycle by acquiring the write lock during the read
part of the cycle so that another thread of control acquiring a read
lock for the same item, in its own read-modify-write cycle, will not
result in deadlock.
</remarks>
</member>
<member name="M:BerkeleyDB.LockingInfo.#ctor">
<summary>
Instantiate a new LockingInfo object
</summary>
</member>
<member name="T:BerkeleyDB.RepMgrSite">
<summary>
A class representing a replication site used by Replication Manager
</summary>
</member>
<member name="F:BerkeleyDB.RepMgrSite.EId">
<summary>
Environment ID assigned by the replication manager. This is the same
value that is passed to
<see cref="P:BerkeleyDB.DatabaseEnvironment.EventNotify"/> for the
<see cref="F:BerkeleyDB.NotificationEvent.REP_NEWMASTER"/> event.
</summary>
</member>
<member name="F:BerkeleyDB.RepMgrSite.Address">
<summary>
The address of the site
</summary>
</member>
<member name="F:BerkeleyDB.RepMgrSite.isConnected">
<summary>
If true, the site is connected.
</summary>
</member>
</members>
</doc>