summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorAlex Gorrod <alexander.gorrod@mongodb.com>2017-05-25 10:50:53 -0400
committerGitHub <noreply@github.com>2017-05-25 10:50:53 -0400
commit4641a4586fd18925b3e91881b7c5fd7a203c337b (patch)
treedda590b7d49981bc868d990384b3cfb756a33c12 /src/include
parentf7ac27044ef7a0332c68be16d51ad25077d4f8b2 (diff)
downloadmongo-4641a4586fd18925b3e91881b7c5fd7a203c337b.tar.gz
WT-2972 Add interface allowing partial updates to existing values (#3435)
Diffstat (limited to 'src/include')
-rw-r--r--src/include/btmem.h37
-rw-r--r--src/include/cursor.h2
-rw-r--r--src/include/extern.h7
-rw-r--r--src/include/log.h2
-rw-r--r--src/include/lsm.h4
-rw-r--r--src/include/mutex.h4
-rw-r--r--src/include/mutex.i8
-rw-r--r--src/include/schema.h2
-rw-r--r--src/include/stat.h4
-rw-r--r--src/include/txn.i2
-rw-r--r--src/include/verify_build.h1
-rw-r--r--src/include/wiredtiger.in406
12 files changed, 278 insertions, 201 deletions
diff --git a/src/include/btmem.h b/src/include/btmem.h
index 6755db81007..4e8d3c05d7d 100644
--- a/src/include/btmem.h
+++ b/src/include/btmem.h
@@ -208,7 +208,7 @@ struct __wt_ovfl_txnc {
*/
#define WT_LAS_FORMAT \
"key_format=" WT_UNCHECKED_STRING(IuQQu) \
- ",value_format=" WT_UNCHECKED_STRING(QIu)
+ ",value_format=" WT_UNCHECKED_STRING(QBu)
/*
* WT_PAGE_MODIFY --
@@ -809,11 +809,11 @@ struct __wt_row { /* On-page key, on-page cell, or off-page WT_IKEY */
* Walk the entries of an in-memory row-store leaf page.
*/
#define WT_ROW_FOREACH(page, rip, i) \
- for ((i) = (page)->entries, \
+ for ((i) = (page)->entries, \
(rip) = (page)->pg_row; (i) > 0; ++(rip), --(i))
#define WT_ROW_FOREACH_REVERSE(page, rip, i) \
- for ((i) = (page)->entries, \
- (rip) = (page)->pg_row + ((page)->entries - 1); \
+ for ((i) = (page)->entries, \
+ (rip) = (page)->pg_row + ((page)->entries - 1); \
(i) > 0; --(rip), --(i))
/*
@@ -861,7 +861,7 @@ struct __wt_col {
* Walk the entries of variable-length column-store leaf page.
*/
#define WT_COL_FOREACH(page, cip, i) \
- for ((i) = (page)->entries, \
+ for ((i) = (page)->entries, \
(cip) = (page)->pg_var; (i) > 0; ++(cip), --(i))
/*
@@ -908,23 +908,16 @@ struct __wt_ikey {
* list.
*/
WT_PACKED_STRUCT_BEGIN(__wt_update)
- uint64_t txnid; /* update transaction */
+ uint64_t txnid; /* transaction */
WT_UPDATE *next; /* forward-linked list */
- /*
- * Use the maximum size and maximum size-1 as is-deleted and is-reserved
- * flags (which means we can't store 4GB objects), instead of increasing
- * the size of this structure for a flag bit.
- */
-#define WT_UPDATE_DELETED_VALUE UINT32_MAX
-#define WT_UPDATE_DELETED_SET(u) ((u)->size = WT_UPDATE_DELETED_VALUE)
-#define WT_UPDATE_DELETED_ISSET(u) ((u)->size == WT_UPDATE_DELETED_VALUE)
+ uint32_t size; /* data length */
-#define WT_UPDATE_RESERVED_VALUE (UINT32_MAX - 1)
-#define WT_UPDATE_RESERVED_SET(u) ((u)->size = WT_UPDATE_RESERVED_VALUE)
-#define WT_UPDATE_RESERVED_ISSET(u) ((u)->size == WT_UPDATE_RESERVED_VALUE)
- uint32_t size; /* update length */
+#define WT_UPDATE_STANDARD 0
+#define WT_UPDATE_DELETED 1
+#define WT_UPDATE_RESERVED 2
+ uint8_t type; /* type (one byte to conserve memory) */
/* The untyped value immediately follows the WT_UPDATE structure. */
#define WT_UPDATE_DATA(upd) \
@@ -936,9 +929,13 @@ WT_PACKED_STRUCT_BEGIN(__wt_update)
* cache overhead calculation.
*/
#define WT_UPDATE_MEMSIZE(upd) \
- WT_ALIGN(sizeof(WT_UPDATE) + (WT_UPDATE_DELETED_ISSET(upd) || \
- WT_UPDATE_RESERVED_ISSET(upd) ? 0 : (upd)->size), 32)
+ WT_ALIGN(sizeof(WT_UPDATE) + (upd)->size, 32)
WT_PACKED_STRUCT_END
+/*
+ * WT_UPDATE_SIZE is the expected structure size -- we verify the build to
+ * ensure the compiler hasn't inserted padding.
+ */
+#define WT_UPDATE_SIZE 21
/*
* WT_INSERT --
diff --git a/src/include/cursor.h b/src/include/cursor.h
index b044329fbfe..8d2f2c80c2a 100644
--- a/src/include/cursor.h
+++ b/src/include/cursor.h
@@ -22,6 +22,7 @@
search, \
search_near, \
insert, \
+ modify, \
update, \
remove, \
reserve, \
@@ -44,6 +45,7 @@
search, \
search_near, \
insert, \
+ modify, \
update, \
remove, \
reserve, \
diff --git a/src/include/extern.h b/src/include/extern.h
index a3ce0f3746f..01c21b188c0 100644
--- a/src/include/extern.h
+++ b/src/include/extern.h
@@ -180,7 +180,7 @@ extern int __wt_verify_dsk(WT_SESSION_IMPL *session, const char *tag, WT_ITEM *b
extern int __wt_tree_walk(WT_SESSION_IMPL *session, WT_REF **refp, uint32_t flags) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_tree_walk_count(WT_SESSION_IMPL *session, WT_REF **refp, uint64_t *walkcntp, uint32_t flags) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_tree_walk_skip( WT_SESSION_IMPL *session, WT_REF **refp, uint64_t *skipleafcntp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
-extern int __wt_col_modify(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, uint64_t recno, const WT_ITEM *value, WT_UPDATE *upd_arg, bool is_remove, bool is_reserve) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+extern int __wt_col_modify(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, uint64_t recno, const WT_ITEM *value, WT_UPDATE *upd_arg, u_int modify_type) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_col_search(WT_SESSION_IMPL *session, uint64_t search_recno, WT_REF *leaf, WT_CURSOR_BTREE *cbt) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_row_leaf_keys(WT_SESSION_IMPL *session, WT_PAGE *page) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_row_leaf_key_copy( WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW *rip, WT_ITEM *key) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
@@ -189,9 +189,9 @@ extern int __wt_row_ikey_alloc(WT_SESSION_IMPL *session, uint32_t cell_offset, c
extern int __wt_row_ikey_incr(WT_SESSION_IMPL *session, WT_PAGE *page, uint32_t cell_offset, const void *key, size_t size, WT_REF *ref) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_row_ikey(WT_SESSION_IMPL *session, uint32_t cell_offset, const void *key, size_t size, WT_REF *ref) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_page_modify_alloc(WT_SESSION_IMPL *session, WT_PAGE *page) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
-extern int __wt_row_modify(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, const WT_ITEM *key, const WT_ITEM *value, WT_UPDATE *upd_arg, bool is_remove, bool is_reserve) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+extern int __wt_row_modify(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, const WT_ITEM *key, const WT_ITEM *value, WT_UPDATE *upd_arg, u_int modify_type) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_row_insert_alloc(WT_SESSION_IMPL *session, const WT_ITEM *key, u_int skipdepth, WT_INSERT **insp, size_t *ins_sizep) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
-extern int __wt_update_alloc(WT_SESSION_IMPL *session, const WT_ITEM *value, WT_UPDATE **updp, size_t *sizep, bool is_remove, bool is_reserve) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+extern int __wt_update_alloc(WT_SESSION_IMPL *session, const WT_ITEM *value, WT_UPDATE **updp, size_t *sizep, u_int modify_type) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern WT_UPDATE *__wt_update_obsolete_check( WT_SESSION_IMPL *session, WT_PAGE *page, WT_UPDATE *upd);
extern void __wt_update_obsolete_free( WT_SESSION_IMPL *session, WT_PAGE *page, WT_UPDATE *upd);
extern int __wt_search_insert(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt, WT_INSERT_HEAD *ins_head, WT_ITEM *srch_key) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
@@ -314,6 +314,7 @@ extern void __wt_cursor_set_key_notsup(WT_CURSOR *cursor, ...);
extern void __wt_cursor_set_value_notsup(WT_CURSOR *cursor, ...);
extern int __wt_cursor_compare_notsup(WT_CURSOR *a, WT_CURSOR *b, int *cmpp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_cursor_equals_notsup(WT_CURSOR *cursor, WT_CURSOR *other, int *equalp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
+extern int __wt_cursor_modify_notsup(WT_CURSOR *cursor, WT_MODIFY *entries, int nentries) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_cursor_search_near_notsup(WT_CURSOR *cursor, int *exact) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern int __wt_cursor_reconfigure_notsup(WT_CURSOR *cursor, const char *config) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result));
extern void __wt_cursor_set_notsup(WT_CURSOR *cursor);
diff --git a/src/include/log.h b/src/include/log.h
index f80514a3546..e7bc28cd220 100644
--- a/src/include/log.h
+++ b/src/include/log.h
@@ -130,7 +130,7 @@ union __wt_lsn {
#define WT_LOG_SLOT_FLAGS(state) ((state) & WT_LOG_SLOT_MASK_ON)
#define WT_LOG_SLOT_JOINED(state) (((state) & WT_LOG_SLOT_MASK_OFF) >> 32)
#define WT_LOG_SLOT_JOINED_BUFFERED(state) \
- (WT_LOG_SLOT_JOINED(state) & \
+ (WT_LOG_SLOT_JOINED(state) & \
(WT_LOG_SLOT_UNBUFFERED - 1))
#define WT_LOG_SLOT_JOIN_REL(j, r, s) (((j) << 32) + (r) + (s))
#define WT_LOG_SLOT_RELEASED(state) ((int64_t)(int32_t)(state))
diff --git a/src/include/lsm.h b/src/include/lsm.h
index 08313438eb8..f8d0f480cbb 100644
--- a/src/include/lsm.h
+++ b/src/include/lsm.h
@@ -240,11 +240,11 @@ struct __wt_lsm_tree {
* area, copying them into place when a statistics cursor is created.
*/
#define WT_LSM_TREE_STAT_INCR(session, fld) do { \
- if (WT_STAT_ENABLED(session)) \
+ if (WT_STAT_ENABLED(session)) \
++(fld); \
} while (0)
#define WT_LSM_TREE_STAT_INCRV(session, fld, v) do { \
- if (WT_STAT_ENABLED(session)) \
+ if (WT_STAT_ENABLED(session)) \
(fld) += (int64_t)(v); \
} while (0)
int64_t bloom_false_positive;
diff --git a/src/include/mutex.h b/src/include/mutex.h
index c0e25ebb295..00babd47fbf 100644
--- a/src/include/mutex.h
+++ b/src/include/mutex.h
@@ -66,8 +66,8 @@ struct __wt_spinlock {
WT_CACHE_LINE_PAD_BEGIN
#if SPINLOCK_TYPE == SPINLOCK_GCC
volatile int lock;
-#elif SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX ||\
- SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE ||\
+#elif SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX || \
+ SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE || \
SPINLOCK_TYPE == SPINLOCK_MSVC
wt_mutex_t lock;
#else
diff --git a/src/include/mutex.i b/src/include/mutex.i
index 44b8494cdbf..5b14bb24730 100644
--- a/src/include/mutex.i
+++ b/src/include/mutex.i
@@ -102,8 +102,8 @@ __wt_spin_unlock(WT_SESSION_IMPL *session, WT_SPINLOCK *t)
__sync_lock_release(&t->lock);
}
-#elif SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX ||\
- SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE
+#elif SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX || \
+ SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE
/*
* __wt_spin_init --
@@ -142,8 +142,8 @@ __wt_spin_destroy(WT_SESSION_IMPL *session, WT_SPINLOCK *t)
}
}
-#if SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX ||\
- SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE
+#if SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX || \
+ SPINLOCK_TYPE == SPINLOCK_PTHREAD_MUTEX_ADAPTIVE
/*
* __wt_spin_trylock --
diff --git a/src/include/schema.h b/src/include/schema.h
index fa836084834..8b8ee5616d1 100644
--- a/src/include/schema.h
+++ b/src/include/schema.h
@@ -323,7 +323,7 @@ struct __wt_table {
F_SET(session, WT_SESSION_LOCKED_HANDLE_LIST_READ); \
} \
if (__handle_write_locked) { \
- __wt_writelock(session, &__conn->dhandle_lock); \
+ __wt_writelock(session, &__conn->dhandle_lock); \
F_SET(session, WT_SESSION_LOCKED_HANDLE_LIST_WRITE); \
} \
} while (0)
diff --git a/src/include/stat.h b/src/include/stat.h
index beb589dc0ef..fa62cf27693 100644
--- a/src/include/stat.h
+++ b/src/include/stat.h
@@ -374,9 +374,11 @@ struct __wt_connection_stats {
int64_t write_io;
int64_t cursor_create;
int64_t cursor_insert;
+ int64_t cursor_modify;
int64_t cursor_next;
int64_t cursor_prev;
int64_t cursor_remove;
+ int64_t cursor_reserve;
int64_t cursor_reset;
int64_t cursor_restart;
int64_t cursor_search;
@@ -609,9 +611,11 @@ struct __wt_dsrc_stats {
int64_t cursor_remove_bytes;
int64_t cursor_update_bytes;
int64_t cursor_insert;
+ int64_t cursor_modify;
int64_t cursor_next;
int64_t cursor_prev;
int64_t cursor_remove;
+ int64_t cursor_reserve;
int64_t cursor_reset;
int64_t cursor_restart;
int64_t cursor_search;
diff --git a/src/include/txn.i b/src/include/txn.i
index 4b6ba17853f..f7321af5b12 100644
--- a/src/include/txn.i
+++ b/src/include/txn.i
@@ -235,7 +235,7 @@ __wt_txn_read(WT_SESSION_IMPL *session, WT_UPDATE *upd)
{
/* Skip reserved place-holders, they're never visible. */
for (; upd != NULL; upd = upd->next)
- if (!WT_UPDATE_RESERVED_ISSET(upd) &&
+ if (upd->type != WT_UPDATE_RESERVED &&
__wt_txn_visible(session, upd->txnid))
break;
diff --git a/src/include/verify_build.h b/src/include/verify_build.h
index d2ccf206990..e93f5931c21 100644
--- a/src/include/verify_build.h
+++ b/src/include/verify_build.h
@@ -52,6 +52,7 @@ __wt_verify_build(void)
/* Check specific structures weren't padded. */
WT_SIZE_CHECK(WT_BLOCK_DESC, WT_BLOCK_DESC_SIZE);
WT_SIZE_CHECK(WT_REF, WT_REF_SIZE);
+ WT_SIZE_CHECK(WT_UPDATE, WT_UPDATE_SIZE);
/* Check specific structures were padded. */
#define WT_PADDING_CHECK(s) \
diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in
index b93fbebef25..5e76b2915b1 100644
--- a/src/include/wiredtiger.in
+++ b/src/include/wiredtiger.in
@@ -49,12 +49,6 @@ extern "C" {
#define WT_ATTRIBUTE_LIBRARY_VISIBLE __attribute__((visibility("default")))
#endif
-#ifdef SWIG
-%{
-#include <wiredtiger.h>
-%}
-#endif
-
/*!
* @defgroup wt WiredTiger API
* The functions, handles and methods applications use to access and manage
@@ -84,6 +78,7 @@ struct __wt_extractor; typedef struct __wt_extractor WT_EXTRACTOR;
struct __wt_file_handle; typedef struct __wt_file_handle WT_FILE_HANDLE;
struct __wt_file_system; typedef struct __wt_file_system WT_FILE_SYSTEM;
struct __wt_item; typedef struct __wt_item WT_ITEM;
+struct __wt_modify; typedef struct __wt_modify WT_MODIFY;
struct __wt_session; typedef struct __wt_session WT_SESSION;
#if defined(SWIGJAVA)
@@ -138,6 +133,43 @@ struct __wt_item {
};
/*!
+ * A set of modifications for a value, including a pointer to new data and a
+ * length, plus a target offset in the value and an optional length of data
+ * in the value to be replaced.
+ *
+ * WT_MODIFY structures do not need to be cleared before use.
+ */
+struct __wt_modify {
+ /*!
+ * New data. The size of the new data may be zero when no new data is
+ * provided.
+ */
+ WT_ITEM data;
+
+ /*!
+ * The zero-based byte offset in the value where the new data is placed.
+ *
+ * If the offset is past the end of the value, nul bytes are appended to
+ * the value up to the specified offset.
+ */
+ size_t offset;
+
+ /*!
+ * The number of bytes in the value to be replaced.
+ *
+ * If the size is zero, no bytes from the value are replaced and the new
+ * data is inserted.
+ *
+ * If the offset is past the end of the value, the size is ignored.
+ *
+ * If the offset plus the size overlaps the end of the previous value,
+ * bytes from the offset to the end of the value are replaced and any
+ * remaining new data is appended.
+ */
+ size_t size;
+};
+
+/*!
* The maximum packed size of a 64-bit integer. The ::wiredtiger_struct_pack
* function will pack single long integers into at most this many bytes.
*/
@@ -446,6 +478,38 @@ struct __wt_cursor {
int __F(insert)(WT_CURSOR *cursor);
/*!
+ * Modify an existing record.
+ *
+ * Both the key and value must be set and the record must already exist;
+ * the record will be updated.
+ *
+ * Modification structures are applied in order, and later modifications
+ * can update earlier modifications.
+ *
+ * The modify method is only supported on raw byte arrays accessed using
+ * a WT_ITEM structure, that is, a format type of \c u.
+ *
+ * @snippet ex_all.c Modify an existing record
+ *
+ * On success, the cursor ends positioned at the modified record; to
+ * minimize cursor resources, the WT_CURSOR::reset method should be
+ * called as soon as the cursor no longer needs that position.
+ *
+ * The maximum length of a single column stored in a table is not fixed
+ * (as it partially depends on the underlying file configuration), but
+ * is always a small number of bytes less than 4GB.
+ *
+ * @param cursor the cursor handle
+ * @param entries an array of modification data structures
+ * @param nentries the number of modification data structures
+ * @errors
+ * In particular, if \c in_memory is configured for the database and
+ * the modify requires more than the configured cache size to complete,
+ * ::WT_CACHE_FULL is returned.
+ */
+ int __F(modify)(WT_CURSOR *cursor, WT_MODIFY *entries, int nentries);
+
+ /*!
* Update an existing record and optionally insert a record.
*
* If the cursor was configured with "overwrite=true" (the default),
@@ -474,7 +538,7 @@ struct __wt_cursor {
* @errors
* In particular, if \c overwrite=false is configured and no record with
* the specified key exists, ::WT_NOTFOUND is returned.
- * Also, if \c in_memory is configured for the database and the insert
+ * Also, if \c in_memory is configured for the database and the update
* requires more than the configured cache size to complete,
* ::WT_CACHE_FULL is returned.
*/
@@ -4614,292 +4678,296 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_CURSOR_CREATE 1115
/*! cursor: cursor insert calls */
#define WT_STAT_CONN_CURSOR_INSERT 1116
+/*! cursor: cursor modify calls */
+#define WT_STAT_CONN_CURSOR_MODIFY 1117
/*! cursor: cursor next calls */
-#define WT_STAT_CONN_CURSOR_NEXT 1117
+#define WT_STAT_CONN_CURSOR_NEXT 1118
/*! cursor: cursor prev calls */
-#define WT_STAT_CONN_CURSOR_PREV 1118
+#define WT_STAT_CONN_CURSOR_PREV 1119
/*! cursor: cursor remove calls */
-#define WT_STAT_CONN_CURSOR_REMOVE 1119
+#define WT_STAT_CONN_CURSOR_REMOVE 1120
+/*! cursor: cursor reserve calls */
+#define WT_STAT_CONN_CURSOR_RESERVE 1121
/*! cursor: cursor reset calls */
-#define WT_STAT_CONN_CURSOR_RESET 1120
+#define WT_STAT_CONN_CURSOR_RESET 1122
/*! cursor: cursor restarted searches */
-#define WT_STAT_CONN_CURSOR_RESTART 1121
+#define WT_STAT_CONN_CURSOR_RESTART 1123
/*! cursor: cursor search calls */
-#define WT_STAT_CONN_CURSOR_SEARCH 1122
+#define WT_STAT_CONN_CURSOR_SEARCH 1124
/*! cursor: cursor search near calls */
-#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1123
+#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1125
/*! cursor: cursor update calls */
-#define WT_STAT_CONN_CURSOR_UPDATE 1124
+#define WT_STAT_CONN_CURSOR_UPDATE 1126
/*! cursor: truncate calls */
-#define WT_STAT_CONN_CURSOR_TRUNCATE 1125
+#define WT_STAT_CONN_CURSOR_TRUNCATE 1127
/*! data-handle: connection data handles currently active */
-#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1126
+#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1128
/*! data-handle: connection sweep candidate became referenced */
-#define WT_STAT_CONN_DH_SWEEP_REF 1127
+#define WT_STAT_CONN_DH_SWEEP_REF 1129
/*! data-handle: connection sweep dhandles closed */
-#define WT_STAT_CONN_DH_SWEEP_CLOSE 1128
+#define WT_STAT_CONN_DH_SWEEP_CLOSE 1130
/*! data-handle: connection sweep dhandles removed from hash list */
-#define WT_STAT_CONN_DH_SWEEP_REMOVE 1129
+#define WT_STAT_CONN_DH_SWEEP_REMOVE 1131
/*! data-handle: connection sweep time-of-death sets */
-#define WT_STAT_CONN_DH_SWEEP_TOD 1130
+#define WT_STAT_CONN_DH_SWEEP_TOD 1132
/*! data-handle: connection sweeps */
-#define WT_STAT_CONN_DH_SWEEPS 1131
+#define WT_STAT_CONN_DH_SWEEPS 1133
/*! data-handle: session dhandles swept */
-#define WT_STAT_CONN_DH_SESSION_HANDLES 1132
+#define WT_STAT_CONN_DH_SESSION_HANDLES 1134
/*! data-handle: session sweep attempts */
-#define WT_STAT_CONN_DH_SESSION_SWEEPS 1133
+#define WT_STAT_CONN_DH_SESSION_SWEEPS 1135
/*! lock: checkpoint lock acquisitions */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1134
+#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT 1136
/*! lock: checkpoint lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1135
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION 1137
/*! lock: checkpoint lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1136
+#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL 1138
/*! lock: handle-list lock eviction thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_HANDLE_LIST_WAIT_EVICTION 1137
+#define WT_STAT_CONN_LOCK_HANDLE_LIST_WAIT_EVICTION 1139
/*! lock: metadata lock acquisitions */
-#define WT_STAT_CONN_LOCK_METADATA_COUNT 1138
+#define WT_STAT_CONN_LOCK_METADATA_COUNT 1140
/*! lock: metadata lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1139
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION 1141
/*! lock: metadata lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1140
+#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL 1142
/*! lock: schema lock acquisitions */
-#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1141
+#define WT_STAT_CONN_LOCK_SCHEMA_COUNT 1143
/*! lock: schema lock application thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1142
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION 1144
/*! lock: schema lock internal thread wait time (usecs) */
-#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1143
+#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL 1145
/*! lock: table lock acquisitions */
-#define WT_STAT_CONN_LOCK_TABLE_COUNT 1144
+#define WT_STAT_CONN_LOCK_TABLE_COUNT 1146
/*!
* lock: table lock application thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1145
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION 1147
/*!
* lock: table lock internal thread time waiting for the table lock
* (usecs)
*/
-#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1146
+#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL 1148
/*! log: busy returns attempting to switch slots */
-#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1147
+#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1149
/*! log: log bytes of payload data */
-#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1148
+#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1150
/*! log: log bytes written */
-#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1149
+#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1151
/*! log: log files manually zero-filled */
-#define WT_STAT_CONN_LOG_ZERO_FILLS 1150
+#define WT_STAT_CONN_LOG_ZERO_FILLS 1152
/*! log: log flush operations */
-#define WT_STAT_CONN_LOG_FLUSH 1151
+#define WT_STAT_CONN_LOG_FLUSH 1153
/*! log: log force write operations */
-#define WT_STAT_CONN_LOG_FORCE_WRITE 1152
+#define WT_STAT_CONN_LOG_FORCE_WRITE 1154
/*! log: log force write operations skipped */
-#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1153
+#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP 1155
/*! log: log records compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1154
+#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1156
/*! log: log records not compressed */
-#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1155
+#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1157
/*! log: log records too small to compress */
-#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1156
+#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1158
/*! log: log release advances write LSN */
-#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1157
+#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1159
/*! log: log scan operations */
-#define WT_STAT_CONN_LOG_SCANS 1158
+#define WT_STAT_CONN_LOG_SCANS 1160
/*! log: log scan records requiring two reads */
-#define WT_STAT_CONN_LOG_SCAN_REREADS 1159
+#define WT_STAT_CONN_LOG_SCAN_REREADS 1161
/*! log: log server thread advances write LSN */
-#define WT_STAT_CONN_LOG_WRITE_LSN 1160
+#define WT_STAT_CONN_LOG_WRITE_LSN 1162
/*! log: log server thread write LSN walk skipped */
-#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1161
+#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP 1163
/*! log: log sync operations */
-#define WT_STAT_CONN_LOG_SYNC 1162
+#define WT_STAT_CONN_LOG_SYNC 1164
/*! log: log sync time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DURATION 1163
+#define WT_STAT_CONN_LOG_SYNC_DURATION 1165
/*! log: log sync_dir operations */
-#define WT_STAT_CONN_LOG_SYNC_DIR 1164
+#define WT_STAT_CONN_LOG_SYNC_DIR 1166
/*! log: log sync_dir time duration (usecs) */
-#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1165
+#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION 1167
/*! log: log write operations */
-#define WT_STAT_CONN_LOG_WRITES 1166
+#define WT_STAT_CONN_LOG_WRITES 1168
/*! log: logging bytes consolidated */
-#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1167
+#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1169
/*! log: maximum log file size */
-#define WT_STAT_CONN_LOG_MAX_FILESIZE 1168
+#define WT_STAT_CONN_LOG_MAX_FILESIZE 1170
/*! log: number of pre-allocated log files to create */
-#define WT_STAT_CONN_LOG_PREALLOC_MAX 1169
+#define WT_STAT_CONN_LOG_PREALLOC_MAX 1171
/*! log: pre-allocated log files not ready and missed */
-#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1170
+#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1172
/*! log: pre-allocated log files prepared */
-#define WT_STAT_CONN_LOG_PREALLOC_FILES 1171
+#define WT_STAT_CONN_LOG_PREALLOC_FILES 1173
/*! log: pre-allocated log files used */
-#define WT_STAT_CONN_LOG_PREALLOC_USED 1172
+#define WT_STAT_CONN_LOG_PREALLOC_USED 1174
/*! log: records processed by log scan */
-#define WT_STAT_CONN_LOG_SCAN_RECORDS 1173
+#define WT_STAT_CONN_LOG_SCAN_RECORDS 1175
/*! log: slot close lost race */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1174
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE 1176
/*! log: slot close unbuffered waits */
-#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1175
+#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF 1177
/*! log: slot closures */
-#define WT_STAT_CONN_LOG_SLOT_CLOSES 1176
+#define WT_STAT_CONN_LOG_SLOT_CLOSES 1178
/*! log: slot join atomic update races */
-#define WT_STAT_CONN_LOG_SLOT_RACES 1177
+#define WT_STAT_CONN_LOG_SLOT_RACES 1179
/*! log: slot join calls atomic updates raced */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1178
+#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE 1180
/*! log: slot join calls did not yield */
-#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1179
+#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE 1181
/*! log: slot join calls found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1180
+#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE 1182
/*! log: slot join calls slept */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1181
+#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP 1183
/*! log: slot join calls yielded */
-#define WT_STAT_CONN_LOG_SLOT_YIELD 1182
+#define WT_STAT_CONN_LOG_SLOT_YIELD 1184
/*! log: slot join found active slot closed */
-#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1183
+#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED 1185
/*! log: slot joins yield time (usecs) */
-#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1184
+#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION 1186
/*! log: slot transitions unable to find free slot */
-#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1185
+#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS 1187
/*! log: slot unbuffered writes */
-#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1186
+#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1188
/*! log: total in-memory size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_MEM 1187
+#define WT_STAT_CONN_LOG_COMPRESS_MEM 1189
/*! log: total log buffer size */
-#define WT_STAT_CONN_LOG_BUFFER_SIZE 1188
+#define WT_STAT_CONN_LOG_BUFFER_SIZE 1190
/*! log: total size of compressed records */
-#define WT_STAT_CONN_LOG_COMPRESS_LEN 1189
+#define WT_STAT_CONN_LOG_COMPRESS_LEN 1191
/*! log: written slots coalesced */
-#define WT_STAT_CONN_LOG_SLOT_COALESCED 1190
+#define WT_STAT_CONN_LOG_SLOT_COALESCED 1192
/*! log: yields waiting for previous log file close */
-#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1191
+#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1193
/*! reconciliation: fast-path pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1192
+#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1194
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_CONN_REC_PAGES 1193
+#define WT_STAT_CONN_REC_PAGES 1195
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_CONN_REC_PAGES_EVICTION 1194
+#define WT_STAT_CONN_REC_PAGES_EVICTION 1196
/*! reconciliation: pages deleted */
-#define WT_STAT_CONN_REC_PAGE_DELETE 1195
+#define WT_STAT_CONN_REC_PAGE_DELETE 1197
/*! reconciliation: split bytes currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1196
+#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1198
/*! reconciliation: split objects currently awaiting free */
-#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1197
+#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1199
/*! session: open cursor count */
-#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1198
+#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1200
/*! session: open session count */
-#define WT_STAT_CONN_SESSION_OPEN 1199
+#define WT_STAT_CONN_SESSION_OPEN 1201
/*! session: table alter failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1200
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL 1202
/*! session: table alter successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1201
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS 1203
/*! session: table alter unchanged and skipped */
-#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1202
+#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP 1204
/*! session: table compact failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1203
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL 1205
/*! session: table compact successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1204
+#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS 1206
/*! session: table create failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1205
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL 1207
/*! session: table create successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1206
+#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS 1208
/*! session: table drop failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1207
+#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL 1209
/*! session: table drop successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1208
+#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS 1210
/*! session: table rebalance failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1209
+#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_FAIL 1211
/*! session: table rebalance successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1210
+#define WT_STAT_CONN_SESSION_TABLE_REBALANCE_SUCCESS 1212
/*! session: table rename failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1211
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL 1213
/*! session: table rename successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1212
+#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS 1214
/*! session: table salvage failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1213
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL 1215
/*! session: table salvage successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1214
+#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS 1216
/*! session: table truncate failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1215
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL 1217
/*! session: table truncate successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1216
+#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS 1218
/*! session: table verify failed calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1217
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL 1219
/*! session: table verify successful calls */
-#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1218
+#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS 1220
/*! thread-state: active filesystem fsync calls */
-#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1219
+#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE 1221
/*! thread-state: active filesystem read calls */
-#define WT_STAT_CONN_THREAD_READ_ACTIVE 1220
+#define WT_STAT_CONN_THREAD_READ_ACTIVE 1222
/*! thread-state: active filesystem write calls */
-#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1221
+#define WT_STAT_CONN_THREAD_WRITE_ACTIVE 1223
/*! thread-yield: application thread time evicting (usecs) */
-#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1222
+#define WT_STAT_CONN_APPLICATION_EVICT_TIME 1224
/*! thread-yield: application thread time waiting for cache (usecs) */
-#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1223
+#define WT_STAT_CONN_APPLICATION_CACHE_TIME 1225
/*! thread-yield: page acquire busy blocked */
-#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1224
+#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1226
/*! thread-yield: page acquire eviction blocked */
-#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1225
+#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1227
/*! thread-yield: page acquire locked blocked */
-#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1226
+#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1228
/*! thread-yield: page acquire read blocked */
-#define WT_STAT_CONN_PAGE_READ_BLOCKED 1227
+#define WT_STAT_CONN_PAGE_READ_BLOCKED 1229
/*! thread-yield: page acquire time sleeping (usecs) */
-#define WT_STAT_CONN_PAGE_SLEEP 1228
+#define WT_STAT_CONN_PAGE_SLEEP 1230
/*! transaction: number of named snapshots created */
-#define WT_STAT_CONN_TXN_SNAPSHOTS_CREATED 1229
+#define WT_STAT_CONN_TXN_SNAPSHOTS_CREATED 1231
/*! transaction: number of named snapshots dropped */
-#define WT_STAT_CONN_TXN_SNAPSHOTS_DROPPED 1230
+#define WT_STAT_CONN_TXN_SNAPSHOTS_DROPPED 1232
/*! transaction: transaction begins */
-#define WT_STAT_CONN_TXN_BEGIN 1231
+#define WT_STAT_CONN_TXN_BEGIN 1233
/*! transaction: transaction checkpoint currently running */
-#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1232
+#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1234
/*! transaction: transaction checkpoint generation */
-#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1233
+#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1235
/*! transaction: transaction checkpoint max time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1234
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1236
/*! transaction: transaction checkpoint min time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1235
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1237
/*! transaction: transaction checkpoint most recent time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1236
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1238
/*! transaction: transaction checkpoint scrub dirty target */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1237
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET 1239
/*! transaction: transaction checkpoint scrub time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1238
+#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME 1240
/*! transaction: transaction checkpoint total time (msecs) */
-#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1239
+#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1241
/*! transaction: transaction checkpoints */
-#define WT_STAT_CONN_TXN_CHECKPOINT 1240
+#define WT_STAT_CONN_TXN_CHECKPOINT 1242
/*!
* transaction: transaction checkpoints skipped because database was
* clean
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1241
+#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED 1243
/*! transaction: transaction failures due to cache overflow */
-#define WT_STAT_CONN_TXN_FAIL_CACHE 1242
+#define WT_STAT_CONN_TXN_FAIL_CACHE 1244
/*!
* transaction: transaction fsync calls for checkpoint after allocating
* the transaction ID
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1243
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST 1245
/*!
* transaction: transaction fsync duration for checkpoint after
* allocating the transaction ID (usecs)
*/
-#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1244
+#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION 1246
/*! transaction: transaction range of IDs currently pinned */
-#define WT_STAT_CONN_TXN_PINNED_RANGE 1245
+#define WT_STAT_CONN_TXN_PINNED_RANGE 1247
/*! transaction: transaction range of IDs currently pinned by a checkpoint */
-#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1246
+#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1248
/*!
* transaction: transaction range of IDs currently pinned by named
* snapshots
*/
-#define WT_STAT_CONN_TXN_PINNED_SNAPSHOT_RANGE 1247
+#define WT_STAT_CONN_TXN_PINNED_SNAPSHOT_RANGE 1249
/*! transaction: transaction sync calls */
-#define WT_STAT_CONN_TXN_SYNC 1248
+#define WT_STAT_CONN_TXN_SYNC 1250
/*! transaction: transactions committed */
-#define WT_STAT_CONN_TXN_COMMIT 1249
+#define WT_STAT_CONN_TXN_COMMIT 1251
/*! transaction: transactions rolled back */
-#define WT_STAT_CONN_TXN_ROLLBACK 1250
+#define WT_STAT_CONN_TXN_ROLLBACK 1252
/*!
* @}
@@ -5181,61 +5249,65 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2092
/*! cursor: insert calls */
#define WT_STAT_DSRC_CURSOR_INSERT 2093
+/*! cursor: modify calls */
+#define WT_STAT_DSRC_CURSOR_MODIFY 2094
/*! cursor: next calls */
-#define WT_STAT_DSRC_CURSOR_NEXT 2094
+#define WT_STAT_DSRC_CURSOR_NEXT 2095
/*! cursor: prev calls */
-#define WT_STAT_DSRC_CURSOR_PREV 2095
+#define WT_STAT_DSRC_CURSOR_PREV 2096
/*! cursor: remove calls */
-#define WT_STAT_DSRC_CURSOR_REMOVE 2096
+#define WT_STAT_DSRC_CURSOR_REMOVE 2097
+/*! cursor: reserve calls */
+#define WT_STAT_DSRC_CURSOR_RESERVE 2098
/*! cursor: reset calls */
-#define WT_STAT_DSRC_CURSOR_RESET 2097
+#define WT_STAT_DSRC_CURSOR_RESET 2099
/*! cursor: restarted searches */
-#define WT_STAT_DSRC_CURSOR_RESTART 2098
+#define WT_STAT_DSRC_CURSOR_RESTART 2100
/*! cursor: search calls */
-#define WT_STAT_DSRC_CURSOR_SEARCH 2099
+#define WT_STAT_DSRC_CURSOR_SEARCH 2101
/*! cursor: search near calls */
-#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2100
+#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2102
/*! cursor: truncate calls */
-#define WT_STAT_DSRC_CURSOR_TRUNCATE 2101
+#define WT_STAT_DSRC_CURSOR_TRUNCATE 2103
/*! cursor: update calls */
-#define WT_STAT_DSRC_CURSOR_UPDATE 2102
+#define WT_STAT_DSRC_CURSOR_UPDATE 2104
/*! reconciliation: dictionary matches */
-#define WT_STAT_DSRC_REC_DICTIONARY 2103
+#define WT_STAT_DSRC_REC_DICTIONARY 2105
/*! reconciliation: fast-path pages deleted */
-#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2104
+#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2106
/*!
* reconciliation: internal page key bytes discarded using suffix
* compression
*/
-#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2105
+#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2107
/*! reconciliation: internal page multi-block writes */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2106
+#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2108
/*! reconciliation: internal-page overflow keys */
-#define WT_STAT_DSRC_REC_OVERFLOW_KEY_INTERNAL 2107
+#define WT_STAT_DSRC_REC_OVERFLOW_KEY_INTERNAL 2109
/*! reconciliation: leaf page key bytes discarded using prefix compression */
-#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2108
+#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2110
/*! reconciliation: leaf page multi-block writes */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2109
+#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2111
/*! reconciliation: leaf-page overflow keys */
-#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2110
+#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2112
/*! reconciliation: maximum blocks required for a page */
-#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2111
+#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2113
/*! reconciliation: overflow values written */
-#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2112
+#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2114
/*! reconciliation: page checksum matches */
-#define WT_STAT_DSRC_REC_PAGE_MATCH 2113
+#define WT_STAT_DSRC_REC_PAGE_MATCH 2115
/*! reconciliation: page reconciliation calls */
-#define WT_STAT_DSRC_REC_PAGES 2114
+#define WT_STAT_DSRC_REC_PAGES 2116
/*! reconciliation: page reconciliation calls for eviction */
-#define WT_STAT_DSRC_REC_PAGES_EVICTION 2115
+#define WT_STAT_DSRC_REC_PAGES_EVICTION 2117
/*! reconciliation: pages deleted */
-#define WT_STAT_DSRC_REC_PAGE_DELETE 2116
+#define WT_STAT_DSRC_REC_PAGE_DELETE 2118
/*! session: object compaction */
-#define WT_STAT_DSRC_SESSION_COMPACT 2117
+#define WT_STAT_DSRC_SESSION_COMPACT 2119
/*! session: open cursor count */
-#define WT_STAT_DSRC_SESSION_CURSOR_OPEN 2118
+#define WT_STAT_DSRC_SESSION_CURSOR_OPEN 2120
/*! transaction: update conflicts */
-#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2119
+#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2121
/*!
* @}