diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/include/wiredtiger.in')
-rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 435 |
1 files changed, 264 insertions, 171 deletions
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index 044611d655e..08f73386090 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -574,11 +574,12 @@ struct __wt_cursor { #define WT_CURSTD_KEY_EXT 0x0020 /* Key points out of the tree. */ #define WT_CURSTD_KEY_INT 0x0040 /* Key points into the tree. */ #define WT_CURSTD_KEY_SET (WT_CURSTD_KEY_EXT | WT_CURSTD_KEY_INT) -#define WT_CURSTD_OPEN 0x0080 -#define WT_CURSTD_OVERWRITE 0x0100 -#define WT_CURSTD_RAW 0x0200 -#define WT_CURSTD_VALUE_EXT 0x0400 /* Value points out of the tree. */ -#define WT_CURSTD_VALUE_INT 0x0800 /* Value points into the tree. */ +#define WT_CURSTD_JOINED 0x0080 +#define WT_CURSTD_OPEN 0x0100 +#define WT_CURSTD_OVERWRITE 0x0200 +#define WT_CURSTD_RAW 0x0400 +#define WT_CURSTD_VALUE_EXT 0x0800 /* Value points out of the tree. */ +#define WT_CURSTD_VALUE_INT 0x1000 /* Value points into the tree. */ #define WT_CURSTD_VALUE_SET (WT_CURSTD_VALUE_EXT | WT_CURSTD_VALUE_INT) uint32_t flags; #endif @@ -1236,6 +1237,61 @@ struct __wt_session { const char *name, const char *config); /*! + * Join a join cursor with a reference cursor. + * + * @snippet ex_schema.c Join cursors + * + * @param session the session handle + * @param join_cursor a cursor that was opened using a + * \c "join:" URI. It may not have been used for any operations + * other than other join calls. + * @param ref_cursor either an index cursor having the same base table + * as the join_cursor, or a table cursor open on the same base table. + * The ref_cursor must be positioned. + * + * The ref_cursor limits the results seen by iterating the + * join_cursor to table items referred to by the key in this + * index. The set of keys referred to is modified by the compare + * config option. + * + * Multiple join calls builds up a set of ref_cursors, and the + * results seen by iteration are the intersection of the cursor + * ranges participating in the join. + * + * After the join call completes, the ref_cursor cursor may not be + * used for any purpose other than get_key and get_value. Any other + * cursor method (e.g. next, prev,close) will fail. When the + * join_cursor is closed, the ref_cursor is made available for + * general use again. The application should close ref_cursor when + * 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_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{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 + */ + int __F(join)(WT_SESSION *session, WT_CURSOR *join_cursor, + WT_CURSOR *ref_cursor, const char *config); + + /*! * Flush the log. * * @param session the session handle @@ -2328,10 +2384,13 @@ struct __wt_connection { * 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 regardless of whether or not the - * process is running with special privileges. See @ref home for more - * information., a boolean flag; default \c false.} + * 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. Only available if * WiredTiger is configured with --enable-verbose. Options are given as a * list\, such as <code>"verbose=[evictserver\,read]"</code>., a list\, with @@ -3710,224 +3769,239 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1043 /*! cache: eviction server unable to reach eviction goal */ #define WT_STAT_CONN_CACHE_EVICTION_SLOW 1044 -/*! cache: pages split during eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_SPLIT 1045 +/*! cache: internal pages split during eviction */ +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL 1045 +/*! cache: leaf pages split during eviction */ +#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF 1046 /*! cache: pages walked for eviction */ -#define WT_STAT_CONN_CACHE_EVICTION_WALK 1046 +#define WT_STAT_CONN_CACHE_EVICTION_WALK 1047 /*! cache: eviction worker thread evicting pages */ -#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1047 +#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1048 /*! cache: in-memory page splits */ -#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1048 +#define WT_STAT_CONN_CACHE_INMEM_SPLIT 1049 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1049 +#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE 1050 /*! cache: lookaside table insert calls */ -#define WT_STAT_CONN_CACHE_LOOKASIDE_INSERT 1050 +#define WT_STAT_CONN_CACHE_LOOKASIDE_INSERT 1051 /*! cache: lookaside table remove calls */ -#define WT_STAT_CONN_CACHE_LOOKASIDE_REMOVE 1051 +#define WT_STAT_CONN_CACHE_LOOKASIDE_REMOVE 1052 /*! cache: percentage overhead */ -#define WT_STAT_CONN_CACHE_OVERHEAD 1052 +#define WT_STAT_CONN_CACHE_OVERHEAD 1053 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1053 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1054 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1054 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1055 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1055 +#define WT_STAT_CONN_CACHE_READ 1056 /*! cache: pages read into cache requiring lookaside entries */ -#define WT_STAT_CONN_CACHE_READ_LOOKASIDE 1056 +#define WT_STAT_CONN_CACHE_READ_LOOKASIDE 1057 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1057 +#define WT_STAT_CONN_CACHE_WRITE 1058 /*! cache: page written requiring lookaside records */ -#define WT_STAT_CONN_CACHE_WRITE_LOOKASIDE 1058 +#define WT_STAT_CONN_CACHE_WRITE_LOOKASIDE 1059 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1059 +#define WT_STAT_CONN_CACHE_WRITE_RESTORE 1060 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1060 +#define WT_STAT_CONN_COND_WAIT 1061 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1061 +#define WT_STAT_CONN_CURSOR_CREATE 1062 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1062 +#define WT_STAT_CONN_CURSOR_INSERT 1063 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1063 +#define WT_STAT_CONN_CURSOR_NEXT 1064 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1064 +#define WT_STAT_CONN_CURSOR_PREV 1065 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1065 +#define WT_STAT_CONN_CURSOR_REMOVE 1066 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1066 +#define WT_STAT_CONN_CURSOR_RESET 1067 /*! cursor: cursor restarted searches */ -#define WT_STAT_CONN_CURSOR_RESTART 1067 +#define WT_STAT_CONN_CURSOR_RESTART 1068 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1068 +#define WT_STAT_CONN_CURSOR_SEARCH 1069 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1069 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1070 +/*! cursor: truncate calls */ +#define WT_STAT_CONN_CURSOR_TRUNCATE 1071 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1070 +#define WT_STAT_CONN_CURSOR_UPDATE 1072 /*! data-handle: connection data handles currently active */ -#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1071 +#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT 1073 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1072 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1074 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1073 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1075 /*! data-handle: connection sweep dhandles closed */ -#define WT_STAT_CONN_DH_SWEEP_CLOSE 1074 +#define WT_STAT_CONN_DH_SWEEP_CLOSE 1076 /*! data-handle: connection sweep candidate became referenced */ -#define WT_STAT_CONN_DH_SWEEP_REF 1075 +#define WT_STAT_CONN_DH_SWEEP_REF 1077 /*! data-handle: connection sweep dhandles removed from hash list */ -#define WT_STAT_CONN_DH_SWEEP_REMOVE 1076 +#define WT_STAT_CONN_DH_SWEEP_REMOVE 1078 /*! data-handle: connection sweep time-of-death sets */ -#define WT_STAT_CONN_DH_SWEEP_TOD 1077 +#define WT_STAT_CONN_DH_SWEEP_TOD 1079 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_SWEEPS 1078 +#define WT_STAT_CONN_DH_SWEEPS 1080 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1079 +#define WT_STAT_CONN_FILE_OPEN 1081 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1080 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1082 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1081 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1083 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1082 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1084 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1083 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1085 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1084 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1086 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1085 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1087 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1086 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1088 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1087 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1089 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1088 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1090 /*! log: log flush operations */ -#define WT_STAT_CONN_LOG_FLUSH 1089 +#define WT_STAT_CONN_LOG_FLUSH 1091 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1090 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1092 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1091 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1093 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1092 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1094 /*! log: pre-allocated log files not ready and missed */ -#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1093 +#define WT_STAT_CONN_LOG_PREALLOC_MISSED 1095 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1094 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1096 /*! log: log release advances write LSN */ -#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1095 +#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN 1097 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1096 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1098 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1097 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1099 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1098 +#define WT_STAT_CONN_LOG_SCANS 1100 /*! log: consolidated slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1099 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1101 /*! log: written slots coalesced */ -#define WT_STAT_CONN_LOG_SLOT_COALESCED 1100 +#define WT_STAT_CONN_LOG_SLOT_COALESCED 1102 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1101 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1103 /*! log: consolidated slot joins */ -#define WT_STAT_CONN_LOG_SLOT_JOINS 1102 +#define WT_STAT_CONN_LOG_SLOT_JOINS 1104 /*! log: consolidated slot join races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1103 +#define WT_STAT_CONN_LOG_SLOT_RACES 1105 /*! log: busy returns attempting to switch slots */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1104 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY 1106 /*! log: consolidated slot join transitions */ -#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1105 +#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1107 /*! log: consolidated slot unbuffered writes */ -#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1106 +#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED 1108 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1107 +#define WT_STAT_CONN_LOG_SYNC 1109 /*! log: log sync_dir operations */ -#define WT_STAT_CONN_LOG_SYNC_DIR 1108 +#define WT_STAT_CONN_LOG_SYNC_DIR 1110 /*! log: log server thread advances write LSN */ -#define WT_STAT_CONN_LOG_WRITE_LSN 1109 +#define WT_STAT_CONN_LOG_WRITE_LSN 1111 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1110 +#define WT_STAT_CONN_LOG_WRITES 1112 /*! log: log files manually zero-filled */ -#define WT_STAT_CONN_LOG_ZERO_FILLS 1111 +#define WT_STAT_CONN_LOG_ZERO_FILLS 1113 /*! LSM: sleep for LSM checkpoint throttle */ -#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1112 +#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1114 /*! LSM: sleep for LSM merge throttle */ -#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1113 +#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1115 /*! LSM: rows merged in an LSM tree */ -#define WT_STAT_CONN_LSM_ROWS_MERGED 1114 +#define WT_STAT_CONN_LSM_ROWS_MERGED 1116 /*! LSM: application work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1115 +#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1117 /*! LSM: merge work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1116 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1118 /*! LSM: tree queue hit maximum */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1117 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1119 /*! LSM: switch work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1118 +#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1120 /*! LSM: tree maintenance operations scheduled */ -#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1119 +#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1121 /*! LSM: tree maintenance operations discarded */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1120 +#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1122 /*! LSM: tree maintenance operations executed */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1121 +#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1123 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1122 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1124 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1123 +#define WT_STAT_CONN_MEMORY_FREE 1125 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1124 +#define WT_STAT_CONN_MEMORY_GROW 1126 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1125 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1127 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1126 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1128 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1127 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1129 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1128 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1130 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1129 +#define WT_STAT_CONN_PAGE_SLEEP 1131 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1130 +#define WT_STAT_CONN_READ_IO 1132 +/*! reconciliation: pages deleted */ +#define WT_STAT_CONN_REC_PAGE_DELETE 1133 +/*! reconciliation: fast-path pages deleted */ +#define WT_STAT_CONN_REC_PAGE_DELETE_FAST 1134 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1131 +#define WT_STAT_CONN_REC_PAGES 1135 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1132 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1136 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1133 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1137 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1134 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1138 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1135 +#define WT_STAT_CONN_RWLOCK_READ 1139 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1136 +#define WT_STAT_CONN_RWLOCK_WRITE 1140 /*! session: open cursor count */ -#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1137 +#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1141 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1138 +#define WT_STAT_CONN_SESSION_OPEN 1142 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1139 +#define WT_STAT_CONN_TXN_BEGIN 1143 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1140 +#define WT_STAT_CONN_TXN_CHECKPOINT 1144 /*! transaction: transaction checkpoint generation */ -#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1141 +#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION 1145 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1142 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1146 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1143 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1147 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1144 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1148 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1145 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1149 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1146 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1150 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1147 +#define WT_STAT_CONN_TXN_COMMIT 1151 /*! transaction: transaction failures due to cache overflow */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1148 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1152 /*! transaction: transaction range of IDs currently pinned by a checkpoint */ -#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1149 +#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE 1153 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1150 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1154 +/*! transaction: transaction range of IDs currently pinned by named + * snapshots */ +#define WT_STAT_CONN_TXN_PINNED_SNAPSHOT_RANGE 1155 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1151 +#define WT_STAT_CONN_TXN_ROLLBACK 1156 +/*! transaction: number of named snapshots created */ +#define WT_STAT_CONN_TXN_SNAPSHOTS_CREATED 1157 +/*! transaction: number of named snapshots dropped */ +#define WT_STAT_CONN_TXN_SNAPSHOTS_DROPPED 1158 /*! transaction: transaction sync calls */ -#define WT_STAT_CONN_TXN_SYNC 1152 +#define WT_STAT_CONN_TXN_SYNC 1159 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1153 +#define WT_STAT_CONN_WRITE_IO 1160 /*! * @} @@ -4023,112 +4097,131 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_DSRC_CACHE_EVICTION_HAZARD 2042 /*! cache: internal pages evicted */ #define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL 2043 -/*! cache: pages split during eviction */ -#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT 2044 +/*! cache: internal pages split during eviction */ +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL 2044 +/*! cache: leaf pages split during eviction */ +#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF 2045 /*! cache: in-memory page splits */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2045 +#define WT_STAT_DSRC_CACHE_INMEM_SPLIT 2046 /*! cache: in-memory page passed criteria to be split */ -#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2046 +#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE 2047 /*! cache: overflow values cached in memory */ -#define WT_STAT_DSRC_CACHE_OVERFLOW_VALUE 2047 +#define WT_STAT_DSRC_CACHE_OVERFLOW_VALUE 2048 /*! cache: pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ 2048 +#define WT_STAT_DSRC_CACHE_READ 2049 /*! cache: pages read into cache requiring lookaside entries */ -#define WT_STAT_DSRC_CACHE_READ_LOOKASIDE 2049 +#define WT_STAT_DSRC_CACHE_READ_LOOKASIDE 2050 /*! cache: overflow pages read into cache */ -#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2050 +#define WT_STAT_DSRC_CACHE_READ_OVERFLOW 2051 /*! cache: pages written from cache */ -#define WT_STAT_DSRC_CACHE_WRITE 2051 +#define WT_STAT_DSRC_CACHE_WRITE 2052 /*! cache: page written requiring lookaside records */ -#define WT_STAT_DSRC_CACHE_WRITE_LOOKASIDE 2052 +#define WT_STAT_DSRC_CACHE_WRITE_LOOKASIDE 2053 /*! cache: pages written requiring in-memory restoration */ -#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2053 +#define WT_STAT_DSRC_CACHE_WRITE_RESTORE 2054 /*! compression: raw compression call failed, no additional data available */ -#define WT_STAT_DSRC_COMPRESS_RAW_FAIL 2054 +#define WT_STAT_DSRC_COMPRESS_RAW_FAIL 2055 /*! compression: raw compression call failed, additional data available */ -#define WT_STAT_DSRC_COMPRESS_RAW_FAIL_TEMPORARY 2055 +#define WT_STAT_DSRC_COMPRESS_RAW_FAIL_TEMPORARY 2056 /*! compression: raw compression call succeeded */ -#define WT_STAT_DSRC_COMPRESS_RAW_OK 2056 +#define WT_STAT_DSRC_COMPRESS_RAW_OK 2057 /*! compression: compressed pages read */ -#define WT_STAT_DSRC_COMPRESS_READ 2057 +#define WT_STAT_DSRC_COMPRESS_READ 2058 /*! compression: compressed pages written */ -#define WT_STAT_DSRC_COMPRESS_WRITE 2058 +#define WT_STAT_DSRC_COMPRESS_WRITE 2059 /*! compression: page written failed to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2059 +#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL 2060 /*! compression: page written was too small to compress */ -#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2060 +#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL 2061 /*! cursor: create calls */ -#define WT_STAT_DSRC_CURSOR_CREATE 2061 +#define WT_STAT_DSRC_CURSOR_CREATE 2062 /*! cursor: insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT 2062 +#define WT_STAT_DSRC_CURSOR_INSERT 2063 /*! cursor: bulk-loaded cursor-insert calls */ -#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2063 +#define WT_STAT_DSRC_CURSOR_INSERT_BULK 2064 /*! cursor: cursor-insert key and value bytes inserted */ -#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2064 +#define WT_STAT_DSRC_CURSOR_INSERT_BYTES 2065 /*! cursor: next calls */ -#define WT_STAT_DSRC_CURSOR_NEXT 2065 +#define WT_STAT_DSRC_CURSOR_NEXT 2066 /*! cursor: prev calls */ -#define WT_STAT_DSRC_CURSOR_PREV 2066 +#define WT_STAT_DSRC_CURSOR_PREV 2067 /*! cursor: remove calls */ -#define WT_STAT_DSRC_CURSOR_REMOVE 2067 +#define WT_STAT_DSRC_CURSOR_REMOVE 2068 /*! cursor: cursor-remove key bytes removed */ -#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2068 +#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES 2069 /*! cursor: reset calls */ -#define WT_STAT_DSRC_CURSOR_RESET 2069 +#define WT_STAT_DSRC_CURSOR_RESET 2070 /*! cursor: restarted searches */ -#define WT_STAT_DSRC_CURSOR_RESTART 2070 +#define WT_STAT_DSRC_CURSOR_RESTART 2071 /*! cursor: search calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH 2071 +#define WT_STAT_DSRC_CURSOR_SEARCH 2072 /*! cursor: search near calls */ -#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2072 +#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR 2073 +/*! cursor: truncate calls */ +#define WT_STAT_DSRC_CURSOR_TRUNCATE 2074 /*! cursor: update calls */ -#define WT_STAT_DSRC_CURSOR_UPDATE 2073 +#define WT_STAT_DSRC_CURSOR_UPDATE 2075 /*! cursor: cursor-update value bytes updated */ -#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2074 +#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES 2076 /*! LSM: sleep for LSM checkpoint throttle */ -#define WT_STAT_DSRC_LSM_CHECKPOINT_THROTTLE 2075 +#define WT_STAT_DSRC_LSM_CHECKPOINT_THROTTLE 2077 /*! LSM: chunks in the LSM tree */ -#define WT_STAT_DSRC_LSM_CHUNK_COUNT 2076 +#define WT_STAT_DSRC_LSM_CHUNK_COUNT 2078 /*! LSM: highest merge generation in the LSM tree */ -#define WT_STAT_DSRC_LSM_GENERATION_MAX 2077 +#define WT_STAT_DSRC_LSM_GENERATION_MAX 2079 /*! LSM: queries that could have benefited from a Bloom filter that did * not exist */ -#define WT_STAT_DSRC_LSM_LOOKUP_NO_BLOOM 2078 +#define WT_STAT_DSRC_LSM_LOOKUP_NO_BLOOM 2080 /*! LSM: sleep for LSM merge throttle */ -#define WT_STAT_DSRC_LSM_MERGE_THROTTLE 2079 +#define WT_STAT_DSRC_LSM_MERGE_THROTTLE 2081 /*! reconciliation: dictionary matches */ -#define WT_STAT_DSRC_REC_DICTIONARY 2080 +#define WT_STAT_DSRC_REC_DICTIONARY 2082 /*! reconciliation: internal page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2081 +#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL 2083 /*! reconciliation: leaf page multi-block writes */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2082 +#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF 2084 /*! reconciliation: maximum blocks required for a page */ -#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2083 +#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX 2085 /*! reconciliation: internal-page overflow keys */ -#define WT_STAT_DSRC_REC_OVERFLOW_KEY_INTERNAL 2084 +#define WT_STAT_DSRC_REC_OVERFLOW_KEY_INTERNAL 2086 /*! reconciliation: leaf-page overflow keys */ -#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2085 +#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF 2087 /*! reconciliation: overflow values written */ -#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2086 +#define WT_STAT_DSRC_REC_OVERFLOW_VALUE 2088 /*! reconciliation: pages deleted */ -#define WT_STAT_DSRC_REC_PAGE_DELETE 2087 +#define WT_STAT_DSRC_REC_PAGE_DELETE 2089 +/*! reconciliation: fast-path pages deleted */ +#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST 2090 /*! reconciliation: page checksum matches */ -#define WT_STAT_DSRC_REC_PAGE_MATCH 2088 +#define WT_STAT_DSRC_REC_PAGE_MATCH 2091 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_DSRC_REC_PAGES 2089 +#define WT_STAT_DSRC_REC_PAGES 2092 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_DSRC_REC_PAGES_EVICTION 2090 +#define WT_STAT_DSRC_REC_PAGES_EVICTION 2093 /*! reconciliation: leaf page key bytes discarded using prefix compression */ -#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2091 +#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION 2094 /*! reconciliation: internal page key bytes discarded using suffix * compression */ -#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2092 +#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION 2095 /*! session: object compaction */ -#define WT_STAT_DSRC_SESSION_COMPACT 2093 +#define WT_STAT_DSRC_SESSION_COMPACT 2096 /*! session: open cursor count */ -#define WT_STAT_DSRC_SESSION_CURSOR_OPEN 2094 +#define WT_STAT_DSRC_SESSION_CURSOR_OPEN 2097 /*! transaction: update conflicts */ -#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2095 +#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT 2098 + +/*! + * @} + * @name Statistics for join cursors + * @anchor statistics_join + * @{ + */ +/*! : accesses */ +#define WT_STAT_JOIN_ACCESSES 3000 +/*! : actual count of items */ +#define WT_STAT_JOIN_ACTUAL_COUNT 3001 +/*! : bloom filter false positives */ +#define WT_STAT_JOIN_BLOOM_FALSE_POSITIVE 3002 /*! @} */ /* * Statistics section: END |