summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/wiredtiger.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/include/wiredtiger.in')
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in2294
1 files changed, 1023 insertions, 1271 deletions
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index 13a3c637407..b9fed57f9ad 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -655,15 +655,13 @@ struct __wt_cursor {
*
* @param cursor the cursor handle
* @configstart{WT_CURSOR.reconfigure, see dist/api_data.py}
- * @config{append, append the value as a new record\, creating a new
- * record number key; valid only for cursors with record number keys., a
- * boolean flag; default \c false.}
- * @config{overwrite, configures whether the cursor's insert\, update
- * and remove methods check the existing state of the record. If \c
- * overwrite is \c false\, WT_CURSOR::insert fails with
- * ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
- * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not
- * exist., a boolean flag; default \c true.}
+ * @config{append, append the value as a new record\, creating a new record number key;
+ * valid only for cursors with record number keys., a boolean flag; default \c false.}
+ * @config{overwrite, configures whether the cursor's insert\, update and remove methods
+ * check the existing state of the record. If \c overwrite is \c false\, WT_CURSOR::insert
+ * fails with ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
+ * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not exist., a boolean flag;
+ * default \c true.}
* @configend
* @errors
*/
@@ -973,21 +971,18 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.reconfigure, see dist/api_data.py}
- * @config{cache_cursors, enable caching of cursors for reuse. Any
- * calls to WT_CURSOR::close for a cursor created in this session will
- * mark the cursor as cached and keep it available to be reused for
- * later calls to WT_SESSION::open_cursor. Cached cursors may be
- * eventually closed. This value is inherited from ::wiredtiger_open \c
+ * @config{cache_cursors, enable caching of cursors for reuse. Any calls to
+ * WT_CURSOR::close for a cursor created in this session will mark the cursor as cached and
+ * keep it available to be reused for later calls to WT_SESSION::open_cursor. Cached
+ * cursors may be eventually closed. This value is inherited from ::wiredtiger_open \c
* cache_cursors., a boolean flag; default \c true.}
- * @config{ignore_cache_size, when set\, operations performed by this
- * session ignore the cache size and are not blocked when the cache is
- * full. Note that use of this option for operations that create cache
- * pressure can starve ordinary sessions that obey the cache size., a
- * boolean flag; default \c false.}
- * @config{isolation, the default isolation level for operations in this
- * session., a string\, chosen from the following options: \c
- * "read-uncommitted"\, \c "read-committed"\, \c "snapshot"; default \c
- * read-committed.}
+ * @config{ignore_cache_size, when set\, operations performed by this session ignore the
+ * cache size and are not blocked when the cache is full. Note that use of this option for
+ * operations that create cache pressure can starve ordinary sessions that obey the cache
+ * size., a boolean flag; default \c false.}
+ * @config{isolation, the default isolation level for operations in this session., a
+ * string\, chosen from the following options: \c "read-uncommitted"\, \c "read-committed"\,
+ * \c "snapshot"; default \c read-committed.}
* @configend
* @errors
*/
@@ -1047,86 +1042,67 @@ struct __wt_session {
* @copydoc doc_cursor_types
* @param to_dup a cursor to duplicate or gather statistics on
* @configstart{WT_SESSION.open_cursor, see dist/api_data.py}
- * @config{append, append the value as a new record\, creating a new
- * record number key; valid only for cursors with record number keys., a
- * boolean flag; default \c false.}
- * @config{bulk, configure the cursor for bulk-loading\, a fast\,
- * initial load path (see @ref tune_bulk_load for more information).
- * Bulk-load may only be used for newly created objects and applications
- * should use the WT_CURSOR::insert method to insert rows. When
- * bulk-loading\, rows must be loaded in sorted order. The value is
- * usually a true/false flag; when bulk-loading fixed-length column
- * store objects\, the special value \c bitmap allows chunks of a memory
- * resident bitmap to be loaded directly into a file by passing a \c
- * WT_ITEM to WT_CURSOR::set_value where the \c size field indicates the
- * number of records in the bitmap (as specified by the object's \c
- * value_format configuration). Bulk-loaded bitmap values must end on a
- * byte boundary relative to the bit count (except for the last set of
- * values loaded)., a string; default \c false.}
- * @config{checkpoint, the name of a checkpoint to open (the reserved
- * name "WiredTigerCheckpoint" opens the most recent internal checkpoint
- * taken for the object). The cursor does not support data
- * modification., a string; default empty.}
- * @config{dump, configure the cursor for dump format inputs and
- * outputs: "hex" selects a simple hexadecimal format\, "json" selects a
- * JSON format with each record formatted as fields named by column
- * names if available\, and "print" selects a format where only
- * non-printing characters are hexadecimal encoded. These formats are
- * compatible with the @ref util_dump and @ref util_load commands., a
- * string\, chosen from the following options: \c "hex"\, \c "json"\, \c
- * "print"; default empty.}
- * @config{next_random, configure the cursor to return a pseudo-random
- * record from the object when the WT_CURSOR::next method is called;
- * valid only for row-store cursors. See @ref cursor_random for
- * details., a boolean flag; default \c false.}
- * @config{next_random_sample_size, cursors configured by \c next_random
- * to return pseudo-random records from the object randomly select from
- * the entire object\, by default. Setting \c next_random_sample_size
- * to a non-zero value sets the number of samples the application
- * expects to take using the \c next_random cursor. A cursor configured
- * with both \c next_random and \c next_random_sample_size attempts to
- * divide the object into \c next_random_sample_size equal-sized
- * pieces\, and each retrieval returns a record from one of those
- * pieces. See @ref cursor_random for details., a string; default \c
- * 0.}
- * @config{overwrite, configures whether the cursor's insert\, update
- * and remove methods check the existing state of the record. If \c
- * overwrite is \c false\, WT_CURSOR::insert fails with
- * ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
- * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not
- * exist., a boolean flag; default \c true.}
- * @config{raw, ignore the encodings for the key and value\, manage data
- * as if the formats were \c "u". See @ref cursor_raw for details., a
- * boolean flag; default \c false.}
- * @config{read_once, results that are brought into cache from disk by
- * this cursor will be given less priority in the cache., a boolean
- * flag; default \c false.}
- * @config{readonly, only query operations are supported by this cursor.
- * An error is returned if a modification is attempted using the cursor.
- * The default is false for all cursor types except for log and metadata
- * cursors., a boolean flag; default \c false.}
- * @config{statistics, Specify the statistics to be gathered. Choosing
- * "all" gathers statistics regardless of cost and may include
- * traversing on-disk files; "fast" gathers a subset of relatively
- * inexpensive statistics. The selection must agree with the database
- * \c statistics configuration specified to ::wiredtiger_open or
- * WT_CONNECTION::reconfigure. For example\, "all" or "fast" can be
- * configured when the database is configured with "all"\, but the
- * cursor open will fail if "all" is specified when the database is
- * configured with "fast"\, and the cursor open will fail in all cases
- * when the database is configured with "none". If "size" is
- * configured\, only the underlying size of the object on disk is filled
- * in and the object is not opened. If \c statistics is not
- * configured\, the default configuration is the database configuration.
- * The "clear" configuration resets statistics after gathering them\,
- * where appropriate (for example\, a cache size statistic is not
- * cleared\, while the count of cursor insert operations will be
- * cleared). See @ref statistics for more information., a list\, with
- * values chosen from the following options: \c "all"\, \c
- * "cache_walk"\, \c "fast"\, \c "clear"\, \c "size"\, \c "tree_walk";
- * default empty.}
- * @config{target, if non-empty\, backup the list of objects; valid only
- * for a backup data source., a list of strings; default empty.}
+ * @config{append, append the value as a new record\, creating a new record number key;
+ * valid only for cursors with record number keys., a boolean flag; default \c false.}
+ * @config{bulk, configure the cursor for bulk-loading\, a fast\, initial load path (see
+ * @ref tune_bulk_load for more information). Bulk-load may only be used for newly created
+ * objects and applications should use the WT_CURSOR::insert method to insert rows. When
+ * bulk-loading\, rows must be loaded in sorted order. The value is usually a true/false
+ * flag; when bulk-loading fixed-length column store objects\, the special value \c bitmap
+ * allows chunks of a memory resident bitmap to be loaded directly into a file by passing a
+ * \c WT_ITEM to WT_CURSOR::set_value where the \c size field indicates the number of
+ * records in the bitmap (as specified by the object's \c value_format configuration).
+ * Bulk-loaded bitmap values must end on a byte boundary relative to the bit count (except
+ * for the last set of values loaded)., a string; default \c false.}
+ * @config{checkpoint, the name of a checkpoint to open (the reserved name
+ * "WiredTigerCheckpoint" opens the most recent internal checkpoint taken for the object).
+ * The cursor does not support data modification., a string; default empty.}
+ * @config{dump, configure the cursor for dump format inputs and outputs: "hex" selects a
+ * simple hexadecimal format\, "json" selects a JSON format with each record formatted as
+ * fields named by column names if available\, and "print" selects a format where only
+ * non-printing characters are hexadecimal encoded. These formats are compatible with the
+ * @ref util_dump and @ref util_load commands., a string\, chosen from the following
+ * options: \c "hex"\, \c "json"\, \c "print"; default empty.}
+ * @config{next_random, configure the cursor to return a pseudo-random record from the
+ * object when the WT_CURSOR::next method is called; valid only for row-store cursors. See
+ * @ref cursor_random for details., a boolean flag; default \c false.}
+ * @config{next_random_sample_size, cursors configured by \c next_random to return
+ * pseudo-random records from the object randomly select from the entire object\, by
+ * default. Setting \c next_random_sample_size to a non-zero value sets the number of
+ * samples the application expects to take using the \c next_random cursor. A cursor
+ * configured with both \c next_random and \c next_random_sample_size attempts to divide the
+ * object into \c next_random_sample_size equal-sized pieces\, and each retrieval returns a
+ * record from one of those pieces. See @ref cursor_random for details., a string; default
+ * \c 0.}
+ * @config{overwrite, configures whether the cursor's insert\, update and remove methods
+ * check the existing state of the record. If \c overwrite is \c false\, WT_CURSOR::insert
+ * fails with ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
+ * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not exist., a boolean flag;
+ * default \c true.}
+ * @config{raw, ignore the encodings for the key and value\, manage data as if the formats
+ * were \c "u". See @ref cursor_raw for details., a boolean flag; default \c false.}
+ * @config{read_once, results that are brought into cache from disk by this cursor will be
+ * given less priority in the cache., a boolean flag; default \c false.}
+ * @config{readonly, only query operations are supported by this cursor. An error is
+ * returned if a modification is attempted using the cursor. The default is false for all
+ * cursor types except for log and metadata cursors., a boolean flag; default \c false.}
+ * @config{statistics, Specify the statistics to be gathered. Choosing "all" gathers
+ * statistics regardless of cost and may include traversing on-disk files; "fast" gathers a
+ * subset of relatively inexpensive statistics. The selection must agree with the database
+ * \c statistics configuration specified to ::wiredtiger_open or WT_CONNECTION::reconfigure.
+ * For example\, "all" or "fast" can be configured when the database is configured with
+ * "all"\, but the cursor open will fail if "all" is specified when the database is
+ * configured with "fast"\, and the cursor open will fail in all cases when the database is
+ * configured with "none". If "size" is configured\, only the underlying size of the object
+ * on disk is filled in and the object is not opened. If \c statistics is not configured\,
+ * the default configuration is the database configuration. The "clear" configuration
+ * resets statistics after gathering them\, where appropriate (for example\, a cache size
+ * statistic is not cleared\, while the count of cursor insert operations will be cleared).
+ * See @ref statistics for more information., a list\, with values chosen from the following
+ * options: \c "all"\, \c "cache_walk"\, \c "fast"\, \c "clear"\, \c "size"\, \c
+ * "tree_walk"; default empty.}
+ * @config{target, if non-empty\, backup the list of objects; valid only for a backup data
+ * source., a list of strings; default empty.}
* @configend
* @param[out] cursorp a pointer to the newly opened cursor
* @errors
@@ -1153,34 +1129,30 @@ struct __wt_session {
* @param session the session handle
* @param name the URI of the object to alter, such as \c "table:stock"
* @configstart{WT_SESSION.alter, see dist/api_data.py}
- * @config{access_pattern_hint, It is recommended that workloads that
- * consist primarily of updates and/or point queries specify \c random.
- * Workloads that do many cursor scans through large ranges of data
- * specify \c sequential and other workloads specify \c none. The
- * option leads to an advisory call to an appropriate operating system
- * API where available., a string\, chosen from the following options:
- * \c "none"\, \c "random"\, \c "sequential"; default \c none.}
- * @config{app_metadata, application-owned metadata for this object., a
- * string; default empty.}
- * @config{cache_resident, do not ever evict the object's pages from
- * cache. Not compatible with LSM tables; see @ref
- * tuning_cache_resident for more information., a boolean flag; default
- * \c false.}
- * @config{log = (, the transaction log configuration for this object.
- * Only valid if log is enabled in ::wiredtiger_open., a set of related
- * configuration options defined below.}
- * @config{    enabled, if false\, this object has
- * checkpoint-level durability., a boolean flag; default \c true.}
+ * @config{access_pattern_hint, It is recommended that workloads that consist primarily of
+ * updates and/or point queries specify \c random. Workloads that do many cursor scans
+ * through large ranges of data specify \c sequential and other workloads specify \c none.
+ * The option leads to an advisory call to an appropriate operating system API where
+ * available., a string\, chosen from the following options: \c "none"\, \c "random"\, \c
+ * "sequential"; default \c none.}
+ * @config{app_metadata, application-owned metadata for this object., a string; default
+ * empty.}
+ * @config{cache_resident, do not ever evict the object's pages from cache. Not compatible
+ * with LSM tables; see @ref tuning_cache_resident for more information., a boolean flag;
+ * default \c false.}
+ * @config{log = (, the transaction log configuration for this object. Only valid if log is
+ * enabled in ::wiredtiger_open., a set of related configuration options defined below.}
+ * @config{    enabled, if false\, this object has checkpoint-level
+ * durability., a boolean flag; default \c true.}
* @config{ ),,}
- * @config{os_cache_dirty_max, maximum dirty system buffer cache usage\,
- * in bytes. If non-zero\, schedule writes for dirty blocks belonging
- * to this object in the system buffer cache after that many bytes from
- * this object are written into the buffer cache., an integer greater
- * than or equal to 0; default \c 0.}
- * @config{os_cache_max, maximum system buffer cache usage\, in bytes.
- * If non-zero\, evict object blocks from the system buffer cache after
- * that many bytes from this object are read or written into the buffer
- * cache., an integer greater than or equal to 0; default \c 0.}
+ * @config{os_cache_dirty_max, maximum dirty system buffer cache usage\, in bytes. If
+ * non-zero\, schedule writes for dirty blocks belonging to this object in the system buffer
+ * cache after that many bytes from this object are written into the buffer cache., an
+ * integer greater than or equal to 0; default \c 0.}
+ * @config{os_cache_max, maximum system buffer cache usage\, in bytes. If non-zero\, evict
+ * object blocks from the system buffer cache after that many bytes from this object are
+ * read or written into the buffer cache., an integer greater than or equal to 0; default \c
+ * 0.}
* @configend
* @errors
*/
@@ -1199,250 +1171,203 @@ struct __wt_session {
* \c "table:stock". For a description of URI formats
* see @ref data_sources.
* @configstart{WT_SESSION.create, see dist/api_data.py}
- * @config{access_pattern_hint, It is recommended that workloads that
- * consist primarily of updates and/or point queries specify \c random.
- * Workloads that do many cursor scans through large ranges of data
- * specify \c sequential and other workloads specify \c none. The
- * option leads to an advisory call to an appropriate operating system
- * API where available., a string\, chosen from the following options:
- * \c "none"\, \c "random"\, \c "sequential"; default \c none.}
- * @config{allocation_size, the file unit allocation size\, in bytes\,
- * must a power-of-two; smaller values decrease the file space required
- * by overflow items\, and the default value of 4KB is a good choice
- * absent requirements from the operating system or storage device., an
- * integer between 512B and 128MB; default \c 4KB.}
- * @config{app_metadata, application-owned metadata for this object., a
- * string; default empty.}
- * @config{block_allocation, configure block allocation. Permitted
- * values are \c "first" or \c "best"; the \c "first" configuration uses
- * a first-available algorithm during block allocation\, the \c "best"
- * configuration uses a best-fit algorithm., a string\, chosen from the
- * following options: \c "first"\, \c "best"; default \c best.}
- * @config{block_compressor, configure a compressor for file blocks.
- * Permitted values are \c "none" or custom compression engine name
- * created with WT_CONNECTION::add_compressor. If WiredTiger has
- * builtin support for \c "lz4"\, \c "snappy"\, \c "zlib" or \c "zstd"
- * compression\, these names are also available. See @ref compression
- * for more information., a string; default \c none.}
- * @config{cache_resident, do not ever evict the object's pages from
- * cache. Not compatible with LSM tables; see @ref
- * tuning_cache_resident for more information., a boolean flag; default
- * \c false.}
- * @config{checksum, configure block checksums; permitted values are
- * <code>on</code> (checksum all blocks)\, <code>off</code> (checksum no
- * blocks) and <code>uncompresssed</code> (checksum only blocks which
- * are not compressed for any reason). The \c uncompressed setting is
- * for applications which can rely on decompression to fail if a block
- * has been corrupted., a string\, chosen from the following options: \c
+ * @config{access_pattern_hint, It is recommended that workloads that consist primarily of
+ * updates and/or point queries specify \c random. Workloads that do many cursor scans
+ * through large ranges of data specify \c sequential and other workloads specify \c none.
+ * The option leads to an advisory call to an appropriate operating system API where
+ * available., a string\, chosen from the following options: \c "none"\, \c "random"\, \c
+ * "sequential"; default \c none.}
+ * @config{allocation_size, the file unit allocation size\, in bytes\, must a power-of-two;
+ * smaller values decrease the file space required by overflow items\, and the default value
+ * of 4KB is a good choice absent requirements from the operating system or storage device.,
+ * an integer between 512B and 128MB; default \c 4KB.}
+ * @config{app_metadata, application-owned metadata for this object., a string; default
+ * empty.}
+ * @config{block_allocation, configure block allocation. Permitted values are \c "first" or
+ * \c "best"; the \c "first" configuration uses a first-available algorithm during block
+ * allocation\, the \c "best" configuration uses a best-fit algorithm., a string\, chosen
+ * from the following options: \c "first"\, \c "best"; default \c best.}
+ * @config{block_compressor, configure a compressor for file blocks. Permitted values are
+ * \c "none" or custom compression engine name created with WT_CONNECTION::add_compressor.
+ * If WiredTiger has builtin support for \c "lz4"\, \c "snappy"\, \c "zlib" or \c "zstd"
+ * compression\, these names are also available. See @ref compression for more
+ * information., a string; default \c none.}
+ * @config{cache_resident, do not ever evict the object's pages from cache. Not compatible
+ * with LSM tables; see @ref tuning_cache_resident for more information., a boolean flag;
+ * default \c false.}
+ * @config{checksum, configure block checksums; permitted values are <code>on</code>
+ * (checksum all blocks)\, <code>off</code> (checksum no blocks) and
+ * <code>uncompresssed</code> (checksum only blocks which are not compressed for any
+ * reason). The \c uncompressed setting is for applications which can rely on decompression
+ * to fail if a block has been corrupted., a string\, chosen from the following options: \c
* "on"\, \c "off"\, \c "uncompressed"; default \c uncompressed.}
- * @config{colgroups, comma-separated list of names of column groups.
- * Each column group is stored separately\, keyed by the primary key of
- * the table. If no column groups are specified\, all columns are
- * stored together in a single file. All value columns in the table
- * must appear in at least one column group. Each column group must be
- * created with a separate call to WT_SESSION::create., a list of
- * strings; default empty.}
- * @config{collator, configure custom collation for keys. Permitted
- * values are \c "none" or a custom collator name created with
- * WT_CONNECTION::add_collator., a string; default \c none.}
- * @config{columns, list of the column names. Comma-separated list of
- * the form <code>(column[\,...])</code>. For tables\, the number of
- * entries must match the total number of values in \c key_format and \c
- * value_format. For colgroups and indices\, all column names must
- * appear in the list of columns for the table., a list of strings;
+ * @config{colgroups, comma-separated list of names of column groups. Each column group is
+ * stored separately\, keyed by the primary key of the table. If no column groups are
+ * specified\, all columns are stored together in a single file. All value columns in the
+ * table must appear in at least one column group. Each column group must be created with a
+ * separate call to WT_SESSION::create., a list of strings; default empty.}
+ * @config{collator, configure custom collation for keys. Permitted values are \c "none" or
+ * a custom collator name created with WT_CONNECTION::add_collator., a string; default \c
+ * none.}
+ * @config{columns, list of the column names. Comma-separated list of the form
+ * <code>(column[\,...])</code>. For tables\, the number of entries must match the total
+ * number of values in \c key_format and \c value_format. For colgroups and indices\, all
+ * column names must appear in the list of columns for the table., a list of strings;
* default empty.}
- * @config{dictionary, the maximum number of unique values remembered in
- * the Btree row-store leaf page value dictionary; see @ref
- * file_formats_compression for more information., an integer greater
- * than or equal to 0; default \c 0.}
- * @config{encryption = (, configure an encryptor for file blocks. When
- * a table is created\, its encryptor is not implicitly used for any
- * related indices or column groups., a set of related configuration
- * options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;keyid, An
- * identifier that identifies a unique instance of the encryptor. It is
- * stored in clear text\, and thus is available when the wiredtiger
- * database is reopened. On the first use of a (name\, keyid)
- * combination\, the WT_ENCRYPTOR::customize function is called with the
- * keyid as an argument., a string; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, Permitted values are \c "none"
- * or custom encryption engine name created with
- * WT_CONNECTION::add_encryptor. See @ref encryption for more
+ * @config{dictionary, the maximum number of unique values remembered in the Btree row-store
+ * leaf page value dictionary; see @ref file_formats_compression for more information., an
+ * integer greater than or equal to 0; default \c 0.}
+ * @config{encryption = (, configure an encryptor for file blocks. When a table is
+ * created\, its encryptor is not implicitly used for any related indices or column groups.,
+ * a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * keyid, An identifier that identifies a unique instance of the encryptor. It is stored in
+ * clear text\, and thus is available when the wiredtiger database is reopened. On the
+ * first use of a (name\, keyid) combination\, the WT_ENCRYPTOR::customize function is
+ * called with the keyid as an argument., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, Permitted values are \c "none" or custom encryption
+ * engine name created with WT_CONNECTION::add_encryptor. See @ref encryption for more
* information., a string; default \c none.}
* @config{ ),,}
- * @config{exclusive, fail if the object exists. When false (the
- * default)\, if the object exists\, check that its settings match the
- * specified configuration., a boolean flag; default \c false.}
- * @config{extractor, configure custom extractor for indices. Permitted
- * values are \c "none" or an extractor name created with
- * WT_CONNECTION::add_extractor., a string; default \c none.}
- * @config{format, the file format., a string\, chosen from the
- * following options: \c "btree"; default \c btree.}
- * @config{huffman_key, configure Huffman encoding for keys. Permitted
- * values are \c "none"\, \c "english"\, \c "utf8<file>" or \c
- * "utf16<file>". See @ref huffman for more information., a string;
- * default \c none.}
- * @config{huffman_value, configure Huffman encoding for values.
- * Permitted values are \c "none"\, \c "english"\, \c "utf8<file>" or \c
- * "utf16<file>". See @ref huffman for more information., a string;
- * default \c none.}
- * @config{ignore_in_memory_cache_size, allow update and insert
- * operations to proceed even if the cache is already at capacity. Only
- * valid in conjunction with in-memory databases. Should be used with
- * caution - this configuration allows WiredTiger to consume memory over
+ * @config{exclusive, fail if the object exists. When false (the default)\, if the object
+ * exists\, check that its settings match the specified configuration., a boolean flag;
+ * default \c false.}
+ * @config{extractor, configure custom extractor for indices. Permitted values are \c
+ * "none" or an extractor name created with WT_CONNECTION::add_extractor., a string; default
+ * \c none.}
+ * @config{format, the file format., a string\, chosen from the following options: \c
+ * "btree"; default \c btree.}
+ * @config{huffman_key, configure Huffman encoding for keys. Permitted values are \c
+ * "none"\, \c "english"\, \c "utf8<file>" or \c "utf16<file>". See @ref huffman for more
+ * information., a string; default \c none.}
+ * @config{huffman_value, configure Huffman encoding for values. Permitted values are \c
+ * "none"\, \c "english"\, \c "utf8<file>" or \c "utf16<file>". See @ref huffman for more
+ * information., a string; default \c none.}
+ * @config{ignore_in_memory_cache_size, allow update and insert operations to proceed even
+ * if the cache is already at capacity. Only valid in conjunction with in-memory databases.
+ * Should be used with caution - this configuration allows WiredTiger to consume memory over
* the configured cache limit., a boolean flag; default \c false.}
- * @config{immutable, configure the index to be immutable - that is an
- * index is not changed by any update to a record in the table., a
- * boolean flag; default \c false.}
- * @config{internal_key_max, the largest key stored in an internal
- * node\, in bytes. If set\, keys larger than the specified size are
- * stored as overflow items (which may require additional I/O to
- * access). The default and the maximum allowed value are both one-tenth
- * the size of a newly split internal page., an integer greater than or
- * equal to 0; default \c 0.}
- * @config{internal_key_truncate, configure internal key truncation\,
- * discarding unnecessary trailing bytes on internal keys (ignored for
- * custom collators)., a boolean flag; default \c true.}
- * @config{internal_page_max, the maximum page size for internal nodes\,
- * in bytes; the size must be a multiple of the allocation size and is
- * significant for applications wanting to avoid excessive L2 cache
- * misses while searching the tree. The page maximum is the bytes of
- * uncompressed data\, that is\, the limit is applied before any block
- * compression is done., an integer between 512B and 512MB; default \c
- * 4KB.}
- * @config{key_format, the format of the data packed into key items.
- * See @ref schema_format_types for details. By default\, the
- * key_format is \c 'u' and applications use WT_ITEM structures to
- * manipulate raw byte arrays. By default\, records are stored in
- * row-store files: keys of type \c 'r' are record numbers and records
- * referenced by record number are stored in column-store files., a
- * format string; default \c u.}
- * @config{leaf_key_max, the largest key stored in a leaf node\, in
- * bytes. If set\, keys larger than the specified size are stored as
- * overflow items (which may require additional I/O to access). The
- * default value is one-tenth the size of a newly split leaf page., an
+ * @config{immutable, configure the index to be immutable - that is an index is not changed
+ * by any update to a record in the table., a boolean flag; default \c false.}
+ * @config{internal_key_max, the largest key stored in an internal node\, in bytes. If
+ * set\, keys larger than the specified size are stored as overflow items (which may require
+ * additional I/O to access). The default and the maximum allowed value are both one-tenth
+ * the size of a newly split internal page., an integer greater than or equal to 0; default
+ * \c 0.}
+ * @config{internal_key_truncate, configure internal key truncation\, discarding unnecessary
+ * trailing bytes on internal keys (ignored for custom collators)., a boolean flag; default
+ * \c true.}
+ * @config{internal_page_max, the maximum page size for internal nodes\, in bytes; the size
+ * must be a multiple of the allocation size and is significant for applications wanting to
+ * avoid excessive L2 cache misses while searching the tree. The page maximum is the bytes
+ * of uncompressed data\, that is\, the limit is applied before any block compression is
+ * done., an integer between 512B and 512MB; default \c 4KB.}
+ * @config{key_format, the format of the data packed into key items. See @ref
+ * schema_format_types for details. By default\, the key_format is \c 'u' and applications
+ * use WT_ITEM structures to manipulate raw byte arrays. By default\, records are stored in
+ * row-store files: keys of type \c 'r' are record numbers and records referenced by record
+ * number are stored in column-store files., a format string; default \c u.}
+ * @config{leaf_key_max, the largest key stored in a leaf node\, in bytes. If set\, keys
+ * larger than the specified size are stored as overflow items (which may require additional
+ * I/O to access). The default value is one-tenth the size of a newly split leaf page., an
* integer greater than or equal to 0; default \c 0.}
- * @config{leaf_page_max, the maximum page size for leaf nodes\, in
- * bytes; the size must be a multiple of the allocation size\, and is
- * significant for applications wanting to maximize sequential data
- * transfer from a storage device. The page maximum is the bytes of
- * uncompressed data\, that is\, the limit is applied before any block
- * compression is done., an integer between 512B and 512MB; default \c
- * 32KB.}
- * @config{leaf_value_max, the largest value stored in a leaf node\, in
- * bytes. If set\, values larger than the specified size are stored as
- * overflow items (which may require additional I/O to access). If the
- * size is larger than the maximum leaf page size\, the page size is
- * temporarily ignored when large values are written. The default is
- * one-half the size of a newly split leaf page., an integer greater
- * than or equal to 0; default \c 0.}
- * @config{log = (, the transaction log configuration for this object.
- * Only valid if log is enabled in ::wiredtiger_open., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, if false\, this object has
- * checkpoint-level durability., a boolean flag; default \c true.}
+ * @config{leaf_page_max, the maximum page size for leaf nodes\, in bytes; the size must be
+ * a multiple of the allocation size\, and is significant for applications wanting to
+ * maximize sequential data transfer from a storage device. The page maximum is the bytes
+ * of uncompressed data\, that is\, the limit is applied before any block compression is
+ * done., an integer between 512B and 512MB; default \c 32KB.}
+ * @config{leaf_value_max, the largest value stored in a leaf node\, in bytes. If set\,
+ * values larger than the specified size are stored as overflow items (which may require
+ * additional I/O to access). If the size is larger than the maximum leaf page size\, the
+ * page size is temporarily ignored when large values are written. The default is one-half
+ * the size of a newly split leaf page., an integer greater than or equal to 0; default \c
+ * 0.}
+ * @config{log = (, the transaction log configuration for this object. Only valid if log is
+ * enabled in ::wiredtiger_open., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, if false\, this object has checkpoint-level
+ * durability., a boolean flag; default \c true.}
* @config{ ),,}
- * @config{lsm = (, options only relevant for LSM data sources., a set
- * of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;auto_throttle, Throttle inserts into
- * LSM trees if flushing to disk isn't keeping up., a boolean flag;
- * default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom, create bloom
- * filters on LSM tree chunks as they are merged., a boolean flag;
+ * @config{lsm = (, options only relevant for LSM data sources., a set of related
+ * configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;auto_throttle,
+ * Throttle inserts into LSM trees if flushing to disk isn't keeping up., a boolean flag;
* default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_bit_count,
- * the number of bits used per item for LSM bloom filters., an integer
- * between 2 and 1000; default \c 16.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * bloom_config, config string used when creating Bloom filter files\,
- * passed to WT_SESSION::create., a string; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_hash_count, the number of hash
- * values per item used for LSM bloom filters., an integer between 2 and
- * 100; default \c 8.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_oldest,
- * create a bloom filter on the oldest LSM tree chunk. Only supported
- * if bloom filters are enabled., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_count_limit, the maximum number
- * of chunks to allow in an LSM tree. This option automatically times
- * out old data. As new chunks are added old chunks will be removed.
- * Enabling this option disables LSM background merges., an integer;
- * default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_max, the maximum
- * size a single chunk can be. Chunks larger than this size are not
- * considered for further merges. This is a soft limit\, and chunks
- * larger than this value can be created. Must be larger than
- * chunk_size., an integer between 100MB and 10TB; default \c 5GB.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_size, the maximum size of the
- * in-memory chunk of an LSM tree. This limit is soft - it is possible
- * for chunks to be temporarily larger than this value. This overrides
- * the \c memory_page_max setting., an integer between 512K and 500MB;
- * default \c 10MB.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge_custom = (,
- * configure the tree to merge into a custom data source., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix,
- * custom data source prefix instead of \c "file"., a string; default
- * empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- * start_generation, merge generation at which the custom data source is
- * used (zero indicates no custom data source)., an integer between 0
- * and 10; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suffix,
- * custom data source suffix instead of \c ".lsm"., a string; default
- * empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom, create bloom filters on LSM tree
+ * chunks as they are merged., a boolean flag; default \c true.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_bit_count, the number of bits used per item for LSM
+ * bloom filters., an integer between 2 and 1000; default \c 16.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_config, config string used when creating Bloom
+ * filter files\, passed to WT_SESSION::create., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_hash_count, the number of hash values per item used
+ * for LSM bloom filters., an integer between 2 and 100; default \c 8.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;bloom_oldest, create a bloom filter on the oldest LSM
+ * tree chunk. Only supported if bloom filters are enabled., a boolean flag; default \c
+ * false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_count_limit, the maximum number of chunks
+ * to allow in an LSM tree. This option automatically times out old data. As new chunks
+ * are added old chunks will be removed. Enabling this option disables LSM background
+ * merges., an integer; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_max, the
+ * maximum size a single chunk can be. Chunks larger than this size are not considered for
+ * further merges. This is a soft limit\, and chunks larger than this value can be created.
+ * Must be larger than chunk_size., an integer between 100MB and 10TB; default \c 5GB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk_size, the maximum size of the in-memory chunk of an
+ * LSM tree. This limit is soft - it is possible for chunks to be temporarily larger than
+ * this value. This overrides the \c memory_page_max setting., an integer between 512K and
+ * 500MB; default \c 10MB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge_custom = (, configure the
+ * tree to merge into a custom data source., a set of related configuration options defined
+ * below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix, custom data
+ * source prefix instead of \c "file"., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start_generation, merge
+ * generation at which the custom data source is used (zero indicates no custom data
+ * source)., an integer between 0 and 10; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suffix, custom data source suffix
+ * instead of \c ".lsm"., a string; default empty.}
* @config{ ),,}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge_max, the
- * maximum number of chunks to include in a merge operation., an integer
- * between 2 and 100; default \c 15.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * merge_min, the minimum number of chunks to include in a merge
- * operation. If set to 0 or 1 half the value of merge_max is used., an
- * integer no more than 100; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge_max, the maximum number of chunks to include in a
+ * merge operation., an integer between 2 and 100; default \c 15.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge_min, the minimum number of chunks to include in a
+ * merge operation. If set to 0 or 1 half the value of merge_max is used., an integer no
+ * more than 100; default \c 0.}
* @config{ ),,}
- * @config{memory_page_image_max, the maximum in-memory page image
- * represented by a single storage block. Depending on compression
- * efficiency\, compression can create storage blocks which require
- * significant resources to re-instantiate in the cache\, penalizing the
- * performance of future point updates. The value limits the maximum
- * in-memory page image a storage block will need. If set to 0\, a
- * default of 4 times \c leaf_page_max is used., an integer greater than
- * or equal to 0; default \c 0.}
- * @config{memory_page_max, the maximum size a page can grow to in
- * memory before being reconciled to disk. The specified size will be
- * adjusted to a lower bound of <code>leaf_page_max</code>\, and an
- * upper bound of <code>cache_size / 10</code>. This limit is soft - it
- * is possible for pages to be temporarily larger than this value. This
- * setting is ignored for LSM trees\, see \c chunk_size., an integer
- * between 512B and 10TB; default \c 5MB.}
- * @config{os_cache_dirty_max, maximum dirty system buffer cache usage\,
- * in bytes. If non-zero\, schedule writes for dirty blocks belonging
- * to this object in the system buffer cache after that many bytes from
- * this object are written into the buffer cache., an integer greater
- * than or equal to 0; default \c 0.}
- * @config{os_cache_max, maximum system buffer cache usage\, in bytes.
- * If non-zero\, evict object blocks from the system buffer cache after
- * that many bytes from this object are read or written into the buffer
- * cache., an integer greater than or equal to 0; default \c 0.}
- * @config{prefix_compression, configure prefix compression on row-store
- * leaf pages., a boolean flag; default \c false.}
- * @config{prefix_compression_min, minimum gain before prefix
- * compression will be used on row-store leaf pages., an integer greater
- * than or equal to 0; default \c 4.}
- * @config{split_pct, the Btree page split size as a percentage of the
- * maximum Btree page size\, that is\, when a Btree page is split\, it
- * will be split into smaller pages\, where each page is the specified
- * percentage of the maximum Btree page size., an integer between 50 and
- * 100; default \c 90.}
- * @config{type, set the type of data source used to store a column
- * group\, index or simple table. By default\, a \c "file:" URI is
- * derived from the object name. The \c type configuration can be used
- * to switch to a different data source\, such as LSM or an extension
- * configured by the application., a string; default \c file.}
- * @config{value_format, the format of the data packed into value items.
- * See @ref schema_format_types for details. By default\, the
- * value_format is \c 'u' and applications use a WT_ITEM structure to
- * manipulate raw byte arrays. Value items of type 't' are bitfields\,
- * and when configured with record number type keys\, will be stored
+ * @config{memory_page_image_max, the maximum in-memory page image represented by a single
+ * storage block. Depending on compression efficiency\, compression can create storage
+ * blocks which require significant resources to re-instantiate in the cache\, penalizing
+ * the performance of future point updates. The value limits the maximum in-memory page
+ * image a storage block will need. If set to 0\, a default of 4 times \c leaf_page_max is
+ * used., an integer greater than or equal to 0; default \c 0.}
+ * @config{memory_page_max, the maximum size a page can grow to in memory before being
+ * reconciled to disk. The specified size will be adjusted to a lower bound of
+ * <code>leaf_page_max</code>\, and an upper bound of <code>cache_size / 10</code>. This
+ * limit is soft - it is possible for pages to be temporarily larger than this value. This
+ * setting is ignored for LSM trees\, see \c chunk_size., an integer between 512B and 10TB;
+ * default \c 5MB.}
+ * @config{os_cache_dirty_max, maximum dirty system buffer cache usage\, in bytes. If
+ * non-zero\, schedule writes for dirty blocks belonging to this object in the system buffer
+ * cache after that many bytes from this object are written into the buffer cache., an
+ * integer greater than or equal to 0; default \c 0.}
+ * @config{os_cache_max, maximum system buffer cache usage\, in bytes. If non-zero\, evict
+ * object blocks from the system buffer cache after that many bytes from this object are
+ * read or written into the buffer cache., an integer greater than or equal to 0; default \c
+ * 0.}
+ * @config{prefix_compression, configure prefix compression on row-store leaf pages., a
+ * boolean flag; default \c false.}
+ * @config{prefix_compression_min, minimum gain before prefix compression will be used on
+ * row-store leaf pages., an integer greater than or equal to 0; default \c 4.}
+ * @config{split_pct, the Btree page split size as a percentage of the maximum Btree page
+ * size\, that is\, when a Btree page is split\, it will be split into smaller pages\, where
+ * each page is the specified percentage of the maximum Btree page size., an integer between
+ * 50 and 100; default \c 90.}
+ * @config{type, set the type of data source used to store a column group\, index or simple
+ * table. By default\, a \c "file:" URI is derived from the object name. The \c type
+ * configuration can be used to switch to a different data source\, such as LSM or an
+ * extension configured by the application., a string; default \c file.}
+ * @config{value_format, the format of the data packed into value items. See @ref
+ * schema_format_types for details. By default\, the value_format is \c 'u' and
+ * applications use a WT_ITEM structure to manipulate raw byte arrays. Value items of type
+ * 't' are bitfields\, and when configured with record number type keys\, will be stored
* using a fixed-length store., a format string; default \c u.}
* @configend
* @errors
@@ -1474,10 +1399,9 @@ struct __wt_session {
* @param name the URI of the object to compact, such as
* \c "table:stock"
* @configstart{WT_SESSION.compact, see dist/api_data.py}
- * @config{timeout, maximum amount of time to allow for compact in
- * seconds. The actual amount of time spent in compact may exceed the
- * configured value. A value of zero disables the timeout., an integer;
- * default \c 1200.}
+ * @config{timeout, maximum amount of time to allow for compact in seconds. The actual
+ * amount of time spent in compact may exceed the configured value. A value of zero
+ * disables the timeout., an integer; default \c 1200.}
* @configend
* @errors
*/
@@ -1496,10 +1420,10 @@ struct __wt_session {
* @param session the session handle
* @param name the URI of the object to drop, such as \c "table:stock"
* @configstart{WT_SESSION.drop, see dist/api_data.py}
- * @config{force, return success if the object does not exist., a
- * boolean flag; default \c false.}
- * @config{remove_files, if the underlying files should be removed., a
- * boolean flag; default \c true.}
+ * @config{force, return success if the object does not exist., a boolean flag; default \c
+ * false.}
+ * @config{remove_files, if the underlying files should be removed., a boolean flag; default
+ * \c true.}
* @configend
* @ebusy_errors
*/
@@ -1539,35 +1463,28 @@ struct __wt_session {
* finished with it, although not before the join_cursor is closed.
*
* @configstart{WT_SESSION.join, see dist/api_data.py}
- * @config{bloom_bit_count, the number of bits used per item for the
- * bloom filter., an integer between 2 and 1000; default \c 16.}
- * @config{bloom_false_positives, return all values that pass the bloom
- * filter\, without eliminating any false positives., a boolean flag;
- * default \c false.}
- * @config{bloom_hash_count, the number of hash values per item for the
- * bloom filter., an integer between 2 and 100; default \c 8.}
- * @config{compare, modifies the set of items to be returned so that the
- * index key satisfies the given comparison relative to the key set in
- * this cursor., a string\, chosen from the following options: \c "eq"\,
- * \c "ge"\, \c "gt"\, \c "le"\, \c "lt"; default \c "eq".}
- * @config{count, set an approximate count of the elements that would be
- * included in the join. This is used in sizing the bloom filter\, and
- * also influences evaluation order for cursors in the join. When the
- * count is equal for multiple bloom filters in a composition of joins\,
- * the bloom filter may be shared., an integer; default \c .}
- * @config{operation, the operation applied between this and other
- * joined cursors. When "operation=and" is specified\, all the
- * conditions implied by joins must be satisfied for an entry to be
- * returned by the join cursor; when "operation=or" is specified\, only
- * one must be satisfied. All cursors joined to a join cursor must have
- * matching operations., a string\, chosen from the following options:
- * \c "and"\, \c "or"; default \c "and".}
- * @config{strategy, when set to bloom\, a bloom filter is created and
- * populated for this index. This has an up front cost but may reduce
- * the number of accesses to the main table when iterating the joined
- * cursor. The bloom setting requires that count be set., a string\,
- * chosen from the following options: \c "bloom"\, \c "default"; default
- * empty.}
+ * @config{bloom_bit_count, the number of bits used per item for the bloom filter., an
+ * integer between 2 and 1000; default \c 16.}
+ * @config{bloom_false_positives, return all values that pass the bloom filter\, without
+ * eliminating any false positives., a boolean flag; default \c false.}
+ * @config{bloom_hash_count, the number of hash values per item for the bloom filter., an
+ * integer between 2 and 100; default \c 8.}
+ * @config{compare, modifies the set of items to be returned so that the index key satisfies
+ * the given comparison relative to the key set in this cursor., a string\, chosen from the
+ * following options: \c "eq"\, \c "ge"\, \c "gt"\, \c "le"\, \c "lt"; default \c "eq".}
+ * @config{count, set an approximate count of the elements that would be included in the
+ * join. This is used in sizing the bloom filter\, and also influences evaluation order for
+ * cursors in the join. When the count is equal for multiple bloom filters in a composition
+ * of joins\, the bloom filter may be shared., an integer; default \c .}
+ * @config{operation, the operation applied between this and other joined cursors. When
+ * "operation=and" is specified\, all the conditions implied by joins must be satisfied for
+ * an entry to be returned by the join cursor; when "operation=or" is specified\, only one
+ * must be satisfied. All cursors joined to a join cursor must have matching operations., a
+ * string\, chosen from the following options: \c "and"\, \c "or"; default \c "and".}
+ * @config{strategy, when set to bloom\, a bloom filter is created and populated for this
+ * index. This has an up front cost but may reduce the number of accesses to the main table
+ * when iterating the joined cursor. The bloom setting requires that count be set., a
+ * string\, chosen from the following options: \c "bloom"\, \c "default"; default empty.}
* @configend
* @errors
*/
@@ -1579,14 +1496,12 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.log_flush, see dist/api_data.py}
- * @config{sync, forcibly flush the log and wait for it to achieve the
- * synchronization level specified. The \c background setting initiates
- * a background synchronization intended to be used with a later call to
- * WT_SESSION::transaction_sync. The \c off setting forces any buffered
- * log records to be written to the file system. The \c on setting
- * forces log records to be written to the storage device., a string\,
- * chosen from the following options: \c "background"\, \c "off"\, \c
- * "on"; default \c on.}
+ * @config{sync, forcibly flush the log and wait for it to achieve the synchronization level
+ * specified. The \c background setting initiates a background synchronization intended to
+ * be used with a later call to WT_SESSION::transaction_sync. The \c off setting forces any
+ * buffered log records to be written to the file system. The \c on setting forces log
+ * records to be written to the storage device., a string\, chosen from the following
+ * options: \c "background"\, \c "off"\, \c "on"; default \c on.}
* @configend
* @errors
*/
@@ -1673,8 +1588,8 @@ struct __wt_session {
* @param session the session handle
* @param name the URI of the table or file to salvage
* @configstart{WT_SESSION.salvage, see dist/api_data.py}
- * @config{force, force salvage even of files that do not appear to be
- * WiredTiger files., a boolean flag; default \c false.}
+ * @config{force, force salvage even of files that do not appear to be WiredTiger files., a
+ * boolean flag; default \c false.}
* @configend
* @ebusy_errors
*/
@@ -1752,26 +1667,24 @@ struct __wt_session {
* @param session the session handle
* @param name the URI of the table or file to verify
* @configstart{WT_SESSION.verify, see dist/api_data.py}
- * @config{dump_address, Display addresses and page types as pages are
- * verified\, using the application's message handler\, intended for
- * debugging., a boolean flag; default \c false.}
- * @config{dump_blocks, Display the contents of on-disk blocks as they
- * are verified\, using the application's message handler\, intended for
- * debugging., a boolean flag; default \c false.}
- * @config{dump_layout, Display the layout of the files as they are
- * verified\, using the application's message handler\, intended for
- * debugging; requires optional support from the block manager., a
- * boolean flag; default \c false.}
- * @config{dump_offsets, Display the contents of specific on-disk
- * blocks\, using the application's message handler\, intended for
- * debugging., a list of strings; default empty.}
- * @config{dump_pages, Display the contents of in-memory pages as they
- * are verified\, using the application's message handler\, intended for
- * debugging., a boolean flag; default \c false.}
- * @config{strict, Treat any verification problem as an error; by
- * default\, verify will warn\, but not fail\, in the case of errors
- * that won't affect future behavior (for example\, a leaked block)., a
- * boolean flag; default \c false.}
+ * @config{dump_address, Display addresses and page types as pages are verified\, using the
+ * application's message handler\, intended for debugging., a boolean flag; default \c
+ * false.}
+ * @config{dump_blocks, Display the contents of on-disk blocks as they are verified\, using
+ * the application's message handler\, intended for debugging., a boolean flag; default \c
+ * false.}
+ * @config{dump_layout, Display the layout of the files as they are verified\, using the
+ * application's message handler\, intended for debugging; requires optional support from
+ * the block manager., a boolean flag; default \c false.}
+ * @config{dump_offsets, Display the contents of specific on-disk blocks\, using the
+ * application's message handler\, intended for debugging., a list of strings; default
+ * empty.}
+ * @config{dump_pages, Display the contents of in-memory pages as they are verified\, using
+ * the application's message handler\, intended for debugging., a boolean flag; default \c
+ * false.}
+ * @config{strict, Treat any verification problem as an error; by default\, verify will
+ * warn\, but not fail\, in the case of errors that won't affect future behavior (for
+ * example\, a leaked block)., a boolean flag; default \c false.}
* @configend
* @ebusy_errors
*/
@@ -1799,48 +1712,40 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.begin_transaction, see dist/api_data.py}
- * @config{ignore_prepare, whether to ignore the updates by other
- * prepared transactions as part of read operations of this transaction.
- * When \c true\, forces the transaction to be read-only. Use \c force
- * to ignore prepared updates and permit writes (which can cause lost
- * updates unless the application knows something about the relationship
- * between prepared transactions and the updates that are ignoring
- * them)., a string\, chosen from the following options: \c "false"\, \c
- * "force"\, \c "true"; default \c false.}
- * @config{isolation, the isolation level for this transaction; defaults
- * to the session's isolation level., a string\, chosen from the
- * following options: \c "read-uncommitted"\, \c "read-committed"\, \c
- * "snapshot"; default empty.}
- * @config{name, name of the transaction for tracing and debugging., a
- * string; default empty.}
- * @config{priority, priority of the transaction for resolving
- * conflicts. Transactions with higher values are less likely to
- * abort., an integer between -100 and 100; default \c 0.}
- * @config{read_timestamp, read using the specified timestamp. The
- * supplied value must not be older than the current oldest timestamp.
- * See @ref transaction_timestamps., a string; default empty.}
- * @config{roundup_timestamps = (, round up timestamps of the
- * transaction. This setting alters the visibility expected in a
- * transaction. See @ref transaction_timestamps., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;prepared, applicable only for
- * prepared transactions. Indicates if the prepare timestamp and the
- * commit timestamp of this transaction can be rounded up. If the
- * prepare timestamp is less than the oldest timestamp\, the prepare
- * timestamp will be rounded to the oldest timestamp. If the commit
- * timestamp is less than the prepare timestamp\, the commit timestamp
- * will be rounded up to the prepare timestamp., a boolean flag; default
- * \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;read, if the read
- * timestamp is less than the oldest timestamp\, the read timestamp will
- * be rounded up to the oldest timestamp., a boolean flag; default \c
+ * @config{ignore_prepare, whether to ignore the updates by other prepared transactions as
+ * part of read operations of this transaction. When \c true\, forces the transaction to be
+ * read-only. Use \c force to ignore prepared updates and permit writes (which can cause
+ * lost updates unless the application knows something about the relationship between
+ * prepared transactions and the updates that are ignoring them)., a string\, chosen from
+ * the following options: \c "false"\, \c "force"\, \c "true"; default \c false.}
+ * @config{isolation, the isolation level for this transaction; defaults to the session's
+ * isolation level., a string\, chosen from the following options: \c "read-uncommitted"\,
+ * \c "read-committed"\, \c "snapshot"; default empty.}
+ * @config{name, name of the transaction for tracing and debugging., a string; default
+ * empty.}
+ * @config{priority, priority of the transaction for resolving conflicts. Transactions with
+ * higher values are less likely to abort., an integer between -100 and 100; default \c 0.}
+ * @config{read_timestamp, read using the specified timestamp. The supplied value must not
+ * be older than the current oldest timestamp. See @ref transaction_timestamps., a string;
+ * default empty.}
+ * @config{roundup_timestamps = (, round up timestamps of the transaction. This setting
+ * alters the visibility expected in a transaction. See @ref transaction_timestamps., a set
+ * of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * prepared, applicable only for prepared transactions. Indicates if the prepare timestamp
+ * and the commit timestamp of this transaction can be rounded up. If the prepare timestamp
+ * is less than the oldest timestamp\, the prepare timestamp will be rounded to the oldest
+ * timestamp. If the commit timestamp is less than the prepare timestamp\, the commit
+ * timestamp will be rounded up to the prepare timestamp., a boolean flag; default \c
* false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;read, if the read timestamp is less than the
+ * oldest timestamp\, the read timestamp will be rounded up to the oldest timestamp., a
+ * boolean flag; default \c false.}
* @config{ ),,}
* @config{snapshot, use a named\, in-memory snapshot\, see @ref
* transaction_named_snapshots., a string; default empty.}
- * @config{sync, whether to sync log records when the transaction
- * commits\, inherited from ::wiredtiger_open \c transaction_sync., a
- * boolean flag; default empty.}
+ * @config{sync, whether to sync log records when the transaction commits\, inherited from
+ * ::wiredtiger_open \c transaction_sync., a boolean flag; default empty.}
* @configend
* @errors
*/
@@ -1860,25 +1765,21 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.commit_transaction, see dist/api_data.py}
- * @config{commit_timestamp, set the commit timestamp for the current
- * transaction. The supplied value must not be older than the first
- * commit timestamp set for the current transaction. The value must
- * also not be older than the current oldest and stable timestamps. See
+ * @config{commit_timestamp, set the commit timestamp for the current transaction. The
+ * supplied value must not be older than the first commit timestamp set for the current
+ * transaction. The value must also not be older than the current oldest and stable
+ * timestamps. See @ref transaction_timestamps., a string; default empty.}
+ * @config{durable_timestamp, set the durable timestamp for the current transaction. The
+ * supplied value must not be older than the commit timestamp set for the current
+ * transaction. The value must also not be older than the current stable timestamp. See
* @ref transaction_timestamps., a string; default empty.}
- * @config{durable_timestamp, set the durable timestamp for the current
- * transaction. The supplied value must not be older than the commit
- * timestamp set for the current transaction. The value must also not
- * be older than the current stable timestamp. See @ref
- * transaction_timestamps., a string; default empty.}
- * @config{sync, override whether to sync log records when the
- * transaction commits\, inherited from ::wiredtiger_open \c
- * transaction_sync. The \c background setting initiates a background
- * synchronization intended to be used with a later call to
- * WT_SESSION::transaction_sync. The \c off setting does not wait for
- * record to be written or synchronized. The \c on setting forces log
- * records to be written to the storage device., a string\, chosen from
- * the following options: \c "background"\, \c "off"\, \c "on"; default
- * empty.}
+ * @config{sync, override whether to sync log records when the transaction commits\,
+ * inherited from ::wiredtiger_open \c transaction_sync. The \c background setting
+ * initiates a background synchronization intended to be used with a later call to
+ * WT_SESSION::transaction_sync. The \c off setting does not wait for record to be written
+ * or synchronized. The \c on setting forces log records to be written to the storage
+ * device., a string\, chosen from the following options: \c "background"\, \c "off"\, \c
+ * "on"; default empty.}
* @configend
* @errors
*/
@@ -1901,10 +1802,9 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.prepare_transaction, see dist/api_data.py}
- * @config{prepare_timestamp, set the prepare timestamp for the updates
- * of the current transaction. The supplied value must not be older
- * than any active read timestamps. See @ref transaction_timestamps., a
- * string; default empty.}
+ * @config{prepare_timestamp, set the prepare timestamp for the updates of the current
+ * transaction. The supplied value must not be older than any active read timestamps. See
+ * @ref transaction_timestamps., a string; default empty.}
* @configend
* @errors
*/
@@ -1936,24 +1836,20 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.timestamp_transaction, see dist/api_data.py}
- * @config{commit_timestamp, set the commit timestamp for the current
- * transaction. The supplied value must not be older than the first
- * commit timestamp set for the current transaction. The value must
- * also not be older than the current oldest and stable timestamps. See
+ * @config{commit_timestamp, set the commit timestamp for the current transaction. The
+ * supplied value must not be older than the first commit timestamp set for the current
+ * transaction. The value must also not be older than the current oldest and stable
+ * timestamps. See @ref transaction_timestamps., a string; default empty.}
+ * @config{durable_timestamp, set the durable timestamp for the current transaction. The
+ * supplied value must not be older than the commit timestamp set for the current
+ * transaction. The value must also not be older than the current stable timestamp. See
* @ref transaction_timestamps., a string; default empty.}
- * @config{durable_timestamp, set the durable timestamp for the current
- * transaction. The supplied value must not be older than the commit
- * timestamp set for the current transaction. The value must also not
- * be older than the current stable timestamp. See @ref
- * transaction_timestamps., a string; default empty.}
- * @config{prepare_timestamp, set the prepare timestamp for the updates
- * of the current transaction. The supplied value must not be older
- * than any active read timestamps. See @ref transaction_timestamps., a
- * string; default empty.}
- * @config{read_timestamp, read using the specified timestamp. The
- * supplied value must not be older than the current oldest timestamp.
- * This can only be set once for a transaction. See @ref
- * transaction_timestamps., a string; default empty.}
+ * @config{prepare_timestamp, set the prepare timestamp for the updates of the current
+ * transaction. The supplied value must not be older than any active read timestamps. See
+ * @ref transaction_timestamps., a string; default empty.}
+ * @config{read_timestamp, read using the specified timestamp. The supplied value must not
+ * be older than the current oldest timestamp. This can only be set once for a transaction.
+ * See @ref transaction_timestamps., a string; default empty.}
* @configend
* @errors
*/
@@ -1967,13 +1863,12 @@ struct __wt_session {
* hexadecimal encoding of the timestamp being queried. Must be large
* enough to hold a NUL terminated, hex-encoded 8B timestamp (17 bytes).
* @configstart{WT_SESSION.query_timestamp, see dist/api_data.py}
- * @config{get, specify which timestamp to query: \c commit returns the
- * most recently set commit_timestamp. \c first_commit returns the
- * first set commit_timestamp. \c prepare returns the timestamp used in
- * preparing a transaction. \c read returns the timestamp at which the
- * transaction is reading at. See @ref transaction_timestamps., a
- * string\, chosen from the following options: \c "commit"\, \c
- * "first_commit"\, \c "prepare"\, \c "read"; default \c read.}
+ * @config{get, specify which timestamp to query: \c commit returns the most recently set
+ * commit_timestamp. \c first_commit returns the first set commit_timestamp. \c prepare
+ * returns the timestamp used in preparing a transaction. \c read returns the timestamp at
+ * which the transaction is reading at. See @ref transaction_timestamps., a string\, chosen
+ * from the following options: \c "commit"\, \c "first_commit"\, \c "prepare"\, \c "read";
+ * default \c read.}
* @configend
* @errors
* If the session is not in a transaction ::WT_NOTFOUND will be
@@ -2005,25 +1900,21 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.checkpoint, see dist/api_data.py}
- * @config{drop, specify a list of checkpoints to drop. The list may
- * additionally contain one of the following keys: \c "from=all" to drop
- * all checkpoints\, \c "from=<checkpoint>" to drop all checkpoints
- * after and including the named checkpoint\, or \c "to=<checkpoint>" to
- * drop all checkpoints before and including the named checkpoint.
- * Checkpoints cannot be dropped while a hot backup is in progress or if
- * open in a cursor., a list of strings; default empty.}
- * @config{force, by default\, checkpoints may be skipped if the
- * underlying object has not been modified\, this option forces the
- * checkpoint., a boolean flag; default \c false.}
- * @config{name, if set\, specify a name for the checkpoint (note that
- * checkpoints including LSM trees may not be named)., a string; default
- * empty.}
- * @config{target, if non-empty\, checkpoint the list of objects., a
- * list of strings; default empty.}
- * @config{use_timestamp, by default\, create the checkpoint as of the
- * last stable timestamp if timestamps are in use\, or all current
- * updates if there is no stable timestamp set. If false\, this option
- * generates a checkpoint with all updates including those later than
+ * @config{drop, specify a list of checkpoints to drop. The list may additionally contain
+ * one of the following keys: \c "from=all" to drop all checkpoints\, \c "from=<checkpoint>"
+ * to drop all checkpoints after and including the named checkpoint\, or \c
+ * "to=<checkpoint>" to drop all checkpoints before and including the named checkpoint.
+ * Checkpoints cannot be dropped while a hot backup is in progress or if open in a cursor.,
+ * a list of strings; default empty.}
+ * @config{force, by default\, checkpoints may be skipped if the underlying object has not
+ * been modified\, this option forces the checkpoint., a boolean flag; default \c false.}
+ * @config{name, if set\, specify a name for the checkpoint (note that checkpoints including
+ * LSM trees may not be named)., a string; default empty.}
+ * @config{target, if non-empty\, checkpoint the list of objects., a list of strings;
+ * default empty.}
+ * @config{use_timestamp, by default\, create the checkpoint as of the last stable timestamp
+ * if timestamps are in use\, or all current updates if there is no stable timestamp set.
+ * If false\, this option generates a checkpoint with all updates including those later than
* the timestamp., a boolean flag; default \c true.}
* @configend
* @errors
@@ -2039,28 +1930,22 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.snapshot, see dist/api_data.py}
- * @config{drop = (, if non-empty\, specifies which snapshots to drop.
- * Where a group of snapshots are being dropped\, the order is based on
- * snapshot creation order not alphanumeric name order., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;all, drop all named snapshots., a
- * boolean flag; default \c false.}
+ * @config{drop = (, if non-empty\, specifies which snapshots to drop. Where a group of
+ * snapshots are being dropped\, the order is based on snapshot creation order not
+ * alphanumeric name order., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;all, drop all named snapshots., a boolean flag; default
+ * \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;before, drop all snapshots up to but not
+ * including the specified name., a string; default empty.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * before, drop all snapshots up to but not including the specified
+ * names, drop specific named snapshots., a list of strings; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;to, drop all snapshots up to and including the specified
* name., a string; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * names, drop specific named snapshots., a list of strings; default
- * empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;to, drop all snapshots up to
- * and including the specified name., a string; default empty.}
- * @config{
- * ),,}
- * @config{include_updates, make updates from the current transaction
- * visible to users of the named snapshot. Transactions started with
- * such a named snapshot are restricted to being read-only., a boolean
- * flag; default \c false.}
- * @config{name, specify a name for the snapshot., a string; default
- * empty.}
+ * @config{ ),,}
+ * @config{include_updates, make updates from the current transaction visible to users of
+ * the named snapshot. Transactions started with such a named snapshot are restricted to
+ * being read-only., a boolean flag; default \c false.}
+ * @config{name, specify a name for the snapshot., a string; default empty.}
* @configend
* @errors
*/
@@ -2093,9 +1978,9 @@ struct __wt_session {
*
* @param session the session handle
* @configstart{WT_SESSION.transaction_sync, see dist/api_data.py}
- * @config{timeout_ms, maximum amount of time to wait for background
- * sync to complete in milliseconds. A value of zero disables the
- * timeout and returns immediately., an integer; default \c 1200000.}
+ * @config{timeout_ms, maximum amount of time to wait for background sync to complete in
+ * milliseconds. A value of zero disables the timeout and returns immediately., an integer;
+ * default \c 1200000.}
* @configend
* @errors
*/
@@ -2152,22 +2037,18 @@ struct __wt_connection {
* @param connection the connection handle
* @param uri the connection handle
* @configstart{WT_CONNECTION.async_new_op, see dist/api_data.py}
- * @config{append, append the value as a new record\, creating a new
- * record number key; valid only for operations with record number
- * keys., a boolean flag; default \c false.}
- * @config{overwrite, configures whether the cursor's insert\, update
- * and remove methods check the existing state of the record. If \c
- * overwrite is \c false\, WT_CURSOR::insert fails with
- * ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
- * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not
- * exist., a boolean flag; default \c true.}
- * @config{raw, ignore the encodings for the key and value\, manage data
- * as if the formats were \c "u". See @ref cursor_raw for details., a
- * boolean flag; default \c false.}
- * @config{timeout, maximum amount of time to allow for compact in
- * seconds. The actual amount of time spent in compact may exceed the
- * configured value. A value of zero disables the timeout., an integer;
- * default \c 1200.}
+ * @config{append, append the value as a new record\, creating a new record number key;
+ * valid only for operations with record number keys., a boolean flag; default \c false.}
+ * @config{overwrite, configures whether the cursor's insert\, update and remove methods
+ * check the existing state of the record. If \c overwrite is \c false\, WT_CURSOR::insert
+ * fails with ::WT_DUPLICATE_KEY if the record exists\, WT_CURSOR::update and
+ * WT_CURSOR::remove fail with ::WT_NOTFOUND if the record does not exist., a boolean flag;
+ * default \c true.}
+ * @config{raw, ignore the encodings for the key and value\, manage data as if the formats
+ * were \c "u". See @ref cursor_raw for details., a boolean flag; default \c false.}
+ * @config{timeout, maximum amount of time to allow for compact in seconds. The actual
+ * amount of time spent in compact may exceed the configured value. A value of zero
+ * disables the timeout., an integer; default \c 1200.}
* @configend
* @param callback the operation callback
* @param[out] asyncopp the new op handle
@@ -2191,13 +2072,11 @@ struct __wt_connection {
*
* @param connection the connection handle
* @configstart{WT_CONNECTION.close, see dist/api_data.py}
- * @config{leak_memory, don't free memory during close., a boolean flag;
- * default \c false.}
- * @config{use_timestamp, by default\, create the close checkpoint as of
- * the last stable timestamp if timestamps are in use\, or all current
- * updates if there is no stable timestamp set. If false\, this option
- * generates a checkpoint with all updates., a boolean flag; default \c
- * true.}
+ * @config{leak_memory, don't free memory during close., a boolean flag; default \c false.}
+ * @config{use_timestamp, by default\, create the close checkpoint as of the last stable
+ * timestamp if timestamps are in use\, or all current updates if there is no stable
+ * timestamp set. If false\, this option generates a checkpoint with all updates., a
+ * boolean flag; default \c true.}
* @configend
* @errors
*/
@@ -2213,18 +2092,12 @@ struct __wt_connection {
*
* @param connection the connection handle
* @configstart{WT_CONNECTION.debug_info, see dist/api_data.py}
- * @config{cache, print cache information., a boolean flag; default \c
- * false.}
- * @config{cursors, print all open cursor information., a boolean flag;
- * default \c false.}
- * @config{handles, print open handles information., a boolean flag;
- * default \c false.}
- * @config{log, print log information., a boolean flag; default \c
- * false.}
- * @config{sessions, print open session information., a boolean flag;
- * default \c false.}
- * @config{txn, print global txn information., a boolean flag; default
- * \c false.}
+ * @config{cache, print cache information., a boolean flag; default \c false.}
+ * @config{cursors, print all open cursor information., a boolean flag; default \c false.}
+ * @config{handles, print open handles information., a boolean flag; default \c false.}
+ * @config{log, print log information., a boolean flag; default \c false.}
+ * @config{sessions, print open session information., a boolean flag; default \c false.}
+ * @config{txn, print global txn information., a boolean flag; default \c false.}
* @configend
* @errors
*/
@@ -2238,271 +2111,224 @@ struct __wt_connection {
*
* @param connection the connection handle
* @configstart{WT_CONNECTION.reconfigure, see dist/api_data.py}
- * @config{async = (, asynchronous operations configuration options., a
- * set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable asynchronous
- * operation., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;ops_max, maximum number of expected
- * simultaneous asynchronous operations., an integer between 1 and 4096;
- * default \c 1024.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads, the number
- * of worker threads to service asynchronous requests. Each worker
- * thread uses a session from the configured session_max., an integer
- * between 1 and 20; default \c 2.}
+ * @config{async = (, asynchronous operations configuration options., a set of related
+ * configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable
+ * asynchronous operation., a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;ops_max, maximum number of expected simultaneous
+ * asynchronous operations., an integer between 1 and 4096; default \c 1024.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads, the number of worker threads to service
+ * asynchronous requests. Each worker thread uses a session from the configured
+ * session_max., an integer between 1 and 20; default \c 2.}
* @config{ ),,}
- * @config{cache_max_wait_ms, the maximum number of milliseconds an
- * application thread will wait for space to be available in cache
- * before giving up. Default will wait forever., an integer greater
- * than or equal to 0; default \c 0.}
- * @config{cache_overflow = (, cache overflow configuration options., a
- * set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, The maximum number of bytes
- * that WiredTiger is allowed to use for its cache overflow mechanism.
- * If the cache overflow file exceeds this size\, a panic will be
- * triggered. The default value means that the cache overflow file is
- * unbounded and may use as much space as the filesystem will
- * accommodate. The minimum non-zero setting is 100MB., an integer
- * greater than or equal to 0; default \c 0.}
+ * @config{cache_max_wait_ms, the maximum number of milliseconds an application thread will
+ * wait for space to be available in cache before giving up. Default will wait forever., an
+ * integer greater than or equal to 0; default \c 0.}
+ * @config{cache_overflow = (, cache overflow configuration options., a set of related
+ * configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, The
+ * maximum number of bytes that WiredTiger is allowed to use for its cache overflow
+ * mechanism. If the cache overflow file exceeds this size\, a panic will be triggered.
+ * The default value means that the cache overflow file is unbounded and may use as much
+ * space as the filesystem will accommodate. The minimum non-zero setting is 100MB., an
+ * integer greater than or equal to 0; default \c 0.}
* @config{ ),,}
- * @config{cache_overhead, assume the heap allocator overhead is the
- * specified percentage\, and adjust the cache usage by that amount (for
- * example\, if there is 10GB of data in cache\, a percentage of 10
- * means WiredTiger treats this as 11GB). This value is configurable
- * because different heap allocators have different overhead and
- * different workloads will have different heap allocation sizes and
- * patterns\, therefore applications may need to adjust this value based
- * on allocator choice and behavior in measured workloads., an integer
- * between 0 and 30; default \c 8.}
- * @config{cache_size, maximum heap memory to allocate for the cache. A
- * database should configure either \c cache_size or \c shared_cache but
- * not both., an integer between 1MB and 10TB; default \c 100MB.}
- * @config{checkpoint = (, periodically checkpoint the database.
- * Enabling the checkpoint server uses a session from the configured
- * session_max., a set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;log_size, wait for this amount of log
- * record bytes to be written to the log between each checkpoint. If
- * non-zero\, this value will use a minimum of the log file size. A
- * database can configure both log_size and wait to set an upper bound
- * for checkpoints; setting this value above 0 configures periodic
- * checkpoints., an integer between 0 and 2GB; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between each
- * checkpoint; setting this value above 0 configures periodic
- * checkpoints., an integer between 0 and 100000; default \c 0.}
+ * @config{cache_overhead, assume the heap allocator overhead is the specified percentage\,
+ * and adjust the cache usage by that amount (for example\, if there is 10GB of data in
+ * cache\, a percentage of 10 means WiredTiger treats this as 11GB). This value is
+ * configurable because different heap allocators have different overhead and different
+ * workloads will have different heap allocation sizes and patterns\, therefore applications
+ * may need to adjust this value based on allocator choice and behavior in measured
+ * workloads., an integer between 0 and 30; default \c 8.}
+ * @config{cache_size, maximum heap memory to allocate for the cache. A database should
+ * configure either \c cache_size or \c shared_cache but not both., an integer between 1MB
+ * and 10TB; default \c 100MB.}
+ * @config{checkpoint = (, periodically checkpoint the database. Enabling the checkpoint
+ * server uses a session from the configured session_max., a set of related configuration
+ * options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;log_size, wait for this amount of
+ * log record bytes to be written to the log between each checkpoint. If non-zero\, this
+ * value will use a minimum of the log file size. A database can configure both log_size
+ * and wait to set an upper bound for checkpoints; setting this value above 0 configures
+ * periodic checkpoints., an integer between 0 and 2GB; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between each checkpoint; setting
+ * this value above 0 configures periodic checkpoints., an integer between 0 and 100000;
+ * default \c 0.}
* @config{ ),,}
- * @config{compatibility = (, set compatibility version of database.
- * Changing the compatibility version requires that there are no active
- * operations for the duration of the call., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;release, compatibility release
- * version string., a string; default empty.}
+ * @config{compatibility = (, set compatibility version of database. Changing the
+ * compatibility version requires that there are no active operations for the duration of
+ * the call., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;release, compatibility release version string., a string;
+ * default empty.}
* @config{ ),,}
- * @config{debug_mode = (, control the settings of various extended
- * debugging features., a set of related configuration options defined
- * below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;checkpoint_retention, adjust
- * log archiving to retain the log records of this number of
- * checkpoints. Zero or one means perform normal archiving., an integer
- * between 0 and 1024; default \c 0.}
+ * @config{debug_mode = (, control the settings of various extended debugging features., a
+ * set of related configuration options defined below.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * eviction, if true\, modify internal algorithms to change skew to
- * force lookaside eviction to happen more aggressively. This includes
- * but is not limited to not skewing newest\, not favoring leaf pages\,
- * and modifying the eviction score mechanism., a boolean flag; default
- * \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;rollback_error, return a
- * WT_ROLLBACK error from a transaction operation about every Nth
- * operation to simulate a collision., an integer between 0 and 10M;
+ * checkpoint_retention, adjust log archiving to retain the log records of this number of
+ * checkpoints. Zero or one means perform normal archiving., an integer between 0 and 1024;
* default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;eviction, if true\, modify internal
+ * algorithms to change skew to force lookaside eviction to happen more aggressively. This
+ * includes but is not limited to not skewing newest\, not favoring leaf pages\, and
+ * modifying the eviction score mechanism., a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;rollback_error, return a WT_ROLLBACK error from a
+ * transaction operation about every Nth operation to simulate a collision., an integer
+ * between 0 and 10M; default \c 0.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;table_logging, if
- * true\, write transaction related information to the log for all
- * operations\, even operations for tables with logging turned off.
- * This setting introduces a log format change that may break older
- * versions of WiredTiger. These operations are informational and
- * skipped in recovery., a boolean flag; default \c false.}
- * @config{
- * ),,}
- * @config{error_prefix, prefix string for error messages., a string;
- * default empty.}
- * @config{eviction = (, eviction configuration options., a set of
- * related configuration options defined below.}
+ * true\, write transaction related information to the log for all operations\, even
+ * operations for tables with logging turned off. This setting introduces a log format
+ * change that may break older versions of WiredTiger. These operations are informational
+ * and skipped in recovery., a boolean flag; default \c false.}
+ * @config{ ),,}
+ * @config{error_prefix, prefix string for error messages., a string; default empty.}
+ * @config{eviction = (, eviction configuration options., a set of related configuration
+ * options defined below.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;threads_max, maximum number of
- * threads WiredTiger will start to help evict pages from cache. The
- * number of threads started will vary depending on the current eviction
- * load. Each eviction worker thread uses a session from the configured
- * session_max., an integer between 1 and 20; default \c 8.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads_min, minimum number of
- * threads WiredTiger will start to help evict pages from cache. The
- * number of threads currently running will vary depending on the
- * current eviction load., an integer between 1 and 20; default \c 1.}
+ * threads WiredTiger will start to help evict pages from cache. The number of threads
+ * started will vary depending on the current eviction load. Each eviction worker thread
+ * uses a session from the configured session_max., an integer between 1 and 20; default \c
+ * 8.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads_min, minimum number of threads WiredTiger
+ * will start to help evict pages from cache. The number of threads currently running will
+ * vary depending on the current eviction load., an integer between 1 and 20; default \c 1.}
* @config{ ),,}
- * @config{eviction_checkpoint_target, perform eviction at the beginning
- * of checkpoints to bring the dirty content in cache to this level. It
- * is a percentage of the cache size if the value is within the range of
- * 0 to 100 or an absolute size when greater than 100. The value is not
- * allowed to exceed the \c cache_size. Ignored if set to zero or \c
- * in_memory is \c true., an integer between 0 and 10TB; default \c 1.}
- * @config{eviction_dirty_target, perform eviction in worker threads
- * when the cache contains at least this much dirty content. It is a
- * percentage of the cache size if the value is within the range of 1 to
- * 100 or an absolute size when greater than 100. The value is not
- * allowed to exceed the \c cache_size., an integer between 1 and 10TB;
- * default \c 5.}
- * @config{eviction_dirty_trigger, trigger application threads to
- * perform eviction when the cache contains at least this much dirty
- * content. It is a percentage of the cache size if the value is within
- * the range of 1 to 100 or an absolute size when greater than 100. The
- * value is not allowed to exceed the \c cache_size. This setting only
- * alters behavior if it is lower than eviction_trigger., an integer
- * between 1 and 10TB; default \c 20.}
- * @config{eviction_target, perform eviction in worker threads when the
- * cache contains at least this much content. It is a percentage of the
- * cache size if the value is within the range of 10 to 100 or an
- * absolute size when greater than 100. The value is not allowed to
- * exceed the \c cache_size., an integer between 10 and 10TB; default \c
- * 80.}
- * @config{eviction_trigger, trigger application threads to perform
- * eviction when the cache contains at least this much content. It is a
- * percentage of the cache size if the value is within the range of 10
- * to 100 or an absolute size when greater than 100. The value is not
- * allowed to exceed the \c cache_size., an integer between 10 and 10TB;
- * default \c 95.}
- * @config{file_manager = (, control how file handles are managed., a
- * set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_handle_minimum, number of
- * handles open before the file manager will look for handles to close.,
- * an integer greater than or equal to 0; default \c 250.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_idle_time, amount of time in
- * seconds a file handle needs to be idle before attempting to close it.
- * A setting of 0 means that idle handles are not closed., an integer
- * between 0 and 100000; default \c 30.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_scan_interval, interval in
- * seconds at which to check for files that are inactive and close
- * them., an integer between 1 and 100000; default \c 10.}
+ * @config{eviction_checkpoint_target, perform eviction at the beginning of checkpoints to
+ * bring the dirty content in cache to this level. It is a percentage of the cache size if
+ * the value is within the range of 0 to 100 or an absolute size when greater than 100. The
+ * value is not allowed to exceed the \c cache_size. Ignored if set to zero or \c in_memory
+ * is \c true., an integer between 0 and 10TB; default \c 1.}
+ * @config{eviction_dirty_target, perform eviction in worker threads when the cache contains
+ * at least this much dirty content. It is a percentage of the cache size if the value is
+ * within the range of 1 to 100 or an absolute size when greater than 100. The value is not
+ * allowed to exceed the \c cache_size., an integer between 1 and 10TB; default \c 5.}
+ * @config{eviction_dirty_trigger, trigger application threads to perform eviction when the
+ * cache contains at least this much dirty content. It is a percentage of the cache size if
+ * the value is within the range of 1 to 100 or an absolute size when greater than 100. The
+ * value is not allowed to exceed the \c cache_size. This setting only alters behavior if
+ * it is lower than eviction_trigger., an integer between 1 and 10TB; default \c 20.}
+ * @config{eviction_target, perform eviction in worker threads when the cache contains at
+ * least this much content. It is a percentage of the cache size if the value is within the
+ * range of 10 to 100 or an absolute size when greater than 100. The value is not allowed to
+ * exceed the \c cache_size., an integer between 10 and 10TB; default \c 80.}
+ * @config{eviction_trigger, trigger application threads to perform eviction when the cache
+ * contains at least this much content. It is a percentage of the cache size if the value
+ * is within the range of 10 to 100 or an absolute size when greater than 100. The value is
+ * not allowed to exceed the \c cache_size., an integer between 10 and 10TB; default \c 95.}
+ * @config{file_manager = (, control how file handles are managed., a set of related
+ * configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * close_handle_minimum, number of handles open before the file manager will look for
+ * handles to close., an integer greater than or equal to 0; default \c 250.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_idle_time, amount of time in seconds a file handle
+ * needs to be idle before attempting to close it. A setting of 0 means that idle handles
+ * are not closed., an integer between 0 and 100000; default \c 30.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_scan_interval, interval in seconds at which to
+ * check for files that are inactive and close them., an integer between 1 and 100000;
+ * default \c 10.}
* @config{ ),,}
- * @config{io_capacity = (, control how many bytes per second are
- * written and read. Exceeding the capacity results in throttling., a
- * set of related configuration options defined below.}
+ * @config{io_capacity = (, control how many bytes per second are written and read.
+ * Exceeding the capacity results in throttling., a set of related configuration options
+ * defined below.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;total, number of bytes per second
- * available to all subsystems in total. When set\, decisions about
- * what subsystems are throttled\, and in what proportion\, are made
- * internally. The minimum non-zero setting is 1MB., an integer between
- * 0 and 1TB; default \c 0.}
+ * available to all subsystems in total. When set\, decisions about what subsystems are
+ * throttled\, and in what proportion\, are made internally. The minimum non-zero setting
+ * is 1MB., an integer between 0 and 1TB; default \c 0.}
* @config{ ),,}
- * @config{log = (, enable logging. Enabling logging uses three
- * sessions from the configured session_max., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;archive, automatically archive
- * unneeded log files., a boolean flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;os_cache_dirty_pct, maximum dirty
- * system buffer cache usage\, as a percentage of the log's \c file_max.
- * If non-zero\, schedule writes for dirty blocks belonging to the log
- * in the system buffer cache after that percentage of the log has been
- * written into the buffer cache without an intervening file sync., an
- * integer between 0 and 100; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;prealloc, pre-allocate log files., a
+ * @config{log = (, enable logging. Enabling logging uses three sessions from the
+ * configured session_max., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;archive, automatically archive unneeded log files., a
* boolean flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * zero_fill, manually write zeroes into log files., a boolean flag;
- * default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;os_cache_dirty_pct,
+ * maximum dirty system buffer cache usage\, as a percentage of the log's \c file_max. If
+ * non-zero\, schedule writes for dirty blocks belonging to the log in the system buffer
+ * cache after that percentage of the log has been written into the buffer cache without an
+ * intervening file sync., an integer between 0 and 100; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;prealloc, pre-allocate log files., a boolean flag;
+ * default \c true.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;zero_fill, manually write zeroes into
+ * log files., a boolean flag; default \c false.}
* @config{ ),,}
- * @config{lsm_manager = (, configure database wide options for LSM tree
- * management. The LSM manager is started automatically the first time
- * an LSM tree is opened. The LSM manager uses a session from the
- * configured session_max., a set of related configuration options
- * defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge, merge LSM
- * chunks where possible., a boolean flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;worker_thread_max, Configure a set of
- * threads to manage merging LSM trees in the database. Each worker
- * thread uses a session handle from the configured session_max., an
+ * @config{lsm_manager = (, configure database wide options for LSM tree management. The
+ * LSM manager is started automatically the first time an LSM tree is opened. The LSM
+ * manager uses a session from the configured session_max., a set of related configuration
+ * options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge, merge LSM chunks where
+ * possible., a boolean flag; default \c true.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * worker_thread_max, Configure a set of threads to manage merging LSM trees in the
+ * database. Each worker thread uses a session handle from the configured session_max., an
* integer between 3 and 20; default \c 4.}
* @config{ ),,}
- * @config{operation_tracking = (, enable tracking of
- * performance-critical functions. See @ref operation_tracking for more
- * information., a set of related configuration options defined below.}
+ * @config{operation_tracking = (, enable tracking of performance-critical functions. See
+ * @ref operation_tracking for more information., a set of related configuration options
+ * defined below.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable operation tracking
* subsystem., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the name of a directory into
- * which operation tracking files are written. The directory must
- * already exist. If the value is not an absolute path\, the path is
- * relative to the database home (see @ref absolute_path for more
- * information)., a string; default \c ".".}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the
+ * name of a directory into which operation tracking files are written. The directory must
+ * already exist. If the value is not an absolute path\, the path is relative to the
+ * database home (see @ref absolute_path for more information)., a string; default \c ".".}
* @config{ ),,}
- * @config{shared_cache = (, shared cache configuration options. A
- * database should configure either a cache_size or a shared_cache not
- * both. Enabling a shared cache uses a session from the configured
- * session_max. A shared cache can not have absolute values configured
- * for cache eviction settings., a set of related configuration options
- * defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk, the
- * granularity that a shared cache is redistributed., an integer between
- * 1MB and 10TB; default \c 10MB.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;name,
- * the name of a cache that is shared between databases or \c "none"
- * when no shared cache is configured., a string; default \c none.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;quota, maximum size of cache this
- * database can be allocated from the shared cache. Defaults to the
- * entire shared cache size., an integer; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;reserve, amount of cache this
- * database is guaranteed to have available from the shared cache. This
- * setting is per database. Defaults to the chunk size., an integer;
+ * @config{shared_cache = (, shared cache configuration options. A database should
+ * configure either a cache_size or a shared_cache not both. Enabling a shared cache uses a
+ * session from the configured session_max. A shared cache can not have absolute values
+ * configured for cache eviction settings., a set of related configuration options defined
+ * below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk, the granularity that a shared cache is
+ * redistributed., an integer between 1MB and 10TB; default \c 10MB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, the name of a cache that is shared between
+ * databases or \c "none" when no shared cache is configured., a string; default \c none.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;quota, maximum size of cache this database can be
+ * allocated from the shared cache. Defaults to the entire shared cache size., an integer;
* default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;size, maximum memory
- * to allocate for the shared cache. Setting this will update the value
- * if one is already set., an integer between 1MB and 10TB; default \c
- * 500MB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;reserve, amount of cache this database is
+ * guaranteed to have available from the shared cache. This setting is per database.
+ * Defaults to the chunk size., an integer; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * size, maximum memory to allocate for the shared cache. Setting this will update the
+ * value if one is already set., an integer between 1MB and 10TB; default \c 500MB.}
* @config{ ),,}
- * @config{statistics, Maintain database statistics\, which may impact
- * performance. Choosing "all" maintains all statistics regardless of
- * cost\, "fast" maintains a subset of statistics that are relatively
- * inexpensive\, "none" turns off all statistics. The "clear"
- * configuration resets statistics after they are gathered\, where
- * appropriate (for example\, a cache size statistic is not cleared\,
- * while the count of cursor insert operations will be cleared). When
- * "clear" is configured for the database\, gathered statistics are
- * reset each time a statistics cursor is used to gather statistics\, as
- * well as each time statistics are logged using the \c statistics_log
- * configuration. See @ref statistics for more information., a list\,
- * with values chosen from the following options: \c "all"\, \c
- * "cache_walk"\, \c "fast"\, \c "none"\, \c "clear"\, \c "tree_walk";
- * default \c none.}
- * @config{statistics_log = (, log any statistics the database is
- * configured to maintain\, to a file. See @ref statistics for more
- * information. Enabling the statistics log server uses a session from
- * the configured session_max., a set of related configuration options
+ * @config{statistics, Maintain database statistics\, which may impact performance.
+ * Choosing "all" maintains all statistics regardless of cost\, "fast" maintains a subset of
+ * statistics that are relatively inexpensive\, "none" turns off all statistics. The
+ * "clear" configuration resets statistics after they are gathered\, where appropriate (for
+ * example\, a cache size statistic is not cleared\, while the count of cursor insert
+ * operations will be cleared). When "clear" is configured for the database\, gathered
+ * statistics are reset each time a statistics cursor is used to gather statistics\, as well
+ * as each time statistics are logged using the \c statistics_log configuration. See @ref
+ * statistics for more information., a list\, with values chosen from the following options:
+ * \c "all"\, \c "cache_walk"\, \c "fast"\, \c "none"\, \c "clear"\, \c "tree_walk"; default
+ * \c none.}
+ * @config{statistics_log = (, log any statistics the database is configured to maintain\,
+ * to a file. See @ref statistics for more information. Enabling the statistics log server
+ * uses a session from the configured session_max., a set of related configuration options
* defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;json, encode
- * statistics in JSON format., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;on_close, log statistics on database
- * close., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;sources, if non-empty\, include
- * statistics for the list of data source URIs\, if they are open at the
- * time of the statistics logging. The list may include URIs matching a
- * single data source ("table:mytable")\, or a URI matching all data
- * sources of a particular type ("table:")., a list of strings; default
- * empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;timestamp, a timestamp
- * prepended to each log record\, may contain strftime conversion
- * specifications\, when \c json is configured\, defaults to \c
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;json, encode statistics in JSON format.,
+ * a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;on_close, log
+ * statistics on database close., a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;sources, if non-empty\, include statistics for the list
+ * of data source URIs\, if they are open at the time of the statistics logging. The list
+ * may include URIs matching a single data source ("table:mytable")\, or a URI matching all
+ * data sources of a particular type ("table:")., a list of strings; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;timestamp, a timestamp prepended to each log record\, may
+ * contain strftime conversion specifications\, when \c json is configured\, defaults to \c
* "%FT%Y.000Z"., a string; default \c "%b %d %H:%M:%S".}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between each
- * write of the log records; setting this value above 0 configures
- * statistics logging., an integer between 0 and 100000; default \c 0.}
- * @config{ ),,}
- * @config{verbose, enable messages for various events. Options are
- * given as a list\, such as
- * <code>"verbose=[evictserver\,read]"</code>., a list\, with values
- * chosen from the following options: \c "api"\, \c "block"\, \c
- * "checkpoint"\, \c "checkpoint_progress"\, \c "compact"\, \c
- * "compact_progress"\, \c "error_returns"\, \c "evict"\, \c
- * "evict_stuck"\, \c "evictserver"\, \c "fileops"\, \c "handleops"\, \c
- * "log"\, \c "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c
- * "lsm_manager"\, \c "metadata"\, \c "mutex"\, \c "overflow"\, \c
- * "read"\, \c "rebalance"\, \c "reconcile"\, \c "recovery"\, \c
- * "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c "split"\,
- * \c "temporary"\, \c "thread_group"\, \c "timestamp"\, \c
- * "transaction"\, \c "verify"\, \c "version"\, \c "write"; default
- * empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * wait, seconds to wait between each write of the log records; setting this value above 0
+ * configures statistics logging., an integer between 0 and 100000; default \c 0.}
+ * @config{
+ * ),,}
+ * @config{verbose, enable messages for various events. Options are given as a list\, such
+ * as <code>"verbose=[evictserver\,read]"</code>., a list\, with values chosen from the
+ * following options: \c "api"\, \c "block"\, \c "checkpoint"\, \c "checkpoint_progress"\,
+ * \c "compact"\, \c "compact_progress"\, \c "error_returns"\, \c "evict"\, \c
+ * "evict_stuck"\, \c "evictserver"\, \c "fileops"\, \c "handleops"\, \c "log"\, \c
+ * "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c "lsm_manager"\, \c "metadata"\, \c
+ * "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c "reconcile"\, \c "recovery"\,
+ * \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c "split"\, \c "temporary"\,
+ * \c "thread_group"\, \c "timestamp"\, \c "transaction"\, \c "verify"\, \c "version"\, \c
+ * "write"; default empty.}
* @configend
* @errors
*/
@@ -2564,21 +2390,18 @@ struct __wt_connection {
* connection's event handler is used. See @ref event_message_handling
* for more information.
* @configstart{WT_CONNECTION.open_session, see dist/api_data.py}
- * @config{cache_cursors, enable caching of cursors for reuse. Any
- * calls to WT_CURSOR::close for a cursor created in this session will
- * mark the cursor as cached and keep it available to be reused for
- * later calls to WT_SESSION::open_cursor. Cached cursors may be
- * eventually closed. This value is inherited from ::wiredtiger_open \c
+ * @config{cache_cursors, enable caching of cursors for reuse. Any calls to
+ * WT_CURSOR::close for a cursor created in this session will mark the cursor as cached and
+ * keep it available to be reused for later calls to WT_SESSION::open_cursor. Cached
+ * cursors may be eventually closed. This value is inherited from ::wiredtiger_open \c
* cache_cursors., a boolean flag; default \c true.}
- * @config{ignore_cache_size, when set\, operations performed by this
- * session ignore the cache size and are not blocked when the cache is
- * full. Note that use of this option for operations that create cache
- * pressure can starve ordinary sessions that obey the cache size., a
- * boolean flag; default \c false.}
- * @config{isolation, the default isolation level for operations in this
- * session., a string\, chosen from the following options: \c
- * "read-uncommitted"\, \c "read-committed"\, \c "snapshot"; default \c
- * read-committed.}
+ * @config{ignore_cache_size, when set\, operations performed by this session ignore the
+ * cache size and are not blocked when the cache is full. Note that use of this option for
+ * operations that create cache pressure can starve ordinary sessions that obey the cache
+ * size., a boolean flag; default \c false.}
+ * @config{isolation, the default isolation level for operations in this session., a
+ * string\, chosen from the following options: \c "read-uncommitted"\, \c "read-committed"\,
+ * \c "snapshot"; default \c read-committed.}
* @configend
* @param[out] sessionp the new session handle
* @errors
@@ -2602,23 +2425,19 @@ struct __wt_connection {
* hexadecimal encoding of the timestamp being queried. Must be large
* enough to hold a NUL terminated, hex-encoded 8B timestamp (17 bytes).
* @configstart{WT_CONNECTION.query_timestamp, see dist/api_data.py}
- * @config{get, specify which timestamp to query: \c all_committed
- * returns the largest timestamp such that all timestamps up to that
- * value have committed\, \c all_durable returns the largest timestamp
- * such that all timestamps up to that value have been made durable\, \c
- * last_checkpoint returns the timestamp of the most recent stable
- * checkpoint\, \c oldest returns the most recent \c oldest_timestamp
- * set with WT_CONNECTION::set_timestamp\, \c oldest_reader returns the
- * minimum of the read timestamps of all active readers \c pinned
- * returns the minimum of the \c oldest_timestamp and the read
- * timestamps of all active readers\, \c recovery returns the timestamp
- * of the most recent stable checkpoint taken prior to a shutdown and \c
- * stable returns the most recent \c stable_timestamp set with
- * WT_CONNECTION::set_timestamp. See @ref transaction_timestamps., a
- * string\, chosen from the following options: \c "all_committed"\, \c
- * "all_durable"\, \c "last_checkpoint"\, \c "oldest"\, \c
- * "oldest_reader"\, \c "pinned"\, \c "recovery"\, \c "stable"; default
- * \c all_durable.}
+ * @config{get, specify which timestamp to query: \c all_committed returns the largest
+ * timestamp such that all timestamps up to that value have committed\, \c all_durable
+ * returns the largest timestamp such that all timestamps up to that value have been made
+ * durable\, \c last_checkpoint returns the timestamp of the most recent stable checkpoint\,
+ * \c oldest returns the most recent \c oldest_timestamp set with
+ * WT_CONNECTION::set_timestamp\, \c oldest_reader returns the minimum of the read
+ * timestamps of all active readers \c pinned returns the minimum of the \c oldest_timestamp
+ * and the read timestamps of all active readers\, \c recovery returns the timestamp of the
+ * most recent stable checkpoint taken prior to a shutdown and \c stable returns the most
+ * recent \c stable_timestamp set with WT_CONNECTION::set_timestamp. See @ref
+ * transaction_timestamps., a string\, chosen from the following options: \c
+ * "all_committed"\, \c "all_durable"\, \c "last_checkpoint"\, \c "oldest"\, \c
+ * "oldest_reader"\, \c "pinned"\, \c "recovery"\, \c "stable"; default \c all_durable.}
* @configend
* @errors
* If there is no matching timestamp (e.g., if this method is called
@@ -2638,40 +2457,33 @@ struct __wt_connection {
*
* @param connection the connection handle
* @configstart{WT_CONNECTION.set_timestamp, see dist/api_data.py}
- * @config{commit_timestamp, (deprecated) reset the maximum commit
- * timestamp tracked by WiredTiger. This will cause future calls to
- * WT_CONNECTION::query_timestamp to ignore commit timestamps greater
- * than the specified value until the next commit moves the tracked
- * commit timestamp forwards. This is only intended for use where the
- * application is rolling back locally committed transactions. The
- * supplied value must not be older than the current oldest and stable
- * timestamps. See @ref transaction_timestamps., a string; default
- * empty.}
- * @config{durable_timestamp, reset the maximum durable timestamp
- * tracked by WiredTiger. This will cause future calls to
- * WT_CONNECTION::query_timestamp to ignore durable timestamps greater
- * than the specified value until the next durable timestamp moves the
- * tracked durable timestamp forwards. This is only intended for use
- * where the application is rolling back locally committed transactions.
- * The supplied value must not be older than the current oldest and
- * stable timestamps. See @ref transaction_timestamps., a string;
- * default empty.}
- * @config{force, set timestamps even if they violate normal ordering
- * requirements. For example allow the \c oldest_timestamp to move
- * backwards., a boolean flag; default \c false.}
- * @config{oldest_timestamp, future commits and queries will be no
- * earlier than the specified timestamp. Supplied values must be
- * monotonically increasing\, any attempt to set the value to older than
- * the current is silently ignored. The supplied value must not be
- * newer than the current stable timestamp. See @ref
- * transaction_timestamps., a string; default empty.}
- * @config{stable_timestamp, checkpoints will not include commits that
- * are newer than the specified timestamp in tables configured with \c
- * log=(enabled=false). Supplied values must be monotonically
- * increasing\, any attempt to set the value to older than the current
- * is silently ignored. The supplied value must not be older than the
- * current oldest timestamp. See @ref transaction_timestamps., a
+ * @config{commit_timestamp, (deprecated) reset the maximum commit timestamp tracked by
+ * WiredTiger. This will cause future calls to WT_CONNECTION::query_timestamp to ignore
+ * commit timestamps greater than the specified value until the next commit moves the
+ * tracked commit timestamp forwards. This is only intended for use where the application
+ * is rolling back locally committed transactions. The supplied value must not be older
+ * than the current oldest and stable timestamps. See @ref transaction_timestamps., a
* string; default empty.}
+ * @config{durable_timestamp, reset the maximum durable timestamp tracked by WiredTiger.
+ * This will cause future calls to WT_CONNECTION::query_timestamp to ignore durable
+ * timestamps greater than the specified value until the next durable timestamp moves the
+ * tracked durable timestamp forwards. This is only intended for use where the application
+ * is rolling back locally committed transactions. The supplied value must not be older
+ * than the current oldest and stable timestamps. See @ref transaction_timestamps., a
+ * string; default empty.}
+ * @config{force, set timestamps even if they violate normal ordering requirements. For
+ * example allow the \c oldest_timestamp to move backwards., a boolean flag; default \c
+ * false.}
+ * @config{oldest_timestamp, future commits and queries will be no earlier than the
+ * specified timestamp. Supplied values must be monotonically increasing\, any attempt to
+ * set the value to older than the current is silently ignored. The supplied value must not
+ * be newer than the current stable timestamp. See @ref transaction_timestamps., a string;
+ * default empty.}
+ * @config{stable_timestamp, checkpoints will not include commits that are newer than the
+ * specified timestamp in tables configured with \c log=(enabled=false). Supplied values
+ * must be monotonically increasing\, any attempt to set the value to older than the current
+ * is silently ignored. The supplied value must not be older than the current oldest
+ * timestamp. See @ref transaction_timestamps., a string; default empty.}
* @configend
* @errors
*/
@@ -2719,20 +2531,17 @@ struct __wt_connection {
* search the current application binary for the initialization
* function, see @ref extensions for more details.
* @configstart{WT_CONNECTION.load_extension, see dist/api_data.py}
- * @config{config, configuration string passed to the entry point of the
- * extension as its WT_CONFIG_ARG argument., a string; default empty.}
- * @config{early_load, whether this extension should be loaded at the
- * beginning of ::wiredtiger_open. Only applicable to extensions loaded
- * via the wiredtiger_open configurations string., a boolean flag;
- * default \c false.}
- * @config{entry, the entry point of the extension\, called to
- * initialize the extension when it is loaded. The signature of the
- * function must match ::wiredtiger_extension_init., a string; default
- * \c wiredtiger_extension_init.}
- * @config{terminate, an optional function in the extension that is
- * called before the extension is unloaded during WT_CONNECTION::close.
- * The signature of the function must match
- * ::wiredtiger_extension_terminate., a string; default \c
+ * @config{config, configuration string passed to the entry point of the extension as its
+ * WT_CONFIG_ARG argument., a string; default empty.}
+ * @config{early_load, whether this extension should be loaded at the beginning of
+ * ::wiredtiger_open. Only applicable to extensions loaded via the wiredtiger_open
+ * configurations string., a boolean flag; default \c false.}
+ * @config{entry, the entry point of the extension\, called to initialize the extension when
+ * it is loaded. The signature of the function must match ::wiredtiger_extension_init., a
+ * string; default \c wiredtiger_extension_init.}
+ * @config{terminate, an optional function in the extension that is called before the
+ * extension is unloaded during WT_CONNECTION::close. The signature of the function must
+ * match ::wiredtiger_extension_terminate., a string; default \c
* wiredtiger_extension_terminate.}
* @configend
* @errors
@@ -2875,393 +2684,336 @@ struct __wt_connection {
* event handler is installed that writes error messages to stderr. See
* @ref event_message_handling for more information.
* @configstart{wiredtiger_open, see dist/api_data.py}
- * @config{async = (, asynchronous operations configuration options., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable asynchronous operation., a
- * boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;ops_max,
- * maximum number of expected simultaneous asynchronous operations., an integer
- * between 1 and 4096; default \c 1024.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * threads, the number of worker threads to service asynchronous requests. Each
- * worker thread uses a session from the configured session_max., an integer
- * between 1 and 20; default \c 2.}
- * @config{ ),,}
- * @config{buffer_alignment, in-memory alignment (in bytes) for buffers used for
- * I/O. The default value of -1 indicates a platform-specific alignment value
- * should be used (4KB on Linux systems when direct I/O is configured\, zero
- * elsewhere)., an integer between -1 and 1MB; default \c -1.}
- * @config{builtin_extension_config, A structure where the keys are the names of
- * builtin extensions and the values are passed to WT_CONNECTION::load_extension
- * as the \c config parameter (for example\,
- * <code>builtin_extension_config={zlib={compression_level=3}}</code>)., a
- * string; default empty.}
- * @config{cache_cursors, enable caching of cursors for reuse. This is the
- * default value for any sessions created\, and can be overridden in configuring
- * \c cache_cursors in WT_CONNECTION.open_session., a boolean flag; default \c
- * true.}
- * @config{cache_max_wait_ms, the maximum number of milliseconds an application
- * thread will wait for space to be available in cache before giving up.
- * Default will wait forever., an integer greater than or equal to 0; default \c
- * 0.}
- * @config{cache_overflow = (, cache overflow configuration options., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, The maximum number of bytes that
- * WiredTiger is allowed to use for its cache overflow mechanism. If the cache
- * overflow file exceeds this size\, a panic will be triggered. The default
- * value means that the cache overflow file is unbounded and may use as much
- * space as the filesystem will accommodate. The minimum non-zero setting is
- * 100MB., an integer greater than or equal to 0; default \c 0.}
+ * @config{async = (, asynchronous operations configuration options., a set of related configuration
+ * options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable asynchronous operation.,
+ * a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;ops_max, maximum number of
+ * expected simultaneous asynchronous operations., an integer between 1 and 4096; default \c 1024.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads, the number of worker threads to service asynchronous
+ * requests. Each worker thread uses a session from the configured session_max., an integer between
+ * 1 and 20; default \c 2.}
* @config{ ),,}
- * @config{cache_overhead, assume the heap allocator overhead is the specified
- * percentage\, and adjust the cache usage by that amount (for example\, if
- * there is 10GB of data in cache\, a percentage of 10 means WiredTiger treats
- * this as 11GB). This value is configurable because different heap allocators
- * have different overhead and different workloads will have different heap
- * allocation sizes and patterns\, therefore applications may need to adjust
- * this value based on allocator choice and behavior in measured workloads., an
- * integer between 0 and 30; default \c 8.}
- * @config{cache_size, maximum heap memory to allocate for the cache. A
- * database should configure either \c cache_size or \c shared_cache but not
- * both., an integer between 1MB and 10TB; default \c 100MB.}
- * @config{checkpoint = (, periodically checkpoint the database. Enabling the
- * checkpoint server uses a session from the configured session_max., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;log_size, wait for this amount of log record
- * bytes to be written to the log between each checkpoint. If non-zero\, this
- * value will use a minimum of the log file size. A database can configure both
- * log_size and wait to set an upper bound for checkpoints; setting this value
- * above 0 configures periodic checkpoints., an integer between 0 and 2GB;
- * default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between
- * each checkpoint; setting this value above 0 configures periodic checkpoints.,
- * an integer between 0 and 100000; default \c 0.}
+ * @config{buffer_alignment, in-memory alignment (in bytes) for buffers used for I/O. The default
+ * value of -1 indicates a platform-specific alignment value should be used (4KB on Linux systems
+ * when direct I/O is configured\, zero elsewhere)., an integer between -1 and 1MB; default \c -1.}
+ * @config{builtin_extension_config, A structure where the keys are the names of builtin extensions
+ * and the values are passed to WT_CONNECTION::load_extension as the \c config parameter (for
+ * example\, <code>builtin_extension_config={zlib={compression_level=3}}</code>)., a string; default
+ * empty.}
+ * @config{cache_cursors, enable caching of cursors for reuse. This is the default value for any
+ * sessions created\, and can be overridden in configuring \c cache_cursors in
+ * WT_CONNECTION.open_session., a boolean flag; default \c true.}
+ * @config{cache_max_wait_ms, the maximum number of milliseconds an application thread will wait for
+ * space to be available in cache before giving up. Default will wait forever., an integer greater
+ * than or equal to 0; default \c 0.}
+ * @config{cache_overflow = (, cache overflow configuration options., a set of related configuration
+ * options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, The maximum number of bytes
+ * that WiredTiger is allowed to use for its cache overflow mechanism. If the cache overflow file
+ * exceeds this size\, a panic will be triggered. The default value means that the cache overflow
+ * file is unbounded and may use as much space as the filesystem will accommodate. The minimum
+ * non-zero setting is 100MB., an integer greater than or equal to 0; default \c 0.}
* @config{ ),,}
- * @config{checkpoint_sync, flush files to stable storage when closing or
- * writing checkpoints., a boolean flag; default \c true.}
- * @config{compatibility = (, set compatibility version of database. Changing
- * the compatibility version requires that there are no active operations for
- * the duration of the call., a set of related configuration options defined
+ * @config{cache_overhead, assume the heap allocator overhead is the specified percentage\, and
+ * adjust the cache usage by that amount (for example\, if there is 10GB of data in cache\, a
+ * percentage of 10 means WiredTiger treats this as 11GB). This value is configurable because
+ * different heap allocators have different overhead and different workloads will have different
+ * heap allocation sizes and patterns\, therefore applications may need to adjust this value based
+ * on allocator choice and behavior in measured workloads., an integer between 0 and 30; default \c
+ * 8.}
+ * @config{cache_size, maximum heap memory to allocate for the cache. A database should configure
+ * either \c cache_size or \c shared_cache but not both., an integer between 1MB and 10TB; default
+ * \c 100MB.}
+ * @config{checkpoint = (, periodically checkpoint the database. Enabling the checkpoint server
+ * uses a session from the configured session_max., a set of related configuration options defined
* below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;release, compatibility release
- * version string., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;log_size, wait for this amount of log record bytes to be
+ * written to the log between each checkpoint. If non-zero\, this value will use a minimum of the
+ * log file size. A database can configure both log_size and wait to set an upper bound for
+ * checkpoints; setting this value above 0 configures periodic checkpoints., an integer between 0
+ * and 2GB; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between each
+ * checkpoint; setting this value above 0 configures periodic checkpoints., an integer between 0 and
+ * 100000; default \c 0.}
+ * @config{ ),,}
+ * @config{checkpoint_sync, flush files to stable storage when closing or writing checkpoints., a
+ * boolean flag; default \c true.}
+ * @config{compatibility = (, set compatibility version of database. Changing the compatibility
+ * version requires that there are no active operations for the duration of the call., a set of
+ * related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;release,
+ * compatibility release version string., a string; default empty.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * require_max, required maximum compatibility version of existing data files.
- * Must be greater than or equal to any release version set in the \c release
- * setting. Has no effect if creating the database., a string; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;require_min, required minimum compatibility
- * version of existing data files. Must be less than or equal to any release
- * version set in the \c release setting. Has no effect if creating the
+ * require_max, required maximum compatibility version of existing data files. Must be greater than
+ * or equal to any release version set in the \c release setting. Has no effect if creating the
* database., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;require_min, required
+ * minimum compatibility version of existing data files. Must be less than or equal to any release
+ * version set in the \c release setting. Has no effect if creating the database., a string;
+ * default empty.}
* @config{ ),,}
- * @config{config_base, write the base configuration file if creating the
- * database. If \c false in the config passed directly to ::wiredtiger_open\,
- * will ignore any existing base configuration file in addition to not creating
- * one. See @ref config_base for more information., a boolean flag; default \c
- * true.}
- * @config{create, create the database if it does not exist., a boolean flag;
- * default \c false.}
- * @config{debug_mode = (, control the settings of various extended debugging
- * features., a set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;checkpoint_retention, adjust log archiving to
- * retain the log records of this number of checkpoints. Zero or one means
- * perform normal archiving., an integer between 0 and 1024; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;eviction, if true\, modify internal
- * algorithms to change skew to force lookaside eviction to happen more
- * aggressively. This includes but is not limited to not skewing newest\, not
- * favoring leaf pages\, and modifying the eviction score mechanism., a boolean
- * flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;rollback_error,
- * return a WT_ROLLBACK error from a transaction operation about every Nth
- * operation to simulate a collision., an integer between 0 and 10M; default \c
- * 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;table_logging, if true\, write
- * transaction related information to the log for all operations\, even
- * operations for tables with logging turned off. This setting introduces a log
- * format change that may break older versions of WiredTiger. These operations
- * are informational and skipped in recovery., a boolean flag; default \c
- * false.}
+ * @config{config_base, write the base configuration file if creating the database. If \c false in
+ * the config passed directly to ::wiredtiger_open\, will ignore any existing base configuration
+ * file in addition to not creating one. See @ref config_base for more information., a boolean
+ * flag; default \c true.}
+ * @config{create, create the database if it does not exist., a boolean flag; default \c false.}
+ * @config{debug_mode = (, control the settings of various extended debugging features., a set of
+ * related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * checkpoint_retention, adjust log archiving to retain the log records of this number of
+ * checkpoints. Zero or one means perform normal archiving., an integer between 0 and 1024; default
+ * \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;eviction, if true\, modify internal algorithms to change
+ * skew to force lookaside eviction to happen more aggressively. This includes but is not limited
+ * to not skewing newest\, not favoring leaf pages\, and modifying the eviction score mechanism., a
+ * boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;rollback_error, return a
+ * WT_ROLLBACK error from a transaction operation about every Nth operation to simulate a
+ * collision., an integer between 0 and 10M; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;
+ * table_logging, if true\, write transaction related information to the log for all operations\,
+ * even operations for tables with logging turned off. This setting introduces a log format change
+ * that may break older versions of WiredTiger. These operations are informational and skipped in
+ * recovery., a boolean flag; default \c false.}
* @config{ ),,}
- * @config{direct_io, Use \c O_DIRECT on POSIX systems\, and \c
- * FILE_FLAG_NO_BUFFERING on Windows to access files. Options are given as a
- * list\, such as <code>"direct_io=[data]"</code>. Configuring \c direct_io
- * requires care\, see @ref tuning_system_buffer_cache_direct_io for important
- * warnings. Including \c "data" will cause WiredTiger data files to use direct
- * I/O\, including \c "log" will cause WiredTiger log files to use direct I/O\,
- * and including \c "checkpoint" will cause WiredTiger data files opened at a
- * checkpoint (i.e: read-only) to use direct I/O. \c direct_io should be
- * combined with \c write_through to get the equivalent of \c O_DIRECT on
- * Windows., a list\, with values chosen from the following options: \c
- * "checkpoint"\, \c "data"\, \c "log"; default empty.}
- * @config{encryption = (, configure an encryptor for system wide metadata and
- * logs. If a system wide encryptor is set\, it is also used for encrypting
- * data files and tables\, unless encryption configuration is explicitly set for
- * them when they are created with WT_SESSION::create., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;keyid,
- * An identifier that identifies a unique instance of the encryptor. It is
- * stored in clear text\, and thus is available when the wiredtiger database is
- * reopened. On the first use of a (name\, keyid) combination\, the
- * WT_ENCRYPTOR::customize function is called with the keyid as an argument., a
+ * @config{direct_io, Use \c O_DIRECT on POSIX systems\, and \c FILE_FLAG_NO_BUFFERING on Windows to
+ * access files. Options are given as a list\, such as <code>"direct_io=[data]"</code>. Configuring
+ * \c direct_io requires care\, see @ref tuning_system_buffer_cache_direct_io for important
+ * warnings. Including \c "data" will cause WiredTiger data files to use direct I/O\, including \c
+ * "log" will cause WiredTiger log files to use direct I/O\, and including \c "checkpoint" will
+ * cause WiredTiger data files opened at a checkpoint (i.e: read-only) to use direct I/O. \c
+ * direct_io should be combined with \c write_through to get the equivalent of \c O_DIRECT on
+ * Windows., a list\, with values chosen from the following options: \c "checkpoint"\, \c "data"\,
+ * \c "log"; default empty.}
+ * @config{encryption = (, configure an encryptor for system wide metadata and logs. If a system
+ * wide encryptor is set\, it is also used for encrypting data files and tables\, unless encryption
+ * configuration is explicitly set for them when they are created with WT_SESSION::create., a set of
+ * related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;keyid, An
+ * identifier that identifies a unique instance of the encryptor. It is stored in clear text\, and
+ * thus is available when the wiredtiger database is reopened. On the first use of a (name\, keyid)
+ * combination\, the WT_ENCRYPTOR::customize function is called with the keyid as an argument., a
* string; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, Permitted
- * values are \c "none" or custom encryption engine name created with
- * WT_CONNECTION::add_encryptor. See @ref encryption for more information., a
- * string; default \c none.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;secretkey, A string
- * that is passed to the WT_ENCRYPTOR::customize function. It is never stored
- * in clear text\, so must be given to any subsequent ::wiredtiger_open calls to
- * reopen the database. It must also be provided to any "wt" commands used with
- * this database., a string; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, Permitted values are \c "none" or
+ * custom encryption engine name created with WT_CONNECTION::add_encryptor. See @ref encryption for
+ * more information., a string; default \c none.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;secretkey, A
+ * string that is passed to the WT_ENCRYPTOR::customize function. It is never stored in clear
+ * text\, so must be given to any subsequent ::wiredtiger_open calls to reopen the database. It
+ * must also be provided to any "wt" commands used with this database., a string; default empty.}
* @config{ ),,}
- * @config{error_prefix, prefix string for error messages., a string; default
- * empty.}
- * @config{eviction = (, eviction configuration options., a set of related
- * configuration options defined below.}
+ * @config{error_prefix, prefix string for error messages., a string; default empty.}
+ * @config{eviction = (, eviction configuration options., a set of related configuration options
+ * defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads_max, maximum number of threads WiredTiger
+ * will start to help evict pages from cache. The number of threads started will vary depending on
+ * the current eviction load. Each eviction worker thread uses a session from the configured
+ * session_max., an integer between 1 and 20; default \c 8.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * threads_max, maximum number of threads WiredTiger will start to help evict
- * pages from cache. The number of threads started will vary depending on the
- * current eviction load. Each eviction worker thread uses a session from the
- * configured session_max., an integer between 1 and 20; default \c 8.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;threads_min, minimum number of threads
- * WiredTiger will start to help evict pages from cache. The number of threads
- * currently running will vary depending on the current eviction load., an
- * integer between 1 and 20; default \c 1.}
+ * threads_min, minimum number of threads WiredTiger will start to help evict pages from cache. The
+ * number of threads currently running will vary depending on the current eviction load., an integer
+ * between 1 and 20; default \c 1.}
* @config{ ),,}
- * @config{eviction_checkpoint_target, perform eviction at the beginning of
- * checkpoints to bring the dirty content in cache to this level. It is a
- * percentage of the cache size if the value is within the range of 0 to 100 or
- * an absolute size when greater than 100. The value is not allowed to exceed
- * the \c cache_size. Ignored if set to zero or \c in_memory is \c true., an
- * integer between 0 and 10TB; default \c 1.}
- * @config{eviction_dirty_target, perform eviction in worker threads when the
- * cache contains at least this much dirty content. It is a percentage of the
- * cache size if the value is within the range of 1 to 100 or an absolute size
- * when greater than 100. The value is not allowed to exceed the \c cache_size.,
- * an integer between 1 and 10TB; default \c 5.}
- * @config{eviction_dirty_trigger, trigger application threads to perform
- * eviction when the cache contains at least this much dirty content. It is a
- * percentage of the cache size if the value is within the range of 1 to 100 or
- * an absolute size when greater than 100. The value is not allowed to exceed
- * the \c cache_size. This setting only alters behavior if it is lower than
+ * @config{eviction_checkpoint_target, perform eviction at the beginning of checkpoints to bring the
+ * dirty content in cache to this level. It is a percentage of the cache size if the value is
+ * within the range of 0 to 100 or an absolute size when greater than 100. The value is not allowed
+ * to exceed the \c cache_size. Ignored if set to zero or \c in_memory is \c true., an integer
+ * between 0 and 10TB; default \c 1.}
+ * @config{eviction_dirty_target, perform eviction in worker threads when the cache contains at
+ * least this much dirty content. It is a percentage of the cache size if the value is within the
+ * range of 1 to 100 or an absolute size when greater than 100. The value is not allowed to exceed
+ * the \c cache_size., an integer between 1 and 10TB; default \c 5.}
+ * @config{eviction_dirty_trigger, trigger application threads to perform eviction when the cache
+ * contains at least this much dirty content. It is a percentage of the cache size if the value is
+ * within the range of 1 to 100 or an absolute size when greater than 100. The value is not allowed
+ * to exceed the \c cache_size. This setting only alters behavior if it is lower than
* eviction_trigger., an integer between 1 and 10TB; default \c 20.}
- * @config{eviction_target, perform eviction in worker threads when the cache
- * contains at least this much content. It is a percentage of the cache size if
- * the value is within the range of 10 to 100 or an absolute size when greater
- * than 100. The value is not allowed to exceed the \c cache_size., an integer
- * between 10 and 10TB; default \c 80.}
- * @config{eviction_trigger, trigger application threads to perform eviction
- * when the cache contains at least this much content. It is a percentage of
- * the cache size if the value is within the range of 10 to 100 or an absolute
- * size when greater than 100. The value is not allowed to exceed the \c
- * cache_size., an integer between 10 and 10TB; default \c 95.}
- * @config{exclusive, fail if the database already exists\, generally used with
- * the \c create option., a boolean flag; default \c false.}
- * @config{extensions, list of shared library extensions to load (using dlopen).
- * Any values specified to a library extension are passed to
- * WT_CONNECTION::load_extension as the \c config parameter (for example\,
- * <code>extensions=(/path/ext.so={entry=my_entry})</code>)., a list of strings;
- * default empty.}
- * @config{file_extend, file extension configuration. If set\, extend files of
- * the set type in allocations of the set size\, instead of a block at a time as
- * each new block is written. For example\,
- * <code>file_extend=(data=16MB)</code>. If set to 0\, disable the file
- * extension for the set type. For log files\, the allowed range is between
- * 100KB and 2GB; values larger than the configured maximum log size and the
- * default config would extend log files in allocations of the maximum log file
- * size., a list\, with values chosen from the following options: \c "data"\, \c
+ * @config{eviction_target, perform eviction in worker threads when the cache contains at least this
+ * much content. It is a percentage of the cache size if the value is within the range of 10 to 100
+ * or an absolute size when greater than 100. The value is not allowed to exceed the \c cache_size.,
+ * an integer between 10 and 10TB; default \c 80.}
+ * @config{eviction_trigger, trigger application threads to perform eviction when the cache contains
+ * at least this much content. It is a percentage of the cache size if the value is within the
+ * range of 10 to 100 or an absolute size when greater than 100. The value is not allowed to exceed
+ * the \c cache_size., an integer between 10 and 10TB; default \c 95.}
+ * @config{exclusive, fail if the database already exists\, generally used with the \c create
+ * option., a boolean flag; default \c false.}
+ * @config{extensions, list of shared library extensions to load (using dlopen). Any values
+ * specified to a library extension are passed to WT_CONNECTION::load_extension as the \c config
+ * parameter (for example\, <code>extensions=(/path/ext.so={entry=my_entry})</code>)., a list of
+ * strings; default empty.}
+ * @config{file_extend, file extension configuration. If set\, extend files of the set type in
+ * allocations of the set size\, instead of a block at a time as each new block is written. For
+ * example\, <code>file_extend=(data=16MB)</code>. If set to 0\, disable the file extension for the
+ * set type. For log files\, the allowed range is between 100KB and 2GB; values larger than the
+ * configured maximum log size and the default config would extend log files in allocations of the
+ * maximum log file size., a list\, with values chosen from the following options: \c "data"\, \c
* "log"; default empty.}
- * @config{file_manager = (, control how file handles are managed., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_handle_minimum, number of handles open
- * before the file manager will look for handles to close., an integer greater
- * than or equal to 0; default \c 250.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * close_idle_time, amount of time in seconds a file handle needs to be idle
- * before attempting to close it. A setting of 0 means that idle handles are
- * not closed., an integer between 0 and 100000; default \c 30.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_scan_interval, interval in seconds at
- * which to check for files that are inactive and close them., an integer
- * between 1 and 100000; default \c 10.}
- * @config{ ),,}
- * @config{in_memory, keep data in-memory only. See @ref in_memory for more
- * information., a boolean flag; default \c false.}
- * @config{io_capacity = (, control how many bytes per second are written and
- * read. Exceeding the capacity results in throttling., a set of related
- * configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;total,
- * number of bytes per second available to all subsystems in total. When set\,
- * decisions about what subsystems are throttled\, and in what proportion\, are
- * made internally. The minimum non-zero setting is 1MB., an integer between 0
- * and 1TB; default \c 0.}
+ * @config{file_manager = (, control how file handles are managed., a set of related configuration
+ * options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_handle_minimum, number of handles
+ * open before the file manager will look for handles to close., an integer greater than or equal to
+ * 0; default \c 250.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_idle_time, amount of time in seconds a
+ * file handle needs to be idle before attempting to close it. A setting of 0 means that idle
+ * handles are not closed., an integer between 0 and 100000; default \c 30.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;close_scan_interval, interval in seconds at which to check for
+ * files that are inactive and close them., an integer between 1 and 100000; default \c 10.}
* @config{ ),,}
- * @config{log = (, enable logging. Enabling logging uses three sessions from
- * the configured session_max., a set of related configuration options defined
- * below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;archive, automatically archive
- * unneeded log files., a boolean flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;compressor, configure a compressor for log
- * records. Permitted values are \c "none" or custom compression engine name
- * created with WT_CONNECTION::add_compressor. If WiredTiger has builtin
- * support for \c "lz4"\, \c "snappy"\, \c "zlib" or \c "zstd" compression\,
- * these names are also available. See @ref compression for more information.,
- * a string; default \c none.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable
- * logging subsystem., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, the maximum size of log files., an
- * integer between 100KB and 2GB; default \c 100MB.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;os_cache_dirty_pct, maximum dirty system
- * buffer cache usage\, as a percentage of the log's \c file_max. If non-zero\,
- * schedule writes for dirty blocks belonging to the log in the system buffer
- * cache after that percentage of the log has been written into the buffer cache
- * without an intervening file sync., an integer between 0 and 100; default \c
+ * @config{in_memory, keep data in-memory only. See @ref in_memory for more information., a boolean
+ * flag; default \c false.}
+ * @config{io_capacity = (, control how many bytes per second are written and read. Exceeding the
+ * capacity results in throttling., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;total, number of bytes per second available to all subsystems in
+ * total. When set\, decisions about what subsystems are throttled\, and in what proportion\, are
+ * made internally. The minimum non-zero setting is 1MB., an integer between 0 and 1TB; default \c
* 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the name of a directory into which
- * log files are written. The directory must already exist. If the value is
- * not an absolute path\, the path is relative to the database home (see @ref
- * absolute_path for more information)., a string; default \c ".".}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;prealloc, pre-allocate log files., a boolean
- * flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;recover, run recovery
- * or error if recovery needs to run after an unclean shutdown., a string\,
- * chosen from the following options: \c "error"\, \c "on"; default \c on.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;zero_fill, manually write zeroes into log
- * files., a boolean flag; default \c false.}
* @config{ ),,}
- * @config{lsm_manager = (, configure database wide options for LSM tree
- * management. The LSM manager is started automatically the first time an LSM
- * tree is opened. The LSM manager uses a session from the configured
+ * @config{log = (, enable logging. Enabling logging uses three sessions from the configured
* session_max., a set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge, merge LSM chunks where possible., a
- * boolean flag; default \c true.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;
- * worker_thread_max, Configure a set of threads to manage merging LSM trees in
- * the database. Each worker thread uses a session handle from the configured
- * session_max., an integer between 3 and 20; default \c 4.}
- * @config{ ),,}
- * @config{mmap, Use memory mapping to access files when possible., a boolean
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;archive, automatically archive unneeded log files., a boolean
* flag; default \c true.}
- * @config{multiprocess, permit sharing between processes (will automatically
- * start an RPC server for primary processes and use RPC for secondary
- * processes). <b>Not yet supported in WiredTiger</b>., a boolean flag; default
- * \c false.}
- * @config{operation_tracking = (, enable tracking of performance-critical
- * functions. See @ref operation_tracking for more information., a set of
- * related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable operation tracking
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;compressor, configure a compressor for
+ * log records. Permitted values are \c "none" or custom compression engine name created with
+ * WT_CONNECTION::add_compressor. If WiredTiger has builtin support for \c "lz4"\, \c "snappy"\, \c
+ * "zlib" or \c "zstd" compression\, these names are also available. See @ref compression for more
+ * information., a string; default \c none.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable logging
* subsystem., a boolean flag; default \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;file_max, the
+ * maximum size of log files., an integer between 100KB and 2GB; default \c 100MB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;os_cache_dirty_pct, maximum dirty system buffer cache usage\, as
+ * a percentage of the log's \c file_max. If non-zero\, schedule writes for dirty blocks belonging
+ * to the log in the system buffer cache after that percentage of the log has been written into the
+ * buffer cache without an intervening file sync., an integer between 0 and 100; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the name of a directory into which log files are written.
+ * The directory must already exist. If the value is not an absolute path\, the path is relative to
+ * the database home (see @ref absolute_path for more information)., a string; default \c ".".}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;prealloc, pre-allocate log files., a boolean flag; default \c
+ * true.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;recover, run recovery or error if recovery needs to run
+ * after an unclean shutdown., a string\, chosen from the following options: \c "error"\, \c "on";
+ * default \c on.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;zero_fill, manually write zeroes into log files.,
+ * a boolean flag; default \c false.}
+ * @config{ ),,}
+ * @config{lsm_manager = (, configure database wide options for LSM tree management. The LSM
+ * manager is started automatically the first time an LSM tree is opened. The LSM manager uses a
+ * session from the configured session_max., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;merge, merge LSM chunks where possible., a boolean flag; default
+ * \c true.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;worker_thread_max, Configure a set of threads to manage
+ * merging LSM trees in the database. Each worker thread uses a session handle from the configured
+ * session_max., an integer between 3 and 20; default \c 4.}
+ * @config{ ),,}
+ * @config{mmap, Use memory mapping to access files when possible., a boolean flag; default \c
+ * true.}
+ * @config{multiprocess, permit sharing between processes (will automatically start an RPC server
+ * for primary processes and use RPC for secondary processes). <b>Not yet supported in
+ * WiredTiger</b>., a boolean flag; default \c false.}
+ * @config{operation_tracking = (, enable tracking of performance-critical functions. See @ref
+ * operation_tracking for more information., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, enable operation tracking subsystem., a boolean flag;
+ * default \c false.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the name of a directory into which
- * operation tracking files are written. The directory must already exist. If
- * the value is not an absolute path\, the path is relative to the database home
- * (see @ref absolute_path for more information)., a string; default \c ".".}
+ * operation tracking files are written. The directory must already exist. If the value is not an
+ * absolute path\, the path is relative to the database home (see @ref absolute_path for more
+ * information)., a string; default \c ".".}
* @config{ ),,}
- * @config{readonly, open connection in read-only mode. The database must
- * exist. All methods that may modify a database are disabled. See @ref
- * readonly for more information., a boolean flag; default \c false.}
- * @config{salvage, open connection and salvage any WiredTiger-owned database
- * and log files that it detects as corrupted. This API should only be used
- * after getting an error return of WT_TRY_SALVAGE. Salvage rebuilds files in
- * place\, overwriting existing files. We recommend making a backup copy of all
- * files with the WiredTiger prefix prior to passing this flag., a boolean flag;
+ * @config{readonly, open connection in read-only mode. The database must exist. All methods that
+ * may modify a database are disabled. See @ref readonly for more information., a boolean flag;
* default \c false.}
- * @config{session_max, maximum expected number of sessions (including server
- * threads)., an integer greater than or equal to 1; default \c 100.}
- * @config{shared_cache = (, shared cache configuration options. A database
- * should configure either a cache_size or a shared_cache not both. Enabling a
- * shared cache uses a session from the configured session_max. A shared cache
- * can not have absolute values configured for cache eviction settings., a set
- * of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk, the granularity that a shared cache is
- * redistributed., an integer between 1MB and 10TB; default \c 10MB.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, the name of a cache that is shared
- * between databases or \c "none" when no shared cache is configured., a string;
- * default \c none.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;quota, maximum size of
- * cache this database can be allocated from the shared cache. Defaults to the
- * entire shared cache size., an integer; default \c 0.}
+ * @config{salvage, open connection and salvage any WiredTiger-owned database and log files that it
+ * detects as corrupted. This API should only be used after getting an error return of
+ * WT_TRY_SALVAGE. Salvage rebuilds files in place\, overwriting existing files. We recommend
+ * making a backup copy of all files with the WiredTiger prefix prior to passing this flag., a
+ * boolean flag; default \c false.}
+ * @config{session_max, maximum expected number of sessions (including server threads)., an integer
+ * greater than or equal to 1; default \c 100.}
+ * @config{shared_cache = (, shared cache configuration options. A database should configure either
+ * a cache_size or a shared_cache not both. Enabling a shared cache uses a session from the
+ * configured session_max. A shared cache can not have absolute values configured for cache
+ * eviction settings., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;chunk, the granularity that a shared cache is redistributed., an
+ * integer between 1MB and 10TB; default \c 10MB.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;name, the name of
+ * a cache that is shared between databases or \c "none" when no shared cache is configured., a
+ * string; default \c none.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;quota, maximum size of cache this
+ * database can be allocated from the shared cache. Defaults to the entire shared cache size., an
+ * integer; default \c 0.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;reserve, amount of cache this database is
- * guaranteed to have available from the shared cache. This setting is per
- * database. Defaults to the chunk size., an integer; default \c 0.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;size, maximum memory to allocate for the
- * shared cache. Setting this will update the value if one is already set., an
+ * guaranteed to have available from the shared cache. This setting is per database. Defaults to
+ * the chunk size., an integer; default \c 0.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;size, maximum memory
+ * to allocate for the shared cache. Setting this will update the value if one is already set., an
* integer between 1MB and 10TB; default \c 500MB.}
* @config{ ),,}
- * @config{statistics, Maintain database statistics\, which may impact
- * performance. Choosing "all" maintains all statistics regardless of cost\,
- * "fast" maintains a subset of statistics that are relatively inexpensive\,
- * "none" turns off all statistics. The "clear" configuration resets statistics
- * after they are gathered\, where appropriate (for example\, a cache size
- * statistic is not cleared\, while the count of cursor insert operations will
- * be cleared). When "clear" is configured for the database\, gathered
- * statistics are reset each time a statistics cursor is used to gather
- * statistics\, as well as each time statistics are logged using the \c
- * statistics_log configuration. See @ref statistics for more information., a
- * list\, with values chosen from the following options: \c "all"\, \c
- * "cache_walk"\, \c "fast"\, \c "none"\, \c "clear"\, \c "tree_walk"; default
- * \c none.}
- * @config{statistics_log = (, log any statistics the database is configured to
- * maintain\, to a file. See @ref statistics for more information. Enabling
- * the statistics log server uses a session from the configured session_max., a
- * set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;json, encode statistics in JSON format., a
- * boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;on_close,
- * log statistics on database close., a boolean flag; default \c false.}
+ * @config{statistics, Maintain database statistics\, which may impact performance. Choosing "all"
+ * maintains all statistics regardless of cost\, "fast" maintains a subset of statistics that are
+ * relatively inexpensive\, "none" turns off all statistics. The "clear" configuration resets
+ * statistics after they are gathered\, where appropriate (for example\, a cache size statistic is
+ * not cleared\, while the count of cursor insert operations will be cleared). When "clear" is
+ * configured for the database\, gathered statistics are reset each time a statistics cursor is used
+ * to gather statistics\, as well as each time statistics are logged using the \c statistics_log
+ * configuration. See @ref statistics for more information., a list\, with values chosen from the
+ * following options: \c "all"\, \c "cache_walk"\, \c "fast"\, \c "none"\, \c "clear"\, \c
+ * "tree_walk"; default \c none.}
+ * @config{statistics_log = (, log any statistics the database is configured to maintain\, to a
+ * file. See @ref statistics for more information. Enabling the statistics log server uses a
+ * session from the configured session_max., a set of related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;json, encode statistics in JSON format., a boolean flag; default
+ * \c false.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;on_close, log statistics on database close., a boolean
+ * flag; default \c false.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;path, the name of a directory into which
- * statistics files are written. The directory must already exist. If the
- * value is not an absolute path\, the path is relative to the database home
- * (see @ref absolute_path for more information)., a string; default \c ".".}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;sources, if non-empty\, include statistics
- * for the list of data source URIs\, if they are open at the time of the
- * statistics logging. The list may include URIs matching a single data source
- * ("table:mytable")\, or a URI matching all data sources of a particular type
- * ("table:")., a list of strings; default empty.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;timestamp, a timestamp prepended to each log
- * record\, may contain strftime conversion specifications\, when \c json is
- * configured\, defaults to \c "%FT%Y.000Z"., a string; default \c "%b %d
- * %H:%M:%S".}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait between
- * each write of the log records; setting this value above 0 configures
- * statistics logging., an integer between 0 and 100000; default \c 0.}
- * @config{
- * ),,}
- * @config{transaction_sync = (, how to sync log records when the transaction
- * commits., a set of related configuration options defined below.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, whether to sync the log on every
- * commit by default\, can be overridden by the \c sync setting to
+ * statistics files are written. The directory must already exist. If the value is not an absolute
+ * path\, the path is relative to the database home (see @ref absolute_path for more information).,
+ * a string; default \c ".".}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;sources, if non-empty\, include
+ * statistics for the list of data source URIs\, if they are open at the time of the statistics
+ * logging. The list may include URIs matching a single data source ("table:mytable")\, or a URI
+ * matching all data sources of a particular type ("table:")., a list of strings; default empty.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;timestamp, a timestamp prepended to each log record\, may contain
+ * strftime conversion specifications\, when \c json is configured\, defaults to \c "%FT%Y.000Z"., a
+ * string; default \c "%b %d %H:%M:%S".}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;wait, seconds to wait
+ * between each write of the log records; setting this value above 0 configures statistics logging.,
+ * an integer between 0 and 100000; default \c 0.}
+ * @config{ ),,}
+ * @config{transaction_sync = (, how to sync log records when the transaction commits., a set of
+ * related configuration options defined below.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;enabled, whether to
+ * sync the log on every commit by default\, can be overridden by the \c sync setting to
* WT_SESSION::commit_transaction., a boolean flag; default \c false.}
- * @config{&nbsp;&nbsp;&nbsp;&nbsp;method, the method used to ensure log records
- * are stable on disk\, see @ref tune_durability for more information., a
- * string\, chosen from the following options: \c "dsync"\, \c "fsync"\, \c
- * "none"; default \c fsync.}
+ * @config{&nbsp;&nbsp;&nbsp;&nbsp;method, the method used to ensure log records are stable on
+ * disk\, see @ref tune_durability for more information., a string\, chosen from the following
+ * options: \c "dsync"\, \c "fsync"\, \c "none"; default \c fsync.}
* @config{ ),,}
- * @config{use_environment, use the \c WIREDTIGER_CONFIG and \c WIREDTIGER_HOME
- * environment variables if the process is not running with special privileges.
- * See @ref home for more information., a boolean flag; default \c true.}
- * @config{use_environment_priv, use the \c WIREDTIGER_CONFIG and \c
- * WIREDTIGER_HOME environment variables even if the process is running with
- * special privileges. See @ref home for more information., a boolean flag;
- * default \c false.}
- * @config{verbose, enable messages for various events. Options are given as a
- * list\, such as <code>"verbose=[evictserver\,read]"</code>., a list\, with
- * values chosen from the following options: \c "api"\, \c "block"\, \c
- * "checkpoint"\, \c "checkpoint_progress"\, \c "compact"\, \c
- * "compact_progress"\, \c "error_returns"\, \c "evict"\, \c "evict_stuck"\, \c
- * "evictserver"\, \c "fileops"\, \c "handleops"\, \c "log"\, \c "lookaside"\,
- * \c "lookaside_activity"\, \c "lsm"\, \c "lsm_manager"\, \c "metadata"\, \c
- * "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c "reconcile"\, \c
- * "recovery"\, \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c
- * "split"\, \c "temporary"\, \c "thread_group"\, \c "timestamp"\, \c
- * "transaction"\, \c "verify"\, \c "version"\, \c "write"; default empty.}
- * @config{write_through, Use \c FILE_FLAG_WRITE_THROUGH on Windows to write to
- * files. Ignored on non-Windows systems. Options are given as a list\, such
- * as <code>"write_through=[data]"</code>. Configuring \c write_through requires
- * care\, see @ref tuning_system_buffer_cache_direct_io for important warnings.
- * Including \c "data" will cause WiredTiger data files to write through cache\,
- * including \c "log" will cause WiredTiger log files to write through cache.
- * \c write_through should be combined with \c direct_io to get the equivalent
- * of POSIX \c O_DIRECT on Windows., a list\, with values chosen from the
- * following options: \c "data"\, \c "log"; default empty.}
+ * @config{use_environment, use the \c WIREDTIGER_CONFIG and \c WIREDTIGER_HOME environment
+ * variables if the process is not running with special privileges. See @ref home for more
+ * information., a boolean flag; default \c true.}
+ * @config{use_environment_priv, use the \c WIREDTIGER_CONFIG and \c WIREDTIGER_HOME environment
+ * variables even if the process is running with special privileges. See @ref home for more
+ * information., a boolean flag; default \c false.}
+ * @config{verbose, enable messages for various events. Options are given as a list\, such as
+ * <code>"verbose=[evictserver\,read]"</code>., a list\, with values chosen from the following
+ * options: \c "api"\, \c "block"\, \c "checkpoint"\, \c "checkpoint_progress"\, \c "compact"\, \c
+ * "compact_progress"\, \c "error_returns"\, \c "evict"\, \c "evict_stuck"\, \c "evictserver"\, \c
+ * "fileops"\, \c "handleops"\, \c "log"\, \c "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c
+ * "lsm_manager"\, \c "metadata"\, \c "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c
+ * "reconcile"\, \c "recovery"\, \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c
+ * "split"\, \c "temporary"\, \c "thread_group"\, \c "timestamp"\, \c "transaction"\, \c "verify"\,
+ * \c "version"\, \c "write"; default empty.}
+ * @config{write_through, Use \c FILE_FLAG_WRITE_THROUGH on Windows to write to files. Ignored on
+ * non-Windows systems. Options are given as a list\, such as <code>"write_through=[data]"</code>.
+ * Configuring \c write_through requires care\, see @ref tuning_system_buffer_cache_direct_io for
+ * important warnings. Including \c "data" will cause WiredTiger data files to write through
+ * cache\, including \c "log" will cause WiredTiger log files to write through cache. \c
+ * write_through should be combined with \c direct_io to get the equivalent of POSIX \c O_DIRECT on
+ * Windows., a list\, with values chosen from the following options: \c "data"\, \c "log"; default
+ * empty.}
* @configend
* Additionally, if files named \c WiredTiger.config or \c WiredTiger.basecfg
* appear in the WiredTiger home directory, they are read for configuration