Version 11.0.0
All Classes Functions Variables Typedefs Enumerations Enumerator Modules Pages
WiredTiger API

The functions, handles and methods applications use to access and manage data with WiredTiger. More...

Classes

struct  WT_ITEM
 A raw item of data to be managed, including a pointer to the data and a length. More...
 
struct  WT_MODIFY
 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. More...
 
struct  WT_CURSOR
 A WT_CURSOR handle is the interface to a cursor. More...
 
struct  WT_SESSION
 All data operations are performed in the context of a WT_SESSION. More...
 
struct  WT_CONNECTION
 A connection to a WiredTiger database. More...
 
struct  WT_EVENT_HANDLER
 The interface implemented by applications to handle error, informational and progress messages. More...
 
struct  WT_CONFIG_ITEM
 The configuration information returned by the WiredTiger configuration parsing functions in the WT_EXTENSION_API and the public API. More...
 
struct  WT_CONFIG_PARSER
 A handle that can be used to search and traverse configuration strings compatible with WiredTiger APIs. More...
 

Macros

#define WT_INTPACK64_MAXSIZE
 The maximum packed size of a 64-bit integer. More...
 
#define WT_INTPACK32_MAXSIZE
 The maximum packed size of a 32-bit integer. More...
 

Enumerations

enum  WT_TS_TXN_TYPE { WT_TS_TXN_TYPE_COMMIT, WT_TS_TXN_TYPE_DURABLE, WT_TS_TXN_TYPE_PREPARE, WT_TS_TXN_TYPE_READ }
 WT_SESSION::timestamp_transaction_uint timestamp types. More...
 

Functions

int wiredtiger_open (const char *home, WT_EVENT_HANDLER *event_handler, const char *config, WT_CONNECTION **connectionp)
 Open a connection to a database. More...
 
const char * wiredtiger_strerror (int error)
 Return information about a WiredTiger error as a string (see WT_SESSION::strerror for a thread-safe API). More...
 

Data packing and unpacking

typedef struct __wt_pack_stream WT_PACK_STREAM
 Streaming interface to packing. More...
 
int wiredtiger_struct_pack (WT_SESSION *session, void *buffer, size_t len, const char *format,...)
 Pack a structure into a buffer. More...
 
int wiredtiger_struct_size (WT_SESSION *session, size_t *lenp, const char *format,...)
 Calculate the size required to pack a structure. More...
 
int wiredtiger_struct_unpack (WT_SESSION *session, const void *buffer, size_t len, const char *format,...)
 Unpack a structure from a buffer. More...
 
int wiredtiger_pack_start (WT_SESSION *session, const char *format, void *buffer, size_t size, WT_PACK_STREAM **psp)
 Start a packing operation into a buffer with the given format string. More...
 
int wiredtiger_unpack_start (WT_SESSION *session, const char *format, const void *buffer, size_t size, WT_PACK_STREAM **psp)
 Start an unpacking operation from a buffer with the given format string. More...
 
int wiredtiger_pack_close (WT_PACK_STREAM *ps, size_t *usedp)
 Close a packing stream. More...
 
int wiredtiger_pack_item (WT_PACK_STREAM *ps, WT_ITEM *item)
 Pack an item into a packing stream. More...
 
int wiredtiger_pack_int (WT_PACK_STREAM *ps, int64_t i)
 Pack a signed integer into a packing stream. More...
 
int wiredtiger_pack_str (WT_PACK_STREAM *ps, const char *s)
 Pack a string into a packing stream. More...
 
int wiredtiger_pack_uint (WT_PACK_STREAM *ps, uint64_t u)
 Pack an unsigned integer into a packing stream. More...
 
int wiredtiger_unpack_item (WT_PACK_STREAM *ps, WT_ITEM *item)
 Unpack an item from a packing stream. More...
 
int wiredtiger_unpack_int (WT_PACK_STREAM *ps, int64_t *ip)
 Unpack a signed integer from a packing stream. More...
 
int wiredtiger_unpack_str (WT_PACK_STREAM *ps, const char **sp)
 Unpack a string from a packing stream. More...
 
int wiredtiger_unpack_uint (WT_PACK_STREAM *ps, uint64_t *up)
 Unpack an unsigned integer from a packing stream. More...
 

Configuration strings

int wiredtiger_config_parser_open (WT_SESSION *session, const char *config, size_t len, WT_CONFIG_PARSER **config_parserp)
 Create a handle that can be used to parse or create configuration strings compatible with WiredTiger APIs. More...
 

Support functions

uint32_t(*)(const void *, size_t) wiredtiger_crc32c_func (void)
 Return a pointer to a function that calculates a CRC32C checksum. More...
 
int wiredtiger_calc_modify (WT_SESSION *session, const WT_ITEM *oldv, const WT_ITEM *newv, size_t maxdiff, WT_MODIFY *entries, int *nentriesp)
 Calculate a set of WT_MODIFY operations to represent an update. More...
 
const char * wiredtiger_version (int *majorp, int *minorp, int *patchp)
 Get version information. More...
 

Error returns

Most functions and methods in WiredTiger return an integer code indicating whether the operation succeeded or failed.

A return of zero indicates success, all non-zero return values indicate some kind of failure.

WiredTiger reserves all values from -31,800 to -31,999 as possible error return values. WiredTiger may also return C99/POSIX error codes such as ENOMEM, EINVAL and ENOTSUP, with the usual meanings.

The following are all of the WiredTiger-specific error returns:

#define WT_ROLLBACK
 Conflict between concurrent operations. More...
 
#define WT_DUPLICATE_KEY
 Attempt to insert an existing key. More...
 
#define WT_ERROR
 Non-specific WiredTiger error. More...
 
#define WT_NOTFOUND
 Item not found. More...
 
#define WT_PANIC
 WiredTiger library panic. More...
 
#define WT_RUN_RECOVERY
 Recovery must be run to continue. More...
 
#define WT_CACHE_FULL
 Operation would overflow cache. More...
 
#define WT_PREPARE_CONFLICT
 Conflict with a prepared update. More...
 
#define WT_TRY_SALVAGE
 Database corruption detected. More...
 

Incremental backup types

#define WT_BACKUP_INVALID
 invalid type
 
#define WT_BACKUP_FILE
 whole file
 
#define WT_BACKUP_RANGE
 file range
 

Log record and operation types

#define WT_LOGREC_CHECKPOINT
 checkpoint
 
#define WT_LOGREC_COMMIT
 transaction commit
 
#define WT_LOGREC_FILE_SYNC
 file sync
 
#define WT_LOGREC_MESSAGE
 message
 
#define WT_LOGREC_SYSTEM
 system/internal record
 
#define WT_LOGOP_INVALID
 invalid operation
 
#define WT_LOGOP_COL_PUT
 column-store put
 
#define WT_LOGOP_COL_REMOVE
 column-store remove
 
#define WT_LOGOP_COL_TRUNCATE
 column-store truncate
 
#define WT_LOGOP_ROW_PUT
 row-store put
 
#define WT_LOGOP_ROW_REMOVE
 row-store remove
 
#define WT_LOGOP_ROW_TRUNCATE
 row-store truncate
 
#define WT_LOGOP_CHECKPOINT_START
 checkpoint start
 
#define WT_LOGOP_PREV_LSN
 previous LSN
 
#define WT_LOGOP_COL_MODIFY
 column-store modify
 
#define WT_LOGOP_ROW_MODIFY
 row-store modify
 
#define WT_LOGOP_TXN_TIMESTAMP
 Diagnostic: transaction timestamps.
 

Connection statistics

Statistics are accessed through cursors with "statistics:" URIs. Individual statistics can be queried through the cursor using the following keys. See Statistics Data for more information.

#define WT_STAT_CONN_LSM_WORK_QUEUE_APP
 LSM: application work units currently queued.
 
#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER
 LSM: merge work units currently queued.
 
#define WT_STAT_CONN_LSM_ROWS_MERGED
 LSM: rows merged in an LSM tree.
 
#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE
 LSM: sleep for LSM checkpoint throttle.
 
#define WT_STAT_CONN_LSM_MERGE_THROTTLE
 LSM: sleep for LSM merge throttle.
 
#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH
 LSM: switch work units currently queued.
 
#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED
 LSM: tree maintenance operations discarded.
 
#define WT_STAT_CONN_LSM_WORK_UNITS_DONE
 LSM: tree maintenance operations executed.
 
#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED
 LSM: tree maintenance operations scheduled.
 
#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX
 LSM: tree queue hit maximum.
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS_UPDATE
 block-cache: cached blocks updated
 
#define WT_STAT_CONN_BLOCK_CACHE_BYTES_UPDATE
 block-cache: cached bytes updated
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS_EVICTED
 block-cache: evicted blocks
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_FILESIZE
 block-cache: file size causing bypass
 
#define WT_STAT_CONN_BLOCK_CACHE_LOOKUPS
 block-cache: lookups
 
#define WT_STAT_CONN_BLOCK_CACHE_NOT_EVICTED_OVERHEAD
 block-cache: number of blocks not evicted due to overhead
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_WRITEALLOC
 block-cache: number of bypasses because no-write-allocate setting was on
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_OVERHEAD_PUT
 block-cache: number of bypasses due to overhead on put
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_GET
 block-cache: number of bypasses on get
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_PUT
 block-cache: number of bypasses on put because file is too small
 
#define WT_STAT_CONN_BLOCK_CACHE_EVICTION_PASSES
 block-cache: number of eviction passes
 
#define WT_STAT_CONN_BLOCK_CACHE_HITS
 block-cache: number of hits
 
#define WT_STAT_CONN_BLOCK_CACHE_MISSES
 block-cache: number of misses
 
#define WT_STAT_CONN_BLOCK_CACHE_BYPASS_CHKPT
 block-cache: number of put bypasses on checkpoint I/O
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS_REMOVED
 block-cache: removed blocks
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS
 block-cache: total blocks
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS_INSERT_READ
 block-cache: total blocks inserted on read path
 
#define WT_STAT_CONN_BLOCK_CACHE_BLOCKS_INSERT_WRITE
 block-cache: total blocks inserted on write path
 
#define WT_STAT_CONN_BLOCK_CACHE_BYTES
 block-cache: total bytes
 
#define WT_STAT_CONN_BLOCK_CACHE_BYTES_INSERT_READ
 block-cache: total bytes inserted on read path
 
#define WT_STAT_CONN_BLOCK_CACHE_BYTES_INSERT_WRITE
 block-cache: total bytes inserted on write path
 
#define WT_STAT_CONN_BLOCK_PRELOAD
 block-manager: blocks pre-loaded
 
#define WT_STAT_CONN_BLOCK_READ
 block-manager: blocks read
 
#define WT_STAT_CONN_BLOCK_WRITE
 block-manager: blocks written
 
#define WT_STAT_CONN_BLOCK_BYTE_READ
 block-manager: bytes read
 
#define WT_STAT_CONN_BLOCK_BYTE_READ_MMAP
 block-manager: bytes read via memory map API
 
#define WT_STAT_CONN_BLOCK_BYTE_READ_SYSCALL
 block-manager: bytes read via system call API
 
#define WT_STAT_CONN_BLOCK_BYTE_WRITE
 block-manager: bytes written
 
#define WT_STAT_CONN_BLOCK_BYTE_WRITE_CHECKPOINT
 block-manager: bytes written for checkpoint
 
#define WT_STAT_CONN_BLOCK_BYTE_WRITE_MMAP
 block-manager: bytes written via memory map API
 
#define WT_STAT_CONN_BLOCK_BYTE_WRITE_SYSCALL
 block-manager: bytes written via system call API
 
#define WT_STAT_CONN_BLOCK_MAP_READ
 block-manager: mapped blocks read
 
#define WT_STAT_CONN_BLOCK_BYTE_MAP_READ
 block-manager: mapped bytes read
 
#define WT_STAT_CONN_BLOCK_REMAP_FILE_RESIZE
 block-manager: number of times the file was remapped because it changed size via fallocate or truncate
 
#define WT_STAT_CONN_BLOCK_REMAP_FILE_WRITE
 block-manager: number of times the region was remapped via write
 
#define WT_STAT_CONN_CACHE_READ_APP_COUNT
 cache: application threads page read from disk to cache count
 
#define WT_STAT_CONN_CACHE_READ_APP_TIME
 cache: application threads page read from disk to cache time (usecs)
 
#define WT_STAT_CONN_CACHE_WRITE_APP_COUNT
 cache: application threads page write from cache to disk count
 
#define WT_STAT_CONN_CACHE_WRITE_APP_TIME
 cache: application threads page write from cache to disk time (usecs)
 
#define WT_STAT_CONN_CACHE_BYTES_UPDATES
 cache: bytes allocated for updates
 
#define WT_STAT_CONN_CACHE_BYTES_IMAGE
 cache: bytes belonging to page images in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_HS
 cache: bytes belonging to the history store table in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_INUSE
 cache: bytes currently in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_DIRTY_TOTAL
 cache: bytes dirty in the cache cumulative
 
#define WT_STAT_CONN_CACHE_BYTES_OTHER
 cache: bytes not belonging to page images in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_READ
 cache: bytes read into cache
 
#define WT_STAT_CONN_CACHE_BYTES_WRITE
 cache: bytes written from cache
 
#define WT_STAT_CONN_CACHE_EVICTION_CHECKPOINT
 cache: checkpoint blocked page eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_CHECKPOINT_HS
 cache: checkpoint of history store file blocked non-history store page eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_GET_REF
 cache: eviction calls to get a page
 
#define WT_STAT_CONN_CACHE_EVICTION_GET_REF_EMPTY
 cache: eviction calls to get a page found queue empty
 
#define WT_STAT_CONN_CACHE_EVICTION_GET_REF_EMPTY2
 cache: eviction calls to get a page found queue empty after locking
 
#define WT_STAT_CONN_CACHE_EVICTION_AGGRESSIVE_SET
 cache: eviction currently operating in aggressive mode
 
#define WT_STAT_CONN_CACHE_EVICTION_EMPTY_SCORE
 cache: eviction empty score
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_1
 cache: eviction gave up due to detecting a disk value without a timestamp behind the last update on the chain
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_2
 cache: eviction gave up due to detecting a tombstone without a timestamp ahead of the selected on disk update
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_3
 cache: eviction gave up due to detecting a tombstone without a timestamp ahead of the selected on disk update after validating the update chain
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_4
 cache: eviction gave up due to detecting update chain entries without timestamps after the selected on disk update
 
#define WT_STAT_CONN_CACHE_EVICTION_BLOCKED_REMOVE_HS_RACE_WITH_CHECKPOINT
 cache: eviction gave up due to needing to remove a record from the history store but checkpoint is running
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_PASSES
 cache: eviction passes of a file
 
#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_EMPTY
 cache: eviction server candidate queue empty when topping up
 
#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY
 cache: eviction server candidate queue not empty when topping up
 
#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING
 cache: eviction server evicting pages
 
#define WT_STAT_CONN_CACHE_EVICTION_SERVER_SLEPT
 cache: eviction server slept, because we did not make progress with eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_SLOW
 cache: eviction server unable to reach eviction goal
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_LEAF_NOTFOUND
 cache: eviction server waiting for a leaf page
 
#define WT_STAT_CONN_CACHE_EVICTION_STATE
 cache: eviction state
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_SLEEPS
 cache: eviction walk most recent sleeps for checkpoint handle gathering
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT10
 cache: eviction walk target pages histogram - 0-9
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT32
 cache: eviction walk target pages histogram - 10-31
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_GE128
 cache: eviction walk target pages histogram - 128 and higher
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT64
 cache: eviction walk target pages histogram - 32-63
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_LT128
 cache: eviction walk target pages histogram - 64-128
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_PAGE_REDUCED
 cache: eviction walk target pages reduced due to history store cache pressure
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_BOTH_CLEAN_AND_DIRTY
 cache: eviction walk target strategy both clean and dirty pages
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_CLEAN
 cache: eviction walk target strategy only clean pages
 
#define WT_STAT_CONN_CACHE_EVICTION_TARGET_STRATEGY_DIRTY
 cache: eviction walk target strategy only dirty pages
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ABANDONED
 cache: eviction walks abandoned
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STOPPED
 cache: eviction walks gave up because they restarted their walk twice
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_NO_TARGETS
 cache: eviction walks gave up because they saw too many pages and found no candidates
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_GAVE_UP_RATIO
 cache: eviction walks gave up because they saw too many pages and found too few candidates
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ENDED
 cache: eviction walks reached end of tree
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_RESTART
 cache: eviction walks restarted
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_FROM_ROOT
 cache: eviction walks started from root of tree
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK_SAVED_POS
 cache: eviction walks started from saved location in tree
 
#define WT_STAT_CONN_CACHE_EVICTION_ACTIVE_WORKERS
 cache: eviction worker thread active
 
#define WT_STAT_CONN_CACHE_EVICTION_WORKER_CREATED
 cache: eviction worker thread created
 
#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING
 cache: eviction worker thread evicting pages
 
#define WT_STAT_CONN_CACHE_EVICTION_WORKER_REMOVED
 cache: eviction worker thread removed
 
#define WT_STAT_CONN_CACHE_EVICTION_STABLE_STATE_WORKERS
 cache: eviction worker thread stable number
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_ACTIVE
 cache: files with active eviction walks
 
#define WT_STAT_CONN_CACHE_EVICTION_WALKS_STARTED
 cache: files with new eviction walks started
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_RETUNE
 cache: force re-tuning of eviction workers once in a while
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_FAIL
 cache: forced eviction - history store pages failed to evict while session has history store cursor open
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS
 cache: forced eviction - history store pages selected while session has history store cursor open
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_HS_SUCCESS
 cache: forced eviction - history store pages successfully evicted while session has history store cursor open
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN
 cache: forced eviction - pages evicted that were clean count
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_CLEAN_TIME
 cache: forced eviction - pages evicted that were clean time (usecs)
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY
 cache: forced eviction - pages evicted that were dirty count
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DIRTY_TIME
 cache: forced eviction - pages evicted that were dirty time (usecs)
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_LONG_UPDATE_LIST
 cache: forced eviction - pages selected because of a large number of updates to a single item
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_DELETE
 cache: forced eviction - pages selected because of too many deleted items count
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE
 cache: forced eviction - pages selected count
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL
 cache: forced eviction - pages selected unable to be evicted count
 
#define WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL_TIME
 cache: forced eviction - pages selected unable to be evicted time
 
#define WT_STAT_CONN_CACHE_EVICTION_HAZARD
 cache: hazard pointer blocked page eviction
 
#define WT_STAT_CONN_CACHE_HAZARD_CHECKS
 cache: hazard pointer check calls
 
#define WT_STAT_CONN_CACHE_HAZARD_WALKS
 cache: hazard pointer check entries walked
 
#define WT_STAT_CONN_CACHE_HAZARD_MAX
 cache: hazard pointer maximum array length
 
#define WT_STAT_CONN_CACHE_HS_INSERT
 cache: history store table insert calls
 
#define WT_STAT_CONN_CACHE_HS_INSERT_RESTART
 cache: history store table insert calls that returned restart
 
#define WT_STAT_CONN_CACHE_HS_ONDISK_MAX
 cache: history store table max on-disk size
 
#define WT_STAT_CONN_CACHE_HS_ONDISK
 cache: history store table on-disk size
 
#define WT_STAT_CONN_CACHE_HS_READ
 cache: history store table reads
 
#define WT_STAT_CONN_CACHE_HS_READ_MISS
 cache: history store table reads missed
 
#define WT_STAT_CONN_CACHE_HS_READ_SQUASH
 cache: history store table reads requiring squashed modifies
 
#define WT_STAT_CONN_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP
 cache: history store table resolved updates without timestamps that lose their durable timestamp
 
#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE
 cache: history store table truncation by rollback to stable to remove an unstable update
 
#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_RTS
 cache: history store table truncation by rollback to stable to remove an update
 
#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE
 cache: history store table truncation to remove an update
 
#define WT_STAT_CONN_CACHE_HS_ORDER_REMOVE
 cache: history store table truncation to remove range of updates due to an update without a timestamp on data page
 
#define WT_STAT_CONN_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL
 cache: history store table truncation to remove range of updates due to key being removed from the data page during reconciliation
 
#define WT_STAT_CONN_CACHE_HS_ORDER_REINSERT
 cache: history store table updates without timestamps fixed up by reinserting with the fixed timestamp
 
#define WT_STAT_CONN_CACHE_HS_WRITE_SQUASH
 cache: history store table writes requiring squashed modifies
 
#define WT_STAT_CONN_CACHE_INMEM_SPLITTABLE
 cache: in-memory page passed criteria to be split
 
#define WT_STAT_CONN_CACHE_INMEM_SPLIT
 cache: in-memory page splits
 
#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL
 cache: internal pages evicted
 
#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_QUEUED
 cache: internal pages queued for eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_SEEN
 cache: internal pages seen by eviction walk
 
#define WT_STAT_CONN_CACHE_EVICTION_INTERNAL_PAGES_ALREADY_QUEUED
 cache: internal pages seen by eviction walk that are already queued
 
#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_INTERNAL
 cache: internal pages split during eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_SPLIT_LEAF
 cache: leaf pages split during eviction
 
#define WT_STAT_CONN_CACHE_BYTES_MAX
 cache: maximum bytes configured
 
#define WT_STAT_CONN_CACHE_EVICTION_MAXIMUM_PAGE_SIZE
 cache: maximum page size at eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_DIRTY
 cache: modified pages evicted
 
#define WT_STAT_CONN_CACHE_EVICTION_APP_DIRTY
 cache: modified pages evicted by application threads
 
#define WT_STAT_CONN_CACHE_TIMED_OUT_OPS
 cache: operations timed out waiting for space in cache
 
#define WT_STAT_CONN_CACHE_READ_OVERFLOW
 cache: overflow pages read into cache
 
#define WT_STAT_CONN_CACHE_EVICTION_DEEPEN
 cache: page split during eviction deepened the tree
 
#define WT_STAT_CONN_CACHE_WRITE_HS
 cache: page written requiring history store records
 
#define WT_STAT_CONN_CACHE_PAGES_INUSE
 cache: pages currently held in the cache
 
#define WT_STAT_CONN_CACHE_EVICTION_APP
 cache: pages evicted by application threads
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_IN_PARALLEL_WITH_CHECKPOINT
 cache: pages evicted in parallel with checkpoint
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED
 cache: pages queued for eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_POST_LRU
 cache: pages queued for eviction post lru sorting
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT
 cache: pages queued for urgent eviction
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_OLDEST
 cache: pages queued for urgent eviction during walk
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_QUEUED_URGENT_HS_DIRTY
 cache: pages queued for urgent eviction from history store due to high dirty content
 
#define WT_STAT_CONN_CACHE_READ
 cache: pages read into cache
 
#define WT_STAT_CONN_CACHE_READ_DELETED
 cache: pages read into cache after truncate
 
#define WT_STAT_CONN_CACHE_READ_DELETED_PREPARED
 cache: pages read into cache after truncate in prepare state
 
#define WT_STAT_CONN_CACHE_PAGES_REQUESTED
 cache: pages requested from the cache
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_SEEN
 cache: pages seen by eviction walk
 
#define WT_STAT_CONN_CACHE_EVICTION_PAGES_ALREADY_QUEUED
 cache: pages seen by eviction walk that are already queued
 
#define WT_STAT_CONN_CACHE_EVICTION_FAIL
 cache: pages selected for eviction unable to be evicted
 
#define WT_STAT_CONN_CACHE_EVICTION_FAIL_ACTIVE_CHILDREN_ON_AN_INTERNAL_PAGE
 cache: pages selected for eviction unable to be evicted because of active children on an internal page
 
#define WT_STAT_CONN_CACHE_EVICTION_FAIL_IN_RECONCILIATION
 cache: pages selected for eviction unable to be evicted because of failure in reconciliation
 
#define WT_STAT_CONN_CACHE_EVICTION_FAIL_CHECKPOINT_NO_TS
 cache: pages selected for eviction unable to be evicted because of race between checkpoint and updates without timestamps
 
#define WT_STAT_CONN_CACHE_EVICTION_WALK
 cache: pages walked for eviction
 
#define WT_STAT_CONN_CACHE_WRITE
 cache: pages written from cache
 
#define WT_STAT_CONN_CACHE_WRITE_RESTORE
 cache: pages written requiring in-memory restoration
 
#define WT_STAT_CONN_CACHE_OVERHEAD
 cache: percentage overhead
 
#define WT_STAT_CONN_CACHE_HS_INSERT_FULL_UPDATE
 cache: the number of times full update inserted to history store
 
#define WT_STAT_CONN_CACHE_HS_INSERT_REVERSE_MODIFY
 cache: the number of times reverse modify inserted to history store
 
#define WT_STAT_CONN_CACHE_BYTES_INTERNAL
 cache: tracked bytes belonging to internal pages in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_LEAF
 cache: tracked bytes belonging to leaf pages in the cache
 
#define WT_STAT_CONN_CACHE_BYTES_DIRTY
 cache: tracked dirty bytes in the cache
 
#define WT_STAT_CONN_CACHE_PAGES_DIRTY
 cache: tracked dirty pages in the cache
 
#define WT_STAT_CONN_CACHE_EVICTION_CLEAN
 cache: unmodified pages evicted
 
#define WT_STAT_CONN_FSYNC_ALL_FH_TOTAL
 capacity: background fsync file handles considered
 
#define WT_STAT_CONN_FSYNC_ALL_FH
 capacity: background fsync file handles synced
 
#define WT_STAT_CONN_FSYNC_ALL_TIME
 capacity: background fsync time (msecs)
 
#define WT_STAT_CONN_CAPACITY_BYTES_READ
 capacity: bytes read
 
#define WT_STAT_CONN_CAPACITY_BYTES_CKPT
 capacity: bytes written for checkpoint
 
#define WT_STAT_CONN_CAPACITY_BYTES_EVICT
 capacity: bytes written for eviction
 
#define WT_STAT_CONN_CAPACITY_BYTES_LOG
 capacity: bytes written for log
 
#define WT_STAT_CONN_CAPACITY_BYTES_WRITTEN
 capacity: bytes written total
 
#define WT_STAT_CONN_CAPACITY_THRESHOLD
 capacity: threshold to call fsync
 
#define WT_STAT_CONN_CAPACITY_TIME_TOTAL
 capacity: time waiting due to total capacity (usecs)
 
#define WT_STAT_CONN_CAPACITY_TIME_CKPT
 capacity: time waiting during checkpoint (usecs)
 
#define WT_STAT_CONN_CAPACITY_TIME_EVICT
 capacity: time waiting during eviction (usecs)
 
#define WT_STAT_CONN_CAPACITY_TIME_LOG
 capacity: time waiting during logging (usecs)
 
#define WT_STAT_CONN_CAPACITY_TIME_READ
 capacity: time waiting during read (usecs)
 
#define WT_STAT_CONN_CC_PAGES_EVICT
 checkpoint-cleanup: pages added for eviction
 
#define WT_STAT_CONN_CC_PAGES_REMOVED
 checkpoint-cleanup: pages removed
 
#define WT_STAT_CONN_CC_PAGES_WALK_SKIPPED
 checkpoint-cleanup: pages skipped during tree walk
 
#define WT_STAT_CONN_CC_PAGES_VISITED
 checkpoint-cleanup: pages visited
 
#define WT_STAT_CONN_COND_AUTO_WAIT_RESET
 connection: auto adjusting condition resets
 
#define WT_STAT_CONN_COND_AUTO_WAIT
 connection: auto adjusting condition wait calls
 
#define WT_STAT_CONN_COND_AUTO_WAIT_SKIPPED
 connection: auto adjusting condition wait raced to update timeout and skipped updating
 
#define WT_STAT_CONN_TIME_TRAVEL
 connection: detected system time went backwards
 
#define WT_STAT_CONN_FILE_OPEN
 connection: files currently open
 
#define WT_STAT_CONN_BUCKETS_DH
 connection: hash bucket array size for data handles
 
#define WT_STAT_CONN_BUCKETS
 connection: hash bucket array size general
 
#define WT_STAT_CONN_MEMORY_ALLOCATION
 connection: memory allocations
 
#define WT_STAT_CONN_MEMORY_FREE
 connection: memory frees
 
#define WT_STAT_CONN_MEMORY_GROW
 connection: memory re-allocations
 
#define WT_STAT_CONN_COND_WAIT
 connection: pthread mutex condition wait calls
 
#define WT_STAT_CONN_RWLOCK_READ
 connection: pthread mutex shared lock read-lock calls
 
#define WT_STAT_CONN_RWLOCK_WRITE
 connection: pthread mutex shared lock write-lock calls
 
#define WT_STAT_CONN_FSYNC_IO
 connection: total fsync I/Os
 
#define WT_STAT_CONN_READ_IO
 connection: total read I/Os
 
#define WT_STAT_CONN_WRITE_IO
 connection: total write I/Os
 
#define WT_STAT_CONN_CURSOR_NEXT_SKIP_TOTAL
 cursor: Total number of entries skipped by cursor next calls
 
#define WT_STAT_CONN_CURSOR_PREV_SKIP_TOTAL
 cursor: Total number of entries skipped by cursor prev calls
 
#define WT_STAT_CONN_CURSOR_SKIP_HS_CUR_POSITION
 cursor: Total number of entries skipped to position the history store cursor
 
#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS
 cursor: Total number of times a search near has exited due to prefix config
 
#define WT_STAT_CONN_CURSOR_REPOSITION_FAILED
 cursor: Total number of times cursor fails to temporarily release pinned page to encourage eviction of hot or large page
 
#define WT_STAT_CONN_CURSOR_REPOSITION
 cursor: Total number of times cursor temporarily releases pinned page to encourage eviction of hot or large page
 
#define WT_STAT_CONN_CURSOR_CACHED_COUNT
 cursor: cached cursor count
 
#define WT_STAT_CONN_CURSOR_BOUND_ERROR
 cursor: cursor bound calls that return an error
 
#define WT_STAT_CONN_CURSOR_BOUNDS_RESET
 cursor: cursor bounds cleared from reset
 
#define WT_STAT_CONN_CURSOR_INSERT_BULK
 cursor: cursor bulk loaded cursor insert calls
 
#define WT_STAT_CONN_CURSOR_CACHE_ERROR
 cursor: cursor cache calls that return an error
 
#define WT_STAT_CONN_CURSOR_CACHE
 cursor: cursor close calls that result in cache
 
#define WT_STAT_CONN_CURSOR_CLOSE_ERROR
 cursor: cursor close calls that return an error
 
#define WT_STAT_CONN_CURSOR_COMPARE_ERROR
 cursor: cursor compare calls that return an error
 
#define WT_STAT_CONN_CURSOR_CREATE
 cursor: cursor create calls
 
#define WT_STAT_CONN_CURSOR_EQUALS_ERROR
 cursor: cursor equals calls that return an error
 
#define WT_STAT_CONN_CURSOR_GET_KEY_ERROR
 cursor: cursor get key calls that return an error
 
#define WT_STAT_CONN_CURSOR_GET_VALUE_ERROR
 cursor: cursor get value calls that return an error
 
#define WT_STAT_CONN_CURSOR_INSERT
 cursor: cursor insert calls
 
#define WT_STAT_CONN_CURSOR_INSERT_ERROR
 cursor: cursor insert calls that return an error
 
#define WT_STAT_CONN_CURSOR_INSERT_CHECK_ERROR
 cursor: cursor insert check calls that return an error
 
#define WT_STAT_CONN_CURSOR_INSERT_BYTES
 cursor: cursor insert key and value bytes
 
#define WT_STAT_CONN_CURSOR_LARGEST_KEY_ERROR
 cursor: cursor largest key calls that return an error
 
#define WT_STAT_CONN_CURSOR_MODIFY
 cursor: cursor modify calls
 
#define WT_STAT_CONN_CURSOR_MODIFY_ERROR
 cursor: cursor modify calls that return an error
 
#define WT_STAT_CONN_CURSOR_MODIFY_BYTES
 cursor: cursor modify key and value bytes affected
 
#define WT_STAT_CONN_CURSOR_MODIFY_BYTES_TOUCH
 cursor: cursor modify value bytes modified
 
#define WT_STAT_CONN_CURSOR_NEXT
 cursor: cursor next calls
 
#define WT_STAT_CONN_CURSOR_NEXT_ERROR
 cursor: cursor next calls that return an error
 
#define WT_STAT_CONN_CURSOR_NEXT_HS_TOMBSTONE
 cursor: cursor next calls that skip due to a globally visible history store tombstone
 
#define WT_STAT_CONN_CURSOR_NEXT_SKIP_GE_100
 cursor: cursor next calls that skip greater than or equal to 100 entries
 
#define WT_STAT_CONN_CURSOR_NEXT_SKIP_LT_100
 cursor: cursor next calls that skip less than 100 entries
 
#define WT_STAT_CONN_CURSOR_NEXT_RANDOM_ERROR
 cursor: cursor next random calls that return an error
 
#define WT_STAT_CONN_CURSOR_RESTART
 cursor: cursor operation restarted
 
#define WT_STAT_CONN_CURSOR_PREV
 cursor: cursor prev calls
 
#define WT_STAT_CONN_CURSOR_PREV_ERROR
 cursor: cursor prev calls that return an error
 
#define WT_STAT_CONN_CURSOR_PREV_HS_TOMBSTONE
 cursor: cursor prev calls that skip due to a globally visible history store tombstone
 
#define WT_STAT_CONN_CURSOR_PREV_SKIP_GE_100
 cursor: cursor prev calls that skip greater than or equal to 100 entries
 
#define WT_STAT_CONN_CURSOR_PREV_SKIP_LT_100
 cursor: cursor prev calls that skip less than 100 entries
 
#define WT_STAT_CONN_CURSOR_RECONFIGURE_ERROR
 cursor: cursor reconfigure calls that return an error
 
#define WT_STAT_CONN_CURSOR_REMOVE
 cursor: cursor remove calls
 
#define WT_STAT_CONN_CURSOR_REMOVE_ERROR
 cursor: cursor remove calls that return an error
 
#define WT_STAT_CONN_CURSOR_REMOVE_BYTES
 cursor: cursor remove key bytes removed
 
#define WT_STAT_CONN_CURSOR_REOPEN_ERROR
 cursor: cursor reopen calls that return an error
 
#define WT_STAT_CONN_CURSOR_RESERVE
 cursor: cursor reserve calls
 
#define WT_STAT_CONN_CURSOR_RESERVE_ERROR
 cursor: cursor reserve calls that return an error
 
#define WT_STAT_CONN_CURSOR_RESET
 cursor: cursor reset calls
 
#define WT_STAT_CONN_CURSOR_RESET_ERROR
 cursor: cursor reset calls that return an error
 
#define WT_STAT_CONN_CURSOR_SEARCH
 cursor: cursor search calls
 
#define WT_STAT_CONN_CURSOR_SEARCH_ERROR
 cursor: cursor search calls that return an error
 
#define WT_STAT_CONN_CURSOR_SEARCH_HS
 cursor: cursor search history store calls
 
#define WT_STAT_CONN_CURSOR_SEARCH_NEAR
 cursor: cursor search near calls
 
#define WT_STAT_CONN_CURSOR_SEARCH_NEAR_ERROR
 cursor: cursor search near calls that return an error
 
#define WT_STAT_CONN_CURSOR_SWEEP_BUCKETS
 cursor: cursor sweep buckets
 
#define WT_STAT_CONN_CURSOR_SWEEP_CLOSED
 cursor: cursor sweep cursors closed
 
#define WT_STAT_CONN_CURSOR_SWEEP_EXAMINED
 cursor: cursor sweep cursors examined
 
#define WT_STAT_CONN_CURSOR_SWEEP
 cursor: cursor sweeps
 
#define WT_STAT_CONN_CURSOR_TRUNCATE
 cursor: cursor truncate calls
 
#define WT_STAT_CONN_CURSOR_TRUNCATE_KEYS_DELETED
 cursor: cursor truncates performed on individual keys
 
#define WT_STAT_CONN_CURSOR_UPDATE
 cursor: cursor update calls
 
#define WT_STAT_CONN_CURSOR_UPDATE_ERROR
 cursor: cursor update calls that return an error
 
#define WT_STAT_CONN_CURSOR_UPDATE_BYTES
 cursor: cursor update key and value bytes
 
#define WT_STAT_CONN_CURSOR_UPDATE_BYTES_CHANGED
 cursor: cursor update value size change
 
#define WT_STAT_CONN_CURSOR_REOPEN
 cursor: cursors reused from cache
 
#define WT_STAT_CONN_CURSOR_OPEN_COUNT
 cursor: open cursor count
 
#define WT_STAT_CONN_DH_CONN_HANDLE_SIZE
 data-handle: connection data handle size
 
#define WT_STAT_CONN_DH_CONN_HANDLE_COUNT
 data-handle: connection data handles currently active
 
#define WT_STAT_CONN_DH_SWEEP_REF
 data-handle: connection sweep candidate became referenced
 
#define WT_STAT_CONN_DH_SWEEP_CLOSE
 data-handle: connection sweep dhandles closed
 
#define WT_STAT_CONN_DH_SWEEP_REMOVE
 data-handle: connection sweep dhandles removed from hash list
 
#define WT_STAT_CONN_DH_SWEEP_TOD
 data-handle: connection sweep time-of-death sets
 
#define WT_STAT_CONN_DH_SWEEPS
 data-handle: connection sweeps
 
#define WT_STAT_CONN_DH_SWEEP_SKIP_CKPT
 data-handle: connection sweeps skipped due to checkpoint gathering handles
 
#define WT_STAT_CONN_DH_SESSION_HANDLES
 data-handle: session dhandles swept
 
#define WT_STAT_CONN_DH_SESSION_SWEEPS
 data-handle: session sweep attempts
 
#define WT_STAT_CONN_LOCK_CHECKPOINT_COUNT
 lock: checkpoint lock acquisitions
 
#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_APPLICATION
 lock: checkpoint lock application thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_CHECKPOINT_WAIT_INTERNAL
 lock: checkpoint lock internal thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_APPLICATION
 lock: dhandle lock application thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_DHANDLE_WAIT_INTERNAL
 lock: dhandle lock internal thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_DHANDLE_READ_COUNT
 lock: dhandle read lock acquisitions
 
#define WT_STAT_CONN_LOCK_DHANDLE_WRITE_COUNT
 lock: dhandle write lock acquisitions
 
#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_APPLICATION
 lock: durable timestamp queue lock application thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WAIT_INTERNAL
 lock: durable timestamp queue lock internal thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_READ_COUNT
 lock: durable timestamp queue read lock acquisitions
 
#define WT_STAT_CONN_LOCK_DURABLE_TIMESTAMP_WRITE_COUNT
 lock: durable timestamp queue write lock acquisitions
 
#define WT_STAT_CONN_LOCK_METADATA_COUNT
 lock: metadata lock acquisitions
 
#define WT_STAT_CONN_LOCK_METADATA_WAIT_APPLICATION
 lock: metadata lock application thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_METADATA_WAIT_INTERNAL
 lock: metadata lock internal thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_APPLICATION
 lock: read timestamp queue lock application thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WAIT_INTERNAL
 lock: read timestamp queue lock internal thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_READ_COUNT
 lock: read timestamp queue read lock acquisitions
 
#define WT_STAT_CONN_LOCK_READ_TIMESTAMP_WRITE_COUNT
 lock: read timestamp queue write lock acquisitions
 
#define WT_STAT_CONN_LOCK_SCHEMA_COUNT
 lock: schema lock acquisitions
 
#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_APPLICATION
 lock: schema lock application thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_SCHEMA_WAIT_INTERNAL
 lock: schema lock internal thread wait time (usecs)
 
#define WT_STAT_CONN_LOCK_TABLE_WAIT_APPLICATION
 lock: table lock application thread time waiting for the table lock (usecs)
 
#define WT_STAT_CONN_LOCK_TABLE_WAIT_INTERNAL
 lock: table lock internal thread time waiting for the table lock (usecs)
 
#define WT_STAT_CONN_LOCK_TABLE_READ_COUNT
 lock: table read lock acquisitions
 
#define WT_STAT_CONN_LOCK_TABLE_WRITE_COUNT
 lock: table write lock acquisitions
 
#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_APPLICATION
 lock: txn global lock application thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WAIT_INTERNAL
 lock: txn global lock internal thread time waiting (usecs)
 
#define WT_STAT_CONN_LOCK_TXN_GLOBAL_READ_COUNT
 lock: txn global read lock acquisitions
 
#define WT_STAT_CONN_LOCK_TXN_GLOBAL_WRITE_COUNT
 lock: txn global write lock acquisitions
 
#define WT_STAT_CONN_LOG_SLOT_SWITCH_BUSY
 log: busy returns attempting to switch slots
 
#define WT_STAT_CONN_LOG_FORCE_REMOVE_SLEEP
 log: force log remove time sleeping (usecs)
 
#define WT_STAT_CONN_LOG_BYTES_PAYLOAD
 log: log bytes of payload data
 
#define WT_STAT_CONN_LOG_BYTES_WRITTEN
 log: log bytes written
 
#define WT_STAT_CONN_LOG_ZERO_FILLS
 log: log files manually zero-filled
 
#define WT_STAT_CONN_LOG_FLUSH
 log: log flush operations
 
#define WT_STAT_CONN_LOG_FORCE_WRITE
 log: log force write operations
 
#define WT_STAT_CONN_LOG_FORCE_WRITE_SKIP
 log: log force write operations skipped
 
#define WT_STAT_CONN_LOG_COMPRESS_WRITES
 log: log records compressed
 
#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS
 log: log records not compressed
 
#define WT_STAT_CONN_LOG_COMPRESS_SMALL
 log: log records too small to compress
 
#define WT_STAT_CONN_LOG_RELEASE_WRITE_LSN
 log: log release advances write LSN
 
#define WT_STAT_CONN_LOG_SCANS
 log: log scan operations
 
#define WT_STAT_CONN_LOG_SCAN_REREADS
 log: log scan records requiring two reads
 
#define WT_STAT_CONN_LOG_WRITE_LSN
 log: log server thread advances write LSN
 
#define WT_STAT_CONN_LOG_WRITE_LSN_SKIP
 log: log server thread write LSN walk skipped
 
#define WT_STAT_CONN_LOG_SYNC
 log: log sync operations
 
#define WT_STAT_CONN_LOG_SYNC_DURATION
 log: log sync time duration (usecs)
 
#define WT_STAT_CONN_LOG_SYNC_DIR
 log: log sync_dir operations
 
#define WT_STAT_CONN_LOG_SYNC_DIR_DURATION
 log: log sync_dir time duration (usecs)
 
#define WT_STAT_CONN_LOG_WRITES
 log: log write operations
 
#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED
 log: logging bytes consolidated
 
#define WT_STAT_CONN_LOG_MAX_FILESIZE
 log: maximum log file size
 
#define WT_STAT_CONN_LOG_PREALLOC_MAX
 log: number of pre-allocated log files to create
 
#define WT_STAT_CONN_LOG_PREALLOC_MISSED
 log: pre-allocated log files not ready and missed
 
#define WT_STAT_CONN_LOG_PREALLOC_FILES
 log: pre-allocated log files prepared
 
#define WT_STAT_CONN_LOG_PREALLOC_USED
 log: pre-allocated log files used
 
#define WT_STAT_CONN_LOG_SCAN_RECORDS
 log: records processed by log scan
 
#define WT_STAT_CONN_LOG_SLOT_CLOSE_RACE
 log: slot close lost race
 
#define WT_STAT_CONN_LOG_SLOT_CLOSE_UNBUF
 log: slot close unbuffered waits
 
#define WT_STAT_CONN_LOG_SLOT_CLOSES
 log: slot closures
 
#define WT_STAT_CONN_LOG_SLOT_RACES
 log: slot join atomic update races
 
#define WT_STAT_CONN_LOG_SLOT_YIELD_RACE
 log: slot join calls atomic updates raced
 
#define WT_STAT_CONN_LOG_SLOT_IMMEDIATE
 log: slot join calls did not yield
 
#define WT_STAT_CONN_LOG_SLOT_YIELD_CLOSE
 log: slot join calls found active slot closed
 
#define WT_STAT_CONN_LOG_SLOT_YIELD_SLEEP
 log: slot join calls slept
 
#define WT_STAT_CONN_LOG_SLOT_YIELD
 log: slot join calls yielded
 
#define WT_STAT_CONN_LOG_SLOT_ACTIVE_CLOSED
 log: slot join found active slot closed
 
#define WT_STAT_CONN_LOG_SLOT_YIELD_DURATION
 log: slot joins yield time (usecs)
 
#define WT_STAT_CONN_LOG_SLOT_NO_FREE_SLOTS
 log: slot transitions unable to find free slot
 
#define WT_STAT_CONN_LOG_SLOT_UNBUFFERED
 log: slot unbuffered writes
 
#define WT_STAT_CONN_LOG_COMPRESS_MEM
 log: total in-memory size of compressed records
 
#define WT_STAT_CONN_LOG_BUFFER_SIZE
 log: total log buffer size
 
#define WT_STAT_CONN_LOG_COMPRESS_LEN
 log: total size of compressed records
 
#define WT_STAT_CONN_LOG_SLOT_COALESCED
 log: written slots coalesced
 
#define WT_STAT_CONN_LOG_CLOSE_YIELDS
 log: yields waiting for previous log file close
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT50
 perf: file system read latency histogram (bucket 1) - 10-49ms
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT100
 perf: file system read latency histogram (bucket 2) - 50-99ms
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT250
 perf: file system read latency histogram (bucket 3) - 100-249ms
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT500
 perf: file system read latency histogram (bucket 4) - 250-499ms
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_LT1000
 perf: file system read latency histogram (bucket 5) - 500-999ms
 
#define WT_STAT_CONN_PERF_HIST_FSREAD_LATENCY_GT1000
 perf: file system read latency histogram (bucket 6) - 1000ms+
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT50
 perf: file system write latency histogram (bucket 1) - 10-49ms
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT100
 perf: file system write latency histogram (bucket 2) - 50-99ms
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT250
 perf: file system write latency histogram (bucket 3) - 100-249ms
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT500
 perf: file system write latency histogram (bucket 4) - 250-499ms
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_LT1000
 perf: file system write latency histogram (bucket 5) - 500-999ms
 
#define WT_STAT_CONN_PERF_HIST_FSWRITE_LATENCY_GT1000
 perf: file system write latency histogram (bucket 6) - 1000ms+
 
#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT250
 perf: operation read latency histogram (bucket 1) - 100-249us
 
#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT500
 perf: operation read latency histogram (bucket 2) - 250-499us
 
#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT1000
 perf: operation read latency histogram (bucket 3) - 500-999us
 
#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_LT10000
 perf: operation read latency histogram (bucket 4) - 1000-9999us
 
#define WT_STAT_CONN_PERF_HIST_OPREAD_LATENCY_GT10000
 perf: operation read latency histogram (bucket 5) - 10000us+
 
#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT250
 perf: operation write latency histogram (bucket 1) - 100-249us
 
#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT500
 perf: operation write latency histogram (bucket 2) - 250-499us
 
#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT1000
 perf: operation write latency histogram (bucket 3) - 500-999us
 
#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_LT10000
 perf: operation write latency histogram (bucket 4) - 1000-9999us
 
#define WT_STAT_CONN_PERF_HIST_OPWRITE_LATENCY_GT10000
 perf: operation write latency histogram (bucket 5) - 10000us+
 
#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TS
 reconciliation: approximate byte size of timestamps in pages written
 
#define WT_STAT_CONN_REC_TIME_WINDOW_BYTES_TXN
 reconciliation: approximate byte size of transaction IDs in pages written
 
#define WT_STAT_CONN_REC_PAGE_DELETE_FAST
 reconciliation: fast-path pages deleted
 
#define WT_STAT_CONN_REC_OVERFLOW_KEY_LEAF
 reconciliation: leaf-page overflow keys
 
#define WT_STAT_CONN_REC_MAXIMUM_SECONDS
 reconciliation: maximum seconds spent in a reconciliation call
 
#define WT_STAT_CONN_REC_PAGES
 reconciliation: page reconciliation calls
 
#define WT_STAT_CONN_REC_PAGES_EVICTION
 reconciliation: page reconciliation calls for eviction
 
#define WT_STAT_CONN_REC_PAGES_WITH_PREPARE
 reconciliation: page reconciliation calls that resulted in values with prepared transaction metadata
 
#define WT_STAT_CONN_REC_PAGES_WITH_TS
 reconciliation: page reconciliation calls that resulted in values with timestamps
 
#define WT_STAT_CONN_REC_PAGES_WITH_TXN
 reconciliation: page reconciliation calls that resulted in values with transaction ids
 
#define WT_STAT_CONN_REC_PAGE_DELETE
 reconciliation: pages deleted
 
#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_START_DURABLE_TS
 reconciliation: pages written including an aggregated newest start durable timestamp
 
#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS
 reconciliation: pages written including an aggregated newest stop durable timestamp
 
#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TS
 reconciliation: pages written including an aggregated newest stop timestamp
 
#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_STOP_TXN
 reconciliation: pages written including an aggregated newest stop transaction ID
 
#define WT_STAT_CONN_REC_TIME_AGGR_NEWEST_TXN
 reconciliation: pages written including an aggregated newest transaction ID
 
#define WT_STAT_CONN_REC_TIME_AGGR_OLDEST_START_TS
 reconciliation: pages written including an aggregated oldest start timestamp
 
#define WT_STAT_CONN_REC_TIME_AGGR_PREPARED
 reconciliation: pages written including an aggregated prepare
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_PREPARED
 reconciliation: pages written including at least one prepare state
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_START_TS
 reconciliation: pages written including at least one start durable timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TS
 reconciliation: pages written including at least one start timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_START_TXN
 reconciliation: pages written including at least one start transaction ID
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS
 reconciliation: pages written including at least one stop durable timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TS
 reconciliation: pages written including at least one stop timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PAGES_STOP_TXN
 reconciliation: pages written including at least one stop transaction ID
 
#define WT_STAT_CONN_REC_TIME_WINDOW_PREPARED
 reconciliation: records written including a prepare state
 
#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_START_TS
 reconciliation: records written including a start durable timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_START_TS
 reconciliation: records written including a start timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_START_TXN
 reconciliation: records written including a start transaction ID
 
#define WT_STAT_CONN_REC_TIME_WINDOW_DURABLE_STOP_TS
 reconciliation: records written including a stop durable timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TS
 reconciliation: records written including a stop timestamp
 
#define WT_STAT_CONN_REC_TIME_WINDOW_STOP_TXN
 reconciliation: records written including a stop transaction ID
 
#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES
 reconciliation: split bytes currently awaiting free
 
#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS
 reconciliation: split objects currently awaiting free
 
#define WT_STAT_CONN_LOCAL_OBJECTS_INUSE
 session: attempts to remove a local object and the object is in use
 
#define WT_STAT_CONN_FLUSH_TIER
 session: flush_tier operation calls
 
#define WT_STAT_CONN_FLUSH_TIER_SKIPPED
 session: flush_tier tables skipped due to no checkpoint
 
#define WT_STAT_CONN_FLUSH_TIER_SWITCHED
 session: flush_tier tables switched
 
#define WT_STAT_CONN_LOCAL_OBJECTS_REMOVED
 session: local objects removed
 
#define WT_STAT_CONN_SESSION_OPEN
 session: open session count
 
#define WT_STAT_CONN_SESSION_QUERY_TS
 session: session query timestamp calls
 
#define WT_STAT_CONN_SESSION_TABLE_ALTER_FAIL
 session: table alter failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_ALTER_SUCCESS
 session: table alter successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_ALTER_TRIGGER_CHECKPOINT
 session: table alter triggering checkpoint calls
 
#define WT_STAT_CONN_SESSION_TABLE_ALTER_SKIP
 session: table alter unchanged and skipped
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL
 session: table compact failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_FAIL_CACHE_PRESSURE
 session: table compact failed calls due to cache pressure
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_RUNNING
 session: table compact running
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SKIPPED
 session: table compact skipped as process would not reduce file size
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_SUCCESS
 session: table compact successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_COMPACT_TIMEOUT
 session: table compact timeout
 
#define WT_STAT_CONN_SESSION_TABLE_CREATE_FAIL
 session: table create failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_CREATE_SUCCESS
 session: table create successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_FAIL
 session: table create with import failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_CREATE_IMPORT_SUCCESS
 session: table create with import successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_DROP_FAIL
 session: table drop failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_DROP_SUCCESS
 session: table drop successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_RENAME_FAIL
 session: table rename failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_RENAME_SUCCESS
 session: table rename successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_FAIL
 session: table salvage failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_SALVAGE_SUCCESS
 session: table salvage successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_FAIL
 session: table truncate failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_TRUNCATE_SUCCESS
 session: table truncate successful calls
 
#define WT_STAT_CONN_SESSION_TABLE_VERIFY_FAIL
 session: table verify failed calls
 
#define WT_STAT_CONN_SESSION_TABLE_VERIFY_SUCCESS
 session: table verify successful calls
 
#define WT_STAT_CONN_TIERED_WORK_UNITS_DEQUEUED
 session: tiered operations dequeued and processed
 
#define WT_STAT_CONN_TIERED_WORK_UNITS_CREATED
 session: tiered operations scheduled
 
#define WT_STAT_CONN_TIERED_RETENTION
 session: tiered storage local retention time (secs)
 
#define WT_STAT_CONN_THREAD_FSYNC_ACTIVE
 thread-state: active filesystem fsync calls
 
#define WT_STAT_CONN_THREAD_READ_ACTIVE
 thread-state: active filesystem read calls
 
#define WT_STAT_CONN_THREAD_WRITE_ACTIVE
 thread-state: active filesystem write calls
 
#define WT_STAT_CONN_APPLICATION_EVICT_TIME
 thread-yield: application thread time evicting (usecs)
 
#define WT_STAT_CONN_APPLICATION_CACHE_TIME
 thread-yield: application thread time waiting for cache (usecs)
 
#define WT_STAT_CONN_TXN_RELEASE_BLOCKED
 thread-yield: connection close blocked waiting for transaction state stabilization
 
#define WT_STAT_CONN_CONN_CLOSE_BLOCKED_LSM
 thread-yield: connection close yielded for lsm manager shutdown
 
#define WT_STAT_CONN_DHANDLE_LOCK_BLOCKED
 thread-yield: data handle lock yielded
 
#define WT_STAT_CONN_PAGE_INDEX_SLOT_REF_BLOCKED
 thread-yield: get reference for page index and slot time sleeping (usecs)
 
#define WT_STAT_CONN_PREPARED_TRANSITION_BLOCKED_PAGE
 thread-yield: page access yielded due to prepare state change
 
#define WT_STAT_CONN_PAGE_BUSY_BLOCKED
 thread-yield: page acquire busy blocked
 
#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED
 thread-yield: page acquire eviction blocked
 
#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED
 thread-yield: page acquire locked blocked
 
#define WT_STAT_CONN_PAGE_READ_BLOCKED
 thread-yield: page acquire read blocked
 
#define WT_STAT_CONN_PAGE_SLEEP
 thread-yield: page acquire time sleeping (usecs)
 
#define WT_STAT_CONN_PAGE_DEL_ROLLBACK_BLOCKED
 thread-yield: page delete rollback time sleeping for state change (usecs)
 
#define WT_STAT_CONN_CHILD_MODIFY_BLOCKED_PAGE
 thread-yield: page reconciliation yielded due to child modification
 
#define WT_STAT_CONN_TXN_PREPARED_UPDATES
 transaction: Number of prepared updates
 
#define WT_STAT_CONN_TXN_PREPARED_UPDATES_COMMITTED
 transaction: Number of prepared updates committed
 
#define WT_STAT_CONN_TXN_PREPARED_UPDATES_KEY_REPEATED
 transaction: Number of prepared updates repeated on the same key
 
#define WT_STAT_CONN_TXN_PREPARED_UPDATES_ROLLEDBACK
 transaction: Number of prepared updates rolled back
 
#define WT_STAT_CONN_TXN_PREPARE
 transaction: prepared transactions
 
#define WT_STAT_CONN_TXN_PREPARE_COMMIT
 transaction: prepared transactions committed
 
#define WT_STAT_CONN_TXN_PREPARE_ACTIVE
 transaction: prepared transactions currently active
 
#define WT_STAT_CONN_TXN_PREPARE_ROLLBACK
 transaction: prepared transactions rolled back
 
#define WT_STAT_CONN_TXN_QUERY_TS
 transaction: query timestamp calls
 
#define WT_STAT_CONN_TXN_READ_RACE_PREPARE_UPDATE
 transaction: race to read prepared update retry
 
#define WT_STAT_CONN_TXN_RTS
 transaction: rollback to stable calls
 
#define WT_STAT_CONN_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START
 transaction: rollback to stable history store records with stop timestamps older than newer records
 
#define WT_STAT_CONN_TXN_RTS_INCONSISTENT_CKPT
 transaction: rollback to stable inconsistent checkpoint
 
#define WT_STAT_CONN_TXN_RTS_KEYS_REMOVED
 transaction: rollback to stable keys removed
 
#define WT_STAT_CONN_TXN_RTS_KEYS_RESTORED
 transaction: rollback to stable keys restored
 
#define WT_STAT_CONN_TXN_RTS_PAGES_VISITED
 transaction: rollback to stable pages visited
 
#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_TOMBSTONES
 transaction: rollback to stable restored tombstones from history store
 
#define WT_STAT_CONN_TXN_RTS_HS_RESTORE_UPDATES
 transaction: rollback to stable restored updates from history store
 
#define WT_STAT_CONN_TXN_RTS_DELETE_RLE_SKIPPED
 transaction: rollback to stable skipping delete rle
 
#define WT_STAT_CONN_TXN_RTS_STABLE_RLE_SKIPPED
 transaction: rollback to stable skipping stable rle
 
#define WT_STAT_CONN_TXN_RTS_SWEEP_HS_KEYS
 transaction: rollback to stable sweeping history store keys
 
#define WT_STAT_CONN_TXN_RTS_TREE_WALK_SKIP_PAGES
 transaction: rollback to stable tree walk skipping pages
 
#define WT_STAT_CONN_TXN_RTS_UPD_ABORTED
 transaction: rollback to stable updates aborted
 
#define WT_STAT_CONN_TXN_RTS_HS_REMOVED
 transaction: rollback to stable updates removed from history store
 
#define WT_STAT_CONN_TXN_SESSIONS_WALKED
 transaction: sessions scanned in each walk of concurrent sessions
 
#define WT_STAT_CONN_TXN_SET_TS
 transaction: set timestamp calls
 
#define WT_STAT_CONN_TXN_SET_TS_DURABLE
 transaction: set timestamp durable calls
 
#define WT_STAT_CONN_TXN_SET_TS_DURABLE_UPD
 transaction: set timestamp durable updates
 
#define WT_STAT_CONN_TXN_SET_TS_OLDEST
 transaction: set timestamp oldest calls
 
#define WT_STAT_CONN_TXN_SET_TS_OLDEST_UPD
 transaction: set timestamp oldest updates
 
#define WT_STAT_CONN_TXN_SET_TS_STABLE
 transaction: set timestamp stable calls
 
#define WT_STAT_CONN_TXN_SET_TS_STABLE_UPD
 transaction: set timestamp stable updates
 
#define WT_STAT_CONN_TXN_BEGIN
 transaction: transaction begins
 
#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING
 transaction: transaction checkpoint currently running
 
#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING_HS
 transaction: transaction checkpoint currently running for history store file
 
#define WT_STAT_CONN_TXN_CHECKPOINT_GENERATION
 transaction: transaction checkpoint generation
 
#define WT_STAT_CONN_TXN_HS_CKPT_DURATION
 transaction: transaction checkpoint history store file duration (usecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX
 transaction: transaction checkpoint max time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN
 transaction: transaction checkpoint min time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION
 transaction: transaction checkpoint most recent duration for gathering all handles (usecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_APPLY
 transaction: transaction checkpoint most recent duration for gathering applied handles (usecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_DURATION_SKIP
 transaction: transaction checkpoint most recent duration for gathering skipped handles (usecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_APPLIED
 transaction: transaction checkpoint most recent handles applied
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_SKIPPED
 transaction: transaction checkpoint most recent handles skipped
 
#define WT_STAT_CONN_TXN_CHECKPOINT_HANDLE_WALKED
 transaction: transaction checkpoint most recent handles walked
 
#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT
 transaction: transaction checkpoint most recent time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RUNNING
 transaction: transaction checkpoint prepare currently running
 
#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MAX
 transaction: transaction checkpoint prepare max time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_MIN
 transaction: transaction checkpoint prepare min time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_RECENT
 transaction: transaction checkpoint prepare most recent time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_PREP_TOTAL
 transaction: transaction checkpoint prepare total time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TARGET
 transaction: transaction checkpoint scrub dirty target
 
#define WT_STAT_CONN_TXN_CHECKPOINT_SCRUB_TIME
 transaction: transaction checkpoint scrub time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT_STOP_STRESS_ACTIVE
 transaction: transaction checkpoint stop timing stress active
 
#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL
 transaction: transaction checkpoint total time (msecs)
 
#define WT_STAT_CONN_TXN_CHECKPOINT
 transaction: transaction checkpoints
 
#define WT_STAT_CONN_TXN_CHECKPOINT_OBSOLETE_APPLIED
 transaction: transaction checkpoints due to obsolete pages
 
#define WT_STAT_CONN_TXN_CHECKPOINT_SKIPPED
 transaction: transaction checkpoints skipped because database was clean
 
#define WT_STAT_CONN_TXN_FAIL_CACHE
 transaction: transaction failures due to history store
 
#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST
 transaction: transaction fsync calls for checkpoint after allocating the transaction ID
 
#define WT_STAT_CONN_TXN_CHECKPOINT_FSYNC_POST_DURATION
 transaction: transaction fsync duration for checkpoint after allocating the transaction ID (usecs)
 
#define WT_STAT_CONN_TXN_PINNED_RANGE
 transaction: transaction range of IDs currently pinned
 
#define WT_STAT_CONN_TXN_PINNED_CHECKPOINT_RANGE
 transaction: transaction range of IDs currently pinned by a checkpoint
 
#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP
 transaction: transaction range of timestamps currently pinned
 
#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_CHECKPOINT
 transaction: transaction range of timestamps pinned by a checkpoint
 
#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_READER
 transaction: transaction range of timestamps pinned by the oldest active read timestamp
 
#define WT_STAT_CONN_TXN_PINNED_TIMESTAMP_OLDEST
 transaction: transaction range of timestamps pinned by the oldest timestamp
 
#define WT_STAT_CONN_TXN_TIMESTAMP_OLDEST_ACTIVE_READ
 transaction: transaction read timestamp of the oldest active reader
 
#define WT_STAT_CONN_TXN_ROLLBACK_TO_STABLE_RUNNING
 transaction: transaction rollback to stable currently running
 
#define WT_STAT_CONN_TXN_WALK_SESSIONS
 transaction: transaction walk of concurrent sessions
 
#define WT_STAT_CONN_TXN_COMMIT
 transaction: transactions committed
 
#define WT_STAT_CONN_TXN_ROLLBACK
 transaction: transactions rolled back
 
#define WT_STAT_CONN_TXN_UPDATE_CONFLICT
 transaction: update conflicts
 

Statistics for data sources

#define WT_STAT_DSRC_BLOOM_FALSE_POSITIVE
 LSM: bloom filter false positives.
 
#define WT_STAT_DSRC_BLOOM_HIT
 LSM: bloom filter hits.
 
#define WT_STAT_DSRC_BLOOM_MISS
 LSM: bloom filter misses.
 
#define WT_STAT_DSRC_BLOOM_PAGE_EVICT
 LSM: bloom filter pages evicted from cache.
 
#define WT_STAT_DSRC_BLOOM_PAGE_READ
 LSM: bloom filter pages read into cache.
 
#define WT_STAT_DSRC_BLOOM_COUNT
 LSM: bloom filters in the LSM tree.
 
#define WT_STAT_DSRC_LSM_CHUNK_COUNT
 LSM: chunks in the LSM tree.
 
#define WT_STAT_DSRC_LSM_GENERATION_MAX
 LSM: highest merge generation in the LSM tree.
 
#define WT_STAT_DSRC_LSM_LOOKUP_NO_BLOOM
 LSM: queries that could have benefited from a Bloom filter that did not exist.
 
#define WT_STAT_DSRC_LSM_CHECKPOINT_THROTTLE
 LSM: sleep for LSM checkpoint throttle.
 
#define WT_STAT_DSRC_LSM_MERGE_THROTTLE
 LSM: sleep for LSM merge throttle.
 
#define WT_STAT_DSRC_BLOOM_SIZE
 LSM: total size of bloom filters.
 
#define WT_STAT_DSRC_BLOCK_EXTENSION
 block-manager: allocations requiring file extension
 
#define WT_STAT_DSRC_BLOCK_ALLOC
 block-manager: blocks allocated
 
#define WT_STAT_DSRC_BLOCK_FREE
 block-manager: blocks freed
 
#define WT_STAT_DSRC_BLOCK_CHECKPOINT_SIZE
 block-manager: checkpoint size
 
#define WT_STAT_DSRC_ALLOCATION_SIZE
 block-manager: file allocation unit size
 
#define WT_STAT_DSRC_BLOCK_REUSE_BYTES
 block-manager: file bytes available for reuse
 
#define WT_STAT_DSRC_BLOCK_MAGIC
 block-manager: file magic number
 
#define WT_STAT_DSRC_BLOCK_MAJOR
 block-manager: file major version number
 
#define WT_STAT_DSRC_BLOCK_SIZE
 block-manager: file size in bytes
 
#define WT_STAT_DSRC_BLOCK_MINOR
 block-manager: minor version number
 
#define WT_STAT_DSRC_BTREE_CHECKPOINT_GENERATION
 btree: btree checkpoint generation
 
#define WT_STAT_DSRC_BTREE_CLEAN_CHECKPOINT_TIMER
 btree: btree clean tree checkpoint expiration time
 
#define WT_STAT_DSRC_BTREE_COMPACT_PAGES_REVIEWED
 btree: btree compact pages reviewed
 
#define WT_STAT_DSRC_BTREE_COMPACT_PAGES_REWRITTEN
 btree: btree compact pages rewritten
 
#define WT_STAT_DSRC_BTREE_COMPACT_PAGES_SKIPPED
 btree: btree compact pages skipped
 
#define WT_STAT_DSRC_BTREE_COMPACT_SKIPPED
 btree: btree skipped by compaction as process would not reduce size
 
#define WT_STAT_DSRC_BTREE_COLUMN_FIX
 btree: column-store fixed-size leaf pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_COLUMN_TWS
 btree: column-store fixed-size time windows, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_COLUMN_INTERNAL
 btree: column-store internal pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_COLUMN_RLE
 btree: column-store variable-size RLE encoded values, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_COLUMN_DELETED
 btree: column-store variable-size deleted values, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_COLUMN_VARIABLE
 btree: column-store variable-size leaf pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_FIXED_LEN
 btree: fixed-record size
 
#define WT_STAT_DSRC_BTREE_MAXINTLPAGE
 btree: maximum internal page size
 
#define WT_STAT_DSRC_BTREE_MAXLEAFKEY
 btree: maximum leaf page key size
 
#define WT_STAT_DSRC_BTREE_MAXLEAFPAGE
 btree: maximum leaf page size
 
#define WT_STAT_DSRC_BTREE_MAXLEAFVALUE
 btree: maximum leaf page value size
 
#define WT_STAT_DSRC_BTREE_MAXIMUM_DEPTH
 btree: maximum tree depth
 
#define WT_STAT_DSRC_BTREE_ENTRIES
 btree: number of key/value pairs, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_OVERFLOW
 btree: overflow pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_ROW_EMPTY_VALUES
 btree: row-store empty values, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_ROW_INTERNAL
 btree: row-store internal pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_BTREE_ROW_LEAF
 btree: row-store leaf pages, only reported if tree_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_BYTES_INUSE
 cache: bytes currently in the cache
 
#define WT_STAT_DSRC_CACHE_BYTES_DIRTY_TOTAL
 cache: bytes dirty in the cache cumulative
 
#define WT_STAT_DSRC_CACHE_BYTES_READ
 cache: bytes read into cache
 
#define WT_STAT_DSRC_CACHE_BYTES_WRITE
 cache: bytes written from cache
 
#define WT_STAT_DSRC_CACHE_EVICTION_CHECKPOINT
 cache: checkpoint blocked page eviction
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_CHECKPOINT_HS
 cache: checkpoint of history store file blocked non-history store page eviction
 
#define WT_STAT_DSRC_CACHE_EVICTION_FAIL
 cache: data source pages selected for eviction unable to be evicted
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_1
 cache: eviction gave up due to detecting a disk value without a timestamp behind the last update on the chain
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_2
 cache: eviction gave up due to detecting a tombstone without a timestamp ahead of the selected on disk update
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_3
 cache: eviction gave up due to detecting a tombstone without a timestamp ahead of the selected on disk update after validating the update chain
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_NO_TS_CHECKPOINT_RACE_4
 cache: eviction gave up due to detecting update chain entries without timestamps after the selected on disk update
 
#define WT_STAT_DSRC_CACHE_EVICTION_BLOCKED_REMOVE_HS_RACE_WITH_CHECKPOINT
 cache: eviction gave up due to needing to remove a record from the history store but checkpoint is running
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALK_PASSES
 cache: eviction walk passes of a file
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_LT10
 cache: eviction walk target pages histogram - 0-9
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_LT32
 cache: eviction walk target pages histogram - 10-31
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_GE128
 cache: eviction walk target pages histogram - 128 and higher
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_LT64
 cache: eviction walk target pages histogram - 32-63
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_LT128
 cache: eviction walk target pages histogram - 64-128
 
#define WT_STAT_DSRC_CACHE_EVICTION_TARGET_PAGE_REDUCED
 cache: eviction walk target pages reduced due to history store cache pressure
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALKS_ABANDONED
 cache: eviction walks abandoned
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALKS_STOPPED
 cache: eviction walks gave up because they restarted their walk twice
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALKS_GAVE_UP_NO_TARGETS
 cache: eviction walks gave up because they saw too many pages and found no candidates
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALKS_GAVE_UP_RATIO
 cache: eviction walks gave up because they saw too many pages and found too few candidates
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALKS_ENDED
 cache: eviction walks reached end of tree
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALK_RESTART
 cache: eviction walks restarted
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALK_FROM_ROOT
 cache: eviction walks started from root of tree
 
#define WT_STAT_DSRC_CACHE_EVICTION_WALK_SAVED_POS
 cache: eviction walks started from saved location in tree
 
#define WT_STAT_DSRC_CACHE_EVICTION_HAZARD
 cache: hazard pointer blocked page eviction
 
#define WT_STAT_DSRC_CACHE_HS_INSERT
 cache: history store table insert calls
 
#define WT_STAT_DSRC_CACHE_HS_INSERT_RESTART
 cache: history store table insert calls that returned restart
 
#define WT_STAT_DSRC_CACHE_HS_READ
 cache: history store table reads
 
#define WT_STAT_DSRC_CACHE_HS_READ_MISS
 cache: history store table reads missed
 
#define WT_STAT_DSRC_CACHE_HS_READ_SQUASH
 cache: history store table reads requiring squashed modifies
 
#define WT_STAT_DSRC_CACHE_HS_ORDER_LOSE_DURABLE_TIMESTAMP
 cache: history store table resolved updates without timestamps that lose their durable timestamp
 
#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_RTS_UNSTABLE
 cache: history store table truncation by rollback to stable to remove an unstable update
 
#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_RTS
 cache: history store table truncation by rollback to stable to remove an update
 
#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE
 cache: history store table truncation to remove an update
 
#define WT_STAT_DSRC_CACHE_HS_ORDER_REMOVE
 cache: history store table truncation to remove range of updates due to an update without a timestamp on data page
 
#define WT_STAT_DSRC_CACHE_HS_KEY_TRUNCATE_ONPAGE_REMOVAL
 cache: history store table truncation to remove range of updates due to key being removed from the data page during reconciliation
 
#define WT_STAT_DSRC_CACHE_HS_ORDER_REINSERT
 cache: history store table updates without timestamps fixed up by reinserting with the fixed timestamp
 
#define WT_STAT_DSRC_CACHE_HS_WRITE_SQUASH
 cache: history store table writes requiring squashed modifies
 
#define WT_STAT_DSRC_CACHE_INMEM_SPLITTABLE
 cache: in-memory page passed criteria to be split
 
#define WT_STAT_DSRC_CACHE_INMEM_SPLIT
 cache: in-memory page splits
 
#define WT_STAT_DSRC_CACHE_EVICTION_INTERNAL
 cache: internal pages evicted
 
#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_INTERNAL
 cache: internal pages split during eviction
 
#define WT_STAT_DSRC_CACHE_EVICTION_SPLIT_LEAF
 cache: leaf pages split during eviction
 
#define WT_STAT_DSRC_CACHE_EVICTION_DIRTY
 cache: modified pages evicted
 
#define WT_STAT_DSRC_CACHE_READ_OVERFLOW
 cache: overflow pages read into cache
 
#define WT_STAT_DSRC_CACHE_EVICTION_DEEPEN
 cache: page split during eviction deepened the tree
 
#define WT_STAT_DSRC_CACHE_WRITE_HS
 cache: page written requiring history store records
 
#define WT_STAT_DSRC_CACHE_READ
 cache: pages read into cache
 
#define WT_STAT_DSRC_CACHE_READ_DELETED
 cache: pages read into cache after truncate
 
#define WT_STAT_DSRC_CACHE_READ_DELETED_PREPARED
 cache: pages read into cache after truncate in prepare state
 
#define WT_STAT_DSRC_CACHE_PAGES_REQUESTED
 cache: pages requested from the cache
 
#define WT_STAT_DSRC_CACHE_EVICTION_PAGES_SEEN
 cache: pages seen by eviction walk
 
#define WT_STAT_DSRC_CACHE_WRITE
 cache: pages written from cache
 
#define WT_STAT_DSRC_CACHE_WRITE_RESTORE
 cache: pages written requiring in-memory restoration
 
#define WT_STAT_DSRC_CACHE_HS_INSERT_FULL_UPDATE
 cache: the number of times full update inserted to history store
 
#define WT_STAT_DSRC_CACHE_HS_INSERT_REVERSE_MODIFY
 cache: the number of times reverse modify inserted to history store
 
#define WT_STAT_DSRC_CACHE_BYTES_DIRTY
 cache: tracked dirty bytes in the cache
 
#define WT_STAT_DSRC_CACHE_EVICTION_CLEAN
 cache: unmodified pages evicted
 
#define WT_STAT_DSRC_CACHE_STATE_GEN_AVG_GAP
 cache_walk: Average difference between current eviction generation when the page was last considered, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_AVG_WRITTEN_SIZE
 cache_walk: Average on-disk page image size seen, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_AVG_VISITED_AGE
 cache_walk: Average time in cache for pages that have been visited by the eviction server, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_AVG_UNVISITED_AGE
 cache_walk: Average time in cache for pages that have not been visited by the eviction server, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_PAGES_CLEAN
 cache_walk: Clean pages currently in cache, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_GEN_CURRENT
 cache_walk: Current eviction generation, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_PAGES_DIRTY
 cache_walk: Dirty pages currently in cache, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_ROOT_ENTRIES
 cache_walk: Entries in the root page, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_PAGES_INTERNAL
 cache_walk: Internal pages currently in cache, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_PAGES_LEAF
 cache_walk: Leaf pages currently in cache, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_GEN_MAX_GAP
 cache_walk: Maximum difference between current eviction generation when the page was last considered, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_MAX_PAGESIZE
 cache_walk: Maximum page size seen, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_MIN_WRITTEN_SIZE
 cache_walk: Minimum on-disk page image size seen, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_UNVISITED_COUNT
 cache_walk: Number of pages never visited by eviction server, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_SMALLER_ALLOC_SIZE
 cache_walk: On-disk page image sizes smaller than a single allocation unit, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_MEMORY
 cache_walk: Pages created in memory and never written, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_QUEUED
 cache_walk: Pages currently queued for eviction, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_NOT_QUEUEABLE
 cache_walk: Pages that could not be queued for eviction, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_REFS_SKIPPED
 cache_walk: Refs skipped during cache traversal, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_ROOT_SIZE
 cache_walk: Size of the root page, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CACHE_STATE_PAGES
 cache_walk: Total number of pages currently in cache, only reported if cache_walk or all statistics are enabled
 
#define WT_STAT_DSRC_CC_PAGES_EVICT
 checkpoint-cleanup: pages added for eviction
 
#define WT_STAT_DSRC_CC_PAGES_REMOVED
 checkpoint-cleanup: pages removed
 
#define WT_STAT_DSRC_CC_PAGES_WALK_SKIPPED
 checkpoint-cleanup: pages skipped during tree walk
 
#define WT_STAT_DSRC_CC_PAGES_VISITED
 checkpoint-cleanup: pages visited
 
#define WT_STAT_DSRC_COMPRESS_PRECOMP_INTL_MAX_PAGE_SIZE
 compression: compressed page maximum internal page size prior to compression
 
#define WT_STAT_DSRC_COMPRESS_PRECOMP_LEAF_MAX_PAGE_SIZE
 compression: compressed page maximum leaf page size prior to compression
 
#define WT_STAT_DSRC_COMPRESS_READ
 compression: compressed pages read
 
#define WT_STAT_DSRC_COMPRESS_WRITE
 compression: compressed pages written
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_MAX
 compression: number of blocks with compress ratio greater than 64
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_16
 compression: number of blocks with compress ratio smaller than 16
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_2
 compression: number of blocks with compress ratio smaller than 2
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_32
 compression: number of blocks with compress ratio smaller than 32
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_4
 compression: number of blocks with compress ratio smaller than 4
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_64
 compression: number of blocks with compress ratio smaller than 64
 
#define WT_STAT_DSRC_COMPRESS_HIST_RATIO_8
 compression: number of blocks with compress ratio smaller than 8
 
#define WT_STAT_DSRC_COMPRESS_WRITE_FAIL
 compression: page written failed to compress
 
#define WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL
 compression: page written was too small to compress
 
#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_TOTAL
 cursor: Total number of entries skipped by cursor next calls
 
#define WT_STAT_DSRC_CURSOR_PREV_SKIP_TOTAL
 cursor: Total number of entries skipped by cursor prev calls
 
#define WT_STAT_DSRC_CURSOR_SKIP_HS_CUR_POSITION
 cursor: Total number of entries skipped to position the history store cursor
 
#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_PREFIX_FAST_PATHS
 cursor: Total number of times a search near has exited due to prefix config
 
#define WT_STAT_DSRC_CURSOR_REPOSITION_FAILED
 cursor: Total number of times cursor fails to temporarily release pinned page to encourage eviction of hot or large page
 
#define WT_STAT_DSRC_CURSOR_REPOSITION
 cursor: Total number of times cursor temporarily releases pinned page to encourage eviction of hot or large page
 
#define WT_STAT_DSRC_CURSOR_INSERT_BULK
 cursor: bulk loaded cursor insert calls
 
#define WT_STAT_DSRC_CURSOR_REOPEN
 cursor: cache cursors reuse count
 
#define WT_STAT_DSRC_CURSOR_CACHE
 cursor: close calls that result in cache
 
#define WT_STAT_DSRC_CURSOR_CREATE
 cursor: create calls
 
#define WT_STAT_DSRC_CURSOR_BOUND_ERROR
 cursor: cursor bound calls that return an error
 
#define WT_STAT_DSRC_CURSOR_BOUNDS_RESET
 cursor: cursor bounds cleared from reset
 
#define WT_STAT_DSRC_CURSOR_CACHE_ERROR
 cursor: cursor cache calls that return an error
 
#define WT_STAT_DSRC_CURSOR_CLOSE_ERROR
 cursor: cursor close calls that return an error
 
#define WT_STAT_DSRC_CURSOR_COMPARE_ERROR
 cursor: cursor compare calls that return an error
 
#define WT_STAT_DSRC_CURSOR_EQUALS_ERROR
 cursor: cursor equals calls that return an error
 
#define WT_STAT_DSRC_CURSOR_GET_KEY_ERROR
 cursor: cursor get key calls that return an error
 
#define WT_STAT_DSRC_CURSOR_GET_VALUE_ERROR
 cursor: cursor get value calls that return an error
 
#define WT_STAT_DSRC_CURSOR_INSERT_ERROR
 cursor: cursor insert calls that return an error
 
#define WT_STAT_DSRC_CURSOR_INSERT_CHECK_ERROR
 cursor: cursor insert check calls that return an error
 
#define WT_STAT_DSRC_CURSOR_LARGEST_KEY_ERROR
 cursor: cursor largest key calls that return an error
 
#define WT_STAT_DSRC_CURSOR_MODIFY_ERROR
 cursor: cursor modify calls that return an error
 
#define WT_STAT_DSRC_CURSOR_NEXT_ERROR
 cursor: cursor next calls that return an error
 
#define WT_STAT_DSRC_CURSOR_NEXT_HS_TOMBSTONE
 cursor: cursor next calls that skip due to a globally visible history store tombstone
 
#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_GE_100
 cursor: cursor next calls that skip greater than or equal to 100 entries
 
#define WT_STAT_DSRC_CURSOR_NEXT_SKIP_LT_100
 cursor: cursor next calls that skip less than 100 entries
 
#define WT_STAT_DSRC_CURSOR_NEXT_RANDOM_ERROR
 cursor: cursor next random calls that return an error
 
#define WT_STAT_DSRC_CURSOR_PREV_ERROR
 cursor: cursor prev calls that return an error
 
#define WT_STAT_DSRC_CURSOR_PREV_HS_TOMBSTONE
 cursor: cursor prev calls that skip due to a globally visible history store tombstone
 
#define WT_STAT_DSRC_CURSOR_PREV_SKIP_GE_100
 cursor: cursor prev calls that skip greater than or equal to 100 entries
 
#define WT_STAT_DSRC_CURSOR_PREV_SKIP_LT_100
 cursor: cursor prev calls that skip less than 100 entries
 
#define WT_STAT_DSRC_CURSOR_RECONFIGURE_ERROR
 cursor: cursor reconfigure calls that return an error
 
#define WT_STAT_DSRC_CURSOR_REMOVE_ERROR
 cursor: cursor remove calls that return an error
 
#define WT_STAT_DSRC_CURSOR_REOPEN_ERROR
 cursor: cursor reopen calls that return an error
 
#define WT_STAT_DSRC_CURSOR_RESERVE_ERROR
 cursor: cursor reserve calls that return an error
 
#define WT_STAT_DSRC_CURSOR_RESET_ERROR
 cursor: cursor reset calls that return an error
 
#define WT_STAT_DSRC_CURSOR_SEARCH_ERROR
 cursor: cursor search calls that return an error
 
#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR_ERROR
 cursor: cursor search near calls that return an error
 
#define WT_STAT_DSRC_CURSOR_UPDATE_ERROR
 cursor: cursor update calls that return an error
 
#define WT_STAT_DSRC_CURSOR_INSERT
 cursor: insert calls
 
#define WT_STAT_DSRC_CURSOR_INSERT_BYTES
 cursor: insert key and value bytes
 
#define WT_STAT_DSRC_CURSOR_MODIFY
 cursor: modify
 
#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES
 cursor: modify key and value bytes affected
 
#define WT_STAT_DSRC_CURSOR_MODIFY_BYTES_TOUCH
 cursor: modify value bytes modified
 
#define WT_STAT_DSRC_CURSOR_NEXT
 cursor: next calls
 
#define WT_STAT_DSRC_CURSOR_OPEN_COUNT
 cursor: open cursor count
 
#define WT_STAT_DSRC_CURSOR_RESTART
 cursor: operation restarted
 
#define WT_STAT_DSRC_CURSOR_PREV
 cursor: prev calls
 
#define WT_STAT_DSRC_CURSOR_REMOVE
 cursor: remove calls
 
#define WT_STAT_DSRC_CURSOR_REMOVE_BYTES
 cursor: remove key bytes removed
 
#define WT_STAT_DSRC_CURSOR_RESERVE
 cursor: reserve calls
 
#define WT_STAT_DSRC_CURSOR_RESET
 cursor: reset calls
 
#define WT_STAT_DSRC_CURSOR_SEARCH
 cursor: search calls
 
#define WT_STAT_DSRC_CURSOR_SEARCH_HS
 cursor: search history store calls
 
#define WT_STAT_DSRC_CURSOR_SEARCH_NEAR
 cursor: search near calls
 
#define WT_STAT_DSRC_CURSOR_TRUNCATE
 cursor: truncate calls
 
#define WT_STAT_DSRC_CURSOR_UPDATE
 cursor: update calls
 
#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES
 cursor: update key and value bytes
 
#define WT_STAT_DSRC_CURSOR_UPDATE_BYTES_CHANGED
 cursor: update value size change
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TS
 reconciliation: approximate byte size of timestamps in pages written
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_BYTES_TXN
 reconciliation: approximate byte size of transaction IDs in pages written
 
#define WT_STAT_DSRC_REC_DICTIONARY
 reconciliation: dictionary matches
 
#define WT_STAT_DSRC_REC_PAGE_DELETE_FAST
 reconciliation: fast-path pages deleted
 
#define WT_STAT_DSRC_REC_SUFFIX_COMPRESSION
 reconciliation: internal page key bytes discarded using suffix compression
 
#define WT_STAT_DSRC_REC_MULTIBLOCK_INTERNAL
 reconciliation: internal page multi-block writes
 
#define WT_STAT_DSRC_REC_PREFIX_COMPRESSION
 reconciliation: leaf page key bytes discarded using prefix compression
 
#define WT_STAT_DSRC_REC_MULTIBLOCK_LEAF
 reconciliation: leaf page multi-block writes
 
#define WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF
 reconciliation: leaf-page overflow keys
 
#define WT_STAT_DSRC_REC_MULTIBLOCK_MAX
 reconciliation: maximum blocks required for a page
 
#define WT_STAT_DSRC_REC_OVERFLOW_VALUE
 reconciliation: overflow values written
 
#define WT_STAT_DSRC_REC_PAGE_MATCH
 reconciliation: page checksum matches
 
#define WT_STAT_DSRC_REC_PAGES
 reconciliation: page reconciliation calls
 
#define WT_STAT_DSRC_REC_PAGES_EVICTION
 reconciliation: page reconciliation calls for eviction
 
#define WT_STAT_DSRC_REC_PAGE_DELETE
 reconciliation: pages deleted
 
#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_START_DURABLE_TS
 reconciliation: pages written including an aggregated newest start durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_DURABLE_TS
 reconciliation: pages written including an aggregated newest stop durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TS
 reconciliation: pages written including an aggregated newest stop timestamp
 
#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_STOP_TXN
 reconciliation: pages written including an aggregated newest stop transaction ID
 
#define WT_STAT_DSRC_REC_TIME_AGGR_NEWEST_TXN
 reconciliation: pages written including an aggregated newest transaction ID
 
#define WT_STAT_DSRC_REC_TIME_AGGR_OLDEST_START_TS
 reconciliation: pages written including an aggregated oldest start timestamp
 
#define WT_STAT_DSRC_REC_TIME_AGGR_PREPARED
 reconciliation: pages written including an aggregated prepare
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_PREPARED
 reconciliation: pages written including at least one prepare
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_START_TS
 reconciliation: pages written including at least one start durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TS
 reconciliation: pages written including at least one start timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_START_TXN
 reconciliation: pages written including at least one start transaction ID
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_DURABLE_STOP_TS
 reconciliation: pages written including at least one stop durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TS
 reconciliation: pages written including at least one stop timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PAGES_STOP_TXN
 reconciliation: pages written including at least one stop transaction ID
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_PREPARED
 reconciliation: records written including a prepare
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_START_TS
 reconciliation: records written including a start durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TS
 reconciliation: records written including a start timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_START_TXN
 reconciliation: records written including a start transaction ID
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_DURABLE_STOP_TS
 reconciliation: records written including a stop durable timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TS
 reconciliation: records written including a stop timestamp
 
#define WT_STAT_DSRC_REC_TIME_WINDOW_STOP_TXN
 reconciliation: records written including a stop transaction ID
 
#define WT_STAT_DSRC_SESSION_COMPACT
 session: object compaction
 
#define WT_STAT_DSRC_TXN_READ_RACE_PREPARE_UPDATE
 transaction: race to read prepared update retry
 
#define WT_STAT_DSRC_TXN_RTS_HS_STOP_OLDER_THAN_NEWER_START
 transaction: rollback to stable history store records with stop timestamps older than newer records
 
#define WT_STAT_DSRC_TXN_RTS_INCONSISTENT_CKPT
 transaction: rollback to stable inconsistent checkpoint
 
#define WT_STAT_DSRC_TXN_RTS_KEYS_REMOVED
 transaction: rollback to stable keys removed
 
#define WT_STAT_DSRC_TXN_RTS_KEYS_RESTORED
 transaction: rollback to stable keys restored
 
#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_TOMBSTONES
 transaction: rollback to stable restored tombstones from history store
 
#define WT_STAT_DSRC_TXN_RTS_HS_RESTORE_UPDATES
 transaction: rollback to stable restored updates from history store
 
#define WT_STAT_DSRC_TXN_RTS_DELETE_RLE_SKIPPED
 transaction: rollback to stable skipping delete rle
 
#define WT_STAT_DSRC_TXN_RTS_STABLE_RLE_SKIPPED
 transaction: rollback to stable skipping stable rle
 
#define WT_STAT_DSRC_TXN_RTS_SWEEP_HS_KEYS
 transaction: rollback to stable sweeping history store keys
 
#define WT_STAT_DSRC_TXN_RTS_HS_REMOVED
 transaction: rollback to stable updates removed from history store
 
#define WT_STAT_DSRC_TXN_CHECKPOINT_OBSOLETE_APPLIED
 transaction: transaction checkpoints due to obsolete pages
 
#define WT_STAT_DSRC_TXN_UPDATE_CONFLICT
 transaction: update conflicts
 

Statistics for join cursors

#define WT_STAT_JOIN_MAIN_ACCESS
 : accesses to the main table
 
#define WT_STAT_JOIN_BLOOM_FALSE_POSITIVE
 : bloom filter false positives
 
#define WT_STAT_JOIN_MEMBERSHIP_CHECK
 : checks that conditions of membership are satisfied
 
#define WT_STAT_JOIN_BLOOM_INSERT
 : items inserted into a bloom filter
 
#define WT_STAT_JOIN_ITERATED
 : items iterated
 

Statistics for session

#define WT_STAT_SESSION_BYTES_READ
 session: bytes read into cache
 
#define WT_STAT_SESSION_BYTES_WRITE
 session: bytes written from cache
 
#define WT_STAT_SESSION_LOCK_DHANDLE_WAIT
 session: dhandle lock wait time (usecs)
 
#define WT_STAT_SESSION_READ_TIME
 session: page read from disk to cache time (usecs)
 
#define WT_STAT_SESSION_WRITE_TIME
 session: page write from cache to disk time (usecs)
 
#define WT_STAT_SESSION_LOCK_SCHEMA_WAIT
 session: schema lock wait time (usecs)
 
#define WT_STAT_SESSION_CACHE_TIME
 session: time waiting for cache (usecs)
 

Verbose categories

enum  WT_VERBOSE_CATEGORY {
  WT_VERB_API, WT_VERB_BACKUP, WT_VERB_BLKCACHE, WT_VERB_BLOCK,
  WT_VERB_CHECKPOINT, WT_VERB_CHECKPOINT_CLEANUP, WT_VERB_CHECKPOINT_PROGRESS, WT_VERB_COMPACT,
  WT_VERB_COMPACT_PROGRESS, WT_VERB_DEFAULT, WT_VERB_ERROR_RETURNS, WT_VERB_EVICT,
  WT_VERB_EVICTSERVER, WT_VERB_EVICT_STUCK, WT_VERB_EXTENSION, WT_VERB_FILEOPS,
  WT_VERB_GENERATION, WT_VERB_HANDLEOPS, WT_VERB_HS, WT_VERB_HS_ACTIVITY,
  WT_VERB_LOG, WT_VERB_LSM, WT_VERB_LSM_MANAGER, WT_VERB_MUTEX,
  WT_VERB_METADATA, WT_VERB_OUT_OF_ORDER, WT_VERB_OVERFLOW, WT_VERB_READ,
  WT_VERB_RECONCILE, WT_VERB_RECOVERY, WT_VERB_RECOVERY_PROGRESS, WT_VERB_RTS,
  WT_VERB_SALVAGE, WT_VERB_SHARED_CACHE, WT_VERB_SPLIT, WT_VERB_TEMPORARY,
  WT_VERB_THREAD_GROUP, WT_VERB_TIERED, WT_VERB_TIMESTAMP, WT_VERB_TRANSACTION,
  WT_VERB_VERIFY, WT_VERB_VERSION, WT_VERB_WRITE, WT_VERB_NUM_CATEGORIES
}
 WiredTiger verbose event categories. More...
 

Verbose levels

enum  WT_VERBOSE_LEVEL {
  WT_VERBOSE_ERROR, WT_VERBOSE_WARNING, WT_VERBOSE_NOTICE, WT_VERBOSE_INFO,
  WT_VERBOSE_DEBUG
}
 WiredTiger verbosity levels. More...
 

Detailed Description

The functions, handles and methods applications use to access and manage data with WiredTiger.


Class Documentation

◆ WT_ITEM

struct WT_ITEM

A raw item of data to be managed, including a pointer to the data and a length.

WT_ITEM structures do not need to be cleared before use.

Examples
ex_encrypt.c, ex_extending.c, ex_extractor.c, ex_log.c, and ex_schema.c.
Class Members
const void * data The memory reference of the data item.

For items returned by a WT_CURSOR, the pointer is only valid until the next operation on that cursor. Applications that need to keep an item across multiple cursor operations must make a copy.

size_t size The number of bytes in the data item.

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.

◆ WT_MODIFY

struct WT_MODIFY

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.

Class Members
WT_ITEM data New data.

The size of the new data may be zero when no new data is provided.

size_t offset The zero-based byte offset in the value where the new data is placed.

If the offset is past the end of the value, padding bytes are appended to the value up to the specified offset. If the value is a string (value format S), the padding byte is a space. If the value is a raw byte array accessed using a WT_ITEM structure (value format u), the padding byte is a nul.

size_t size 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.

Macro Definition Documentation

◆ WT_CACHE_FULL

#define WT_CACHE_FULL

Operation would overflow cache.

This error is generated when wiredtiger_open is configured to run in-memory, and a data modification operation requires more than the configured cache size to complete. The operation may be retried; if a transaction is in progress, it should be rolled back and the operation retried in a new transaction.

◆ WT_DUPLICATE_KEY

#define WT_DUPLICATE_KEY

Attempt to insert an existing key.

This error is generated when the application attempts to insert a record with the same key as an existing record without the 'overwrite' configuration to WT_SESSION::open_cursor.

◆ WT_ERROR

#define WT_ERROR

Non-specific WiredTiger error.

This error is returned when an error is not covered by a specific error return. The operation may be retried; if a transaction is in progress, it should be rolled back and the operation retried in a new transaction.

Examples
sodium_encrypt.c.

◆ WT_INTPACK32_MAXSIZE

#define WT_INTPACK32_MAXSIZE

The maximum packed size of a 32-bit integer.

The wiredtiger_struct_pack function will pack single integers into at most this many bytes.

◆ WT_INTPACK64_MAXSIZE

#define WT_INTPACK64_MAXSIZE

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.

◆ WT_NOTFOUND

#define WT_NOTFOUND

Item not found.

This error indicates an operation did not find a value to return. This includes cursor search and other operations where no record matched the cursor's search key such as WT_CURSOR::update or WT_CURSOR::remove.

Examples
ex_access.c, ex_backup.c, ex_backup_block.c, ex_col_store.c, ex_cursor.c, ex_encrypt.c, ex_extractor.c, ex_file_system.c, ex_log.c, ex_schema.c, ex_stat.c, ex_thread.c, and rotn_encrypt.c.

◆ WT_PANIC

#define WT_PANIC

WiredTiger library panic.

This error indicates an underlying problem that requires a database restart. The application may exit immediately, no further WiredTiger calls are required (and further calls will themselves immediately fail).

◆ WT_PREPARE_CONFLICT

#define WT_PREPARE_CONFLICT

Conflict with a prepared update.

This error is generated when the application attempts to read an updated record which is part of a transaction that has been prepared but not yet resolved.

◆ WT_ROLLBACK

#define WT_ROLLBACK

Conflict between concurrent operations.

This error is generated when an operation cannot be completed due to a conflict with concurrent operations. The operation may be retried; if a transaction is in progress, it should be rolled back and the operation retried in a new transaction.

◆ WT_RUN_RECOVERY

#define WT_RUN_RECOVERY

Recovery must be run to continue.

This error is generated when wiredtiger_open is configured to return an error if recovery is required to use the database.

◆ WT_TRY_SALVAGE

#define WT_TRY_SALVAGE

Database corruption detected.

This error is generated when corruption is detected in an on-disk file. During normal operations, this may occur in rare circumstances as a result of a system crash. The application may choose to salvage the file or retry wiredtiger_open with the 'salvage=true' configuration setting.

Typedef Documentation

◆ WT_PACK_STREAM

typedef struct __wt_pack_stream WT_PACK_STREAM

Streaming interface to packing.

This allows applications to pack or unpack records one field at a time. This is an opaque handle returned by wiredtiger_pack_start or wiredtiger_unpack_start. It must be closed with wiredtiger_pack_close.

Enumeration Type Documentation

◆ WT_TS_TXN_TYPE

WT_SESSION::timestamp_transaction_uint timestamp types.

Enumerator
WT_TS_TXN_TYPE_COMMIT 

Commit timestamp.

WT_TS_TXN_TYPE_DURABLE 

Durable timestamp.

WT_TS_TXN_TYPE_PREPARE 

Prepare timestamp.

WT_TS_TXN_TYPE_READ 

Read timestamp.

◆ WT_VERBOSE_CATEGORY

WiredTiger verbose event categories.

Note that the verbose categories cover a wide set of sub-systems and operations within WiredTiger. As such, the categories are subject to change and evolve between different WiredTiger releases.

Enumerator
WT_VERB_API 

API messages.

WT_VERB_BACKUP 

Backup messages.

WT_VERB_BLOCK 

Block manager messages.

WT_VERB_CHECKPOINT 

Checkpoint messages.

WT_VERB_CHECKPOINT_PROGRESS 

Checkpoint progress messages.

WT_VERB_COMPACT 

Compact messages.

WT_VERB_COMPACT_PROGRESS 

Compact progress messages.

WT_VERB_EVICT 

Eviction messages.

WT_VERB_EVICTSERVER 

Eviction server messages.

WT_VERB_EXTENSION 

Extension messages.

WT_VERB_HS 

History store messages.

WT_VERB_HS_ACTIVITY 

History store activity messages.

WT_VERB_LOG 

Log messages.

WT_VERB_LSM 

LSM messages.

WT_VERB_METADATA 

Metadata messages.

WT_VERB_RECONCILE 

Reconcile messages.

WT_VERB_RECOVERY 

Recovery messages.

WT_VERB_RECOVERY_PROGRESS 

Recovery progress messages.

WT_VERB_RTS 

RTS messages.

WT_VERB_SALVAGE 

Salvage messages.

WT_VERB_TIERED 

Tiered messages.

WT_VERB_TIMESTAMP 

Timestamp messages.

WT_VERB_TRANSACTION 

Transaction messages.

WT_VERB_VERIFY 

Verify messages.

WT_VERB_VERSION 

Version messages.

◆ WT_VERBOSE_LEVEL

WiredTiger verbosity levels.

The levels define a range of severity categories, with WT_VERBOSE_ERROR being the lowest, most critical level (used by messages on critical error paths) and WT_VERBOSE_DEBUG being the highest verbosity/informational level (mostly adopted for debugging).

Enumerator
WT_VERBOSE_ERROR 

Error conditions triggered in WiredTiger.

WT_VERBOSE_WARNING 

Warning conditions potentially signaling non-imminent errors and behaviors.

WT_VERBOSE_NOTICE 

Messages for significant events in WiredTiger, usually worth noting.

WT_VERBOSE_INFO 

Informational style messages.

WT_VERBOSE_DEBUG 

Low severity messages, useful for debugging purposes.

Function Documentation

◆ wiredtiger_calc_modify()

int wiredtiger_calc_modify ( WT_SESSION session,
const WT_ITEM oldv,
const WT_ITEM newv,
size_t  maxdiff,
WT_MODIFY entries,
int *  nentriesp 
)

Calculate a set of WT_MODIFY operations to represent an update.

This call will calculate a set of modifications to an old value that produce the new value. If more modifications are required than fit in the array passed in by the caller, or if more bytes have changed than the maxdiff parameter, the call will fail. The matching algorithm is approximate, so it may fail and return WT_NOTFOUND if a matching set of WT_MODIFY operations is not found.

The maxdiff parameter bounds how much work will be done searching for a match: to ensure a match is found, it may need to be set larger than actual number of bytes that differ between the old and new values. In particular, repeated patterns of bytes in the values can lead to suboptimal matching, and matching ranges less than 64 bytes long will not be detected.

If the call succeeds, the WT_MODIFY operations will point into newv, which must remain valid until WT_CURSOR::modify is called.

WT_MODIFY mod[3];
int nmod = 3;
WT_ITEM prev, newv;
prev.data =
"the quick brown fox jumped over the lazy dog. "
"THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. "
"the quick brown fox jumped over the lazy dog. "
"THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. ";
prev.size = strlen(prev.data);
newv.data =
"A quick brown fox jumped over the lazy dog. "
"THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. "
"then a quick brown fox jumped over the lazy dog. "
"THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. "
"then what?";
newv.size = strlen(newv.data);
error_check(wiredtiger_calc_modify(NULL, &prev, &newv, 20, mod, &nmod));
Parameters
sessionthe current WiredTiger session (may be NULL)
oldvold value
newvnew value
maxdiffmaximum bytes difference
[out]entriesarray of modifications producing the new value
[in,out]nentriespsize of entries array passed in, set to the number of entries used
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_config_parser_open()

int wiredtiger_config_parser_open ( WT_SESSION session,
const char *  config,
size_t  len,
WT_CONFIG_PARSER **  config_parserp 
)

Create a handle that can be used to parse or create configuration strings compatible with WiredTiger APIs.

This API is outside the scope of a WiredTiger connection handle, since applications may need to generate configuration strings prior to calling wiredtiger_open.

Parameters
sessionthe session handle to be used for error reporting (if NULL, error messages will be written to stderr).
configthe configuration string being parsed. The string must remain valid for the lifetime of the parser handle.
lenthe number of valid bytes in config
[out]config_parserpA pointer to the newly opened handle
Returns
zero on success and a non-zero error code on failure. See Error handling for details.
const char *config_string = "path=/dev/loop,page_size=1024,log=(file_max=20MB,remove=true)";
error_check(
wiredtiger_config_parser_open(NULL, config_string, strlen(config_string), &parser));
error_check(parser->close(parser));

◆ wiredtiger_open()

int wiredtiger_open ( const char *  home,
WT_EVENT_HANDLER event_handler,
const char *  config,
WT_CONNECTION **  connectionp 
)

Open a connection to a database.

error_check(wiredtiger_open(
home, NULL, "create,cache_size=5GB,log=(enabled,recover=on),statistics=(all)", &conn));
Parameters
homeThe path to the database home directory. See Database Home Directory for more information.
event_handlerAn event handler. If NULL, a default event handler is installed that writes error messages to stderr. See Message handling using the WT_EVENT_HANDLER for more information.
configconfiguration string, see Configuration Strings. Permitted values:
NameEffectValues
backup_restore_targetIf non-empty and restoring from a backup, restore only the table object targets listed. WiredTiger will remove all the metadata entries for the tables that are not listed in th list from the reconstructed metadata. The target list must include URIs matching of type table:.a list of strings; default empty.
block_cache = (block cache configuration options.a set of related configuration options defined below.
    blkcache_eviction_aggressionseconds an unused block remains in the cache before it is evicted.an integer between 1 and 7200; default 1800.
    cache_on_checkpointcache blocks written by a checkpoint.a boolean flag; default true.
    cache_on_writescache blocks as they are written (other than checkpoint blocks).a boolean flag; default true.
    enabledenable block cache.a boolean flag; default false.
    full_targetthe fraction of the block cache that must be full before eviction will remove unused blocks.an integer between 30 and 100; default 95.
    hashsizenumber of buckets in the hashtable that keeps track of blocks.an integer between 512 and 256K; default 0.
     max_percent_overheadmaximum tolerated overhead expressed as the number of blocks added and removed as percent of blocks looked up; cache population and eviction will be suppressed if the overhead exceeds the threshold.an integer between 1 and 500; default 10.
    nvram_paththe absolute path to the file system mounted on the NVRAM device.a string; default empty.
    percent_file_in_drambypass cache for a file if the set percentage of the file fits in system DRAM (as specified by block_cache.system_ram).an integer between 0 and 100; default 50.
    sizemaximum memory to allocate for the block cache.an integer between 0 and 10TB; default 0.
    system_ramthe bytes of system DRAM available for caching filesystem blocks.an integer between 0 and 1024GB; default 0.
    typecache location: DRAM or NVRAM.a string; default empty.
)
buffer_alignmentin-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). If the configured alignment is larger than default or configured object page sizes, file allocation and page sizes are silently increased to the buffer alignment size. Requires the posix_memalign API. See Direct I/O.an integer between -1 and 1MB; default -1.
builtin_extension_configA structure where the keys are the names of builtin extensions and the values are passed to WT_CONNECTION::load_extension as the config parameter (for example, builtin_extension_config={zlib={compression_level=3}}).a string; default empty.
cache_cursorsenable caching of cursors for reuse. This is the default value for any sessions created, and can be overridden in configuring cache_cursors in WT_CONNECTION.open_session.a boolean flag; default true.
cache_max_wait_msthe 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 0.
cache_overheadassume 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 8.
cache_sizemaximum heap memory to allocate for the cache. A database should configure either cache_size or shared_cache but not both.an integer between 1MB and 10TB; default 100MB.
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.
    log_sizewait 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 0.
    waitseconds to wait between each checkpoint; setting this value above 0 configures periodic checkpoints.an integer between 0 and 100000; default 0.
)
checkpoint_syncflush files to stable storage when closing or writing checkpoints.a boolean flag; default true.
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.
    releasecompatibility release version string.a string; default empty.
     require_maxrequired maximum compatibility version of existing data files. Must be greater than or equal to any release version set in the release setting. Has no effect if creating the database.a string; default empty.
    require_minrequired minimum compatibility version of existing data files. Must be less than or equal to any release version set in the release setting. Has no effect if creating the database.a string; default empty.
)
config_basewrite the base configuration file if creating the database. If false in the config passed directly to wiredtiger_open, will ignore any existing base configuration file in addition to not creating one. See WiredTiger.basecfg file for more information.a boolean flag; default true.
createcreate the database if it does not exist.a boolean flag; default false.
debug_mode = (control the settings of various extended debugging features.a set of related configuration options defined below.
     checkpoint_retentionadjust log removal to retain the log records of this number of checkpoints. Zero or one means perform normal removal.an integer between 0 and 1024; default 0.
    corruption_abortif true and built in diagnostic mode, dump core in the case of data corruption.a boolean flag; default true.
    cursor_copyif true, use the system allocator to make a copy of any data returned by a cursor operation and return the copy instead. The copy is freed on the next cursor operation. This allows memory sanitizers to detect inappropriate references to memory owned by cursors.a boolean flag; default false.
     cursor_repositionif true, for the operations with snapshot isolation the cursor temporarily releases the page that requires force eviction, then repositions back to the page for further operations. A page release encourages eviction of hot or large pages, which is more likely to succeed without a cursor keeping the page pinned.a boolean flag; default false.
    evictionif true, modify internal algorithms to change skew to force history store 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 false.
    flush_checkpointif true, call a system wide checkpoint immediately after a flush_tier completes to force objects out to disk so that a flush_tier can work single-threaded.a boolean flag; default false.
    log_retentionadjust log removal to retain at least this number of log files, ignored if set to 0. (Warning: this option can remove log files required for recovery if no checkpoints have yet been done and the number of log files exceeds the configured value. As WiredTiger cannot detect the difference between a system that has not yet checkpointed and one that will never checkpoint, it might discard log files before any checkpoint is done.).an integer between 0 and 1024; default 0.
    realloc_exactif true, reallocation of memory will only provide the exact amount requested. This will help with spotting memory allocation issues more easily.a boolean flag; default false.
    rollback_errorreturn a WT_ROLLBACK error from a transaction operation about every Nth operation to simulate a collision.an integer between 0 and 10M; default 0.
    slow_checkpointif true, slow down checkpoint creation by slowing down internal page processing.a boolean flag; default false.
    table_loggingif true, write transaction related information to the log for all operations, even operations for tables with logging turned off. This additional logging information is intended for debugging and is informational only, that is, it is ignored during recovery.a boolean flag; default false.
     update_restore_evictif true, control all dirty page evictions through forcing update restore eviction.a boolean flag; default false.
)
direct_ioUse O_DIRECT on POSIX systems, and FILE_FLAG_NO_BUFFERING on Windows to access files. Options are given as a list, such as "direct_io=[data]". Configuring direct_io requires care, see Direct I/O for important warnings. Including "data" will cause WiredTiger data files, including WiredTiger internal data files, to use direct I/O; including "log" will cause WiredTiger log files to use direct I/O; including "checkpoint" will cause WiredTiger data files opened using a (read-only) checkpoint cursor to use direct I/O. direct_io should be combined with write_through to get the equivalent of O_DIRECT on Windows.a list, with values chosen from the following options: "checkpoint", "data", "log"; default empty.
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.
    keyidAn 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.
    namePermitted values are "none" or custom encryption engine name created with WT_CONNECTION::add_encryptor. See Encryptors for more information.a string; default none.
    secretkeyA 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.
)
error_prefixprefix string for error messages.a string; default empty.
eviction = (eviction configuration options.a set of related configuration options defined below.
    threads_maxmaximum 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 8.
     threads_minminimum 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 1.
)
eviction_checkpoint_targetperform 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 cache_size. Ignored if set to zero.an integer between 0 and 10TB; default 1.
eviction_dirty_targetperform 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 cache_size and has to be lower than its counterpart eviction_dirty_trigger.an integer between 1 and 10TB; default 5.
eviction_dirty_triggertrigger 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 cache_size and has to be greater than its counterpart eviction_dirty_target. This setting only alters behavior if it is lower than eviction_trigger.an integer between 1 and 10TB; default 20.
eviction_targetperform 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 cache_size and has to be lower than its counterpart eviction_trigger.an integer between 10 and 10TB; default 80.
eviction_triggertrigger 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 cache_size and has to be greater than its counterpart eviction_target.an integer between 10 and 10TB; default 95.
eviction_updates_targetperform eviction in worker threads when the cache contains at least this many bytes of updates. 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. Calculated as half of eviction_dirty_target by default. The value is not allowed to exceed the cache_size and has to be lower than its counterpart eviction_updates_trigger.an integer between 0 and 10TB; default 0.
eviction_updates_triggertrigger application threads to perform eviction when the cache contains at least this many bytes of updates. 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. Calculated as half of eviction_dirty_trigger by default. The value is not allowed to exceed the cache_size and has to be greater than its counterpart eviction_updates_target. This setting only alters behavior if it is lower than eviction_trigger.an integer between 0 and 10TB; default 0.
exclusivefail if the database already exists, generally used with the create option.a boolean flag; default false.
extensionslist of shared library extensions to load (using dlopen). Any values specified to a library extension are passed to WT_CONNECTION::load_extension as the config parameter (for example, extensions=(/path/ext.so={entry=my_entry})).a list of strings; default empty.
file_extendfile 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, file_extend=(data=16MB). 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: "data", "log"; default empty.
file_manager = (control how file handles are managed.a set of related configuration options defined below.
    close_handle_minimumnumber of handles open before the file manager will look for handles to close.an integer greater than or equal to 0; default 250.
    close_idle_timeamount 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 30.
    close_scan_intervalinterval in seconds at which to check for files that are inactive and close them.an integer between 1 and 100000; default 10.
)
hash = (manage resources around hash bucket arrays. All values must be a power of two. Note that setting large values can significantly increase memory usage inside WiredTiger.a set of related configuration options defined below.
    bucketsconfigure the number of hash buckets for most system hash arrays.an integer between 64 and 65536; default 512.
    dhandle_bucketsconfigure the number of hash buckets for hash arrays relating to data handles.an integer between 64 and 65536; default 512.
)
history_store = (history store configuration options.a set of related configuration options defined below.
    file_maxThe maximum number of bytes that WiredTiger is allowed to use for its history store mechanism. If the history store file exceeds this size, a panic will be triggered. The default value means that the history store 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 0.
)
in_memorykeep data in-memory only. See In-memory databases for more information.a boolean flag; default false.
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.
    totalnumber 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 0.
)
json_outputenable JSON formatted messages on the event handler interface. Options are given as a list, where each option specifies an event handler category e.g. 'error' represents the messages from the WT_EVENT_HANDLER::handle_error method.a list, with values chosen from the following options: "error", "message"; default [].
log = (enable logging. Enabling logging uses three sessions from the configured session_max.a set of related configuration options defined below.
    compressorconfigure a compressor for log records. Permitted values are "none" or custom compression engine name created with WT_CONNECTION::add_compressor. If WiredTiger has builtin support for "lz4", "snappy", "zlib" or "zstd" compression, these names are also available. See Compressors for more information.a string; default none.
    enabledenable logging subsystem.a boolean flag; default false.
    file_maxthe maximum size of log files.an integer between 100KB and 2GB; default 100MB.
    os_cache_dirty_pctmaximum dirty system buffer cache usage, as a percentage of the log's 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 0.
    paththe 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 Absolute paths for more information).a string; default ".".
    preallocpre-allocate log files.a boolean flag; default true.
    recoverrun recovery or error if recovery needs to run after an unclean shutdown.a string, chosen from the following options: "error", "on"; default on.
    removeautomatically remove unneeded log files.a boolean flag; default true.
    zero_fillmanually write zeroes into log files.a boolean flag; default false.
)
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.
    mergemerge LSM chunks where possible.a boolean flag; default true.
    worker_thread_maxConfigure 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 4.
)
mmapUse memory mapping when accessing files in a read-only mode.a boolean flag; default true.
mmap_allUse memory mapping to read and write all data files, may not be configured with direct I/O.a boolean flag; default false.
multiprocesspermit sharing between processes (will automatically start an RPC server for primary processes and use RPC for secondary processes). Not yet supported in WiredTiger.a boolean flag; default false.
operation_timeout_msif non-zero, a requested limit on the number of elapsed real time milliseconds application threads will take to complete database operations. Time is measured from the start of each WiredTiger API call. There is no guarantee any operation will not take longer than this amount of time. If WiredTiger notices the limit has been exceeded, an operation may return a WT_ROLLBACK error. The default of 0 is to have no limit.an integer greater than or equal to 0; default 0.
operation_tracking = (enable tracking of performance-critical functions. See Track function calls for more information.a set of related configuration options defined below.
    enabledenable operation tracking subsystem.a boolean flag; default false.
    paththe 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 Absolute paths for more information).a string; default ".".
)
readonlyopen connection in read-only mode. The database must exist. All methods that may modify a database are disabled. See Database read-only mode for more information.a boolean flag; default false.
salvageopen 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 false.
session_maxmaximum expected number of sessions (including server threads).an integer greater than or equal to 1; default 100.
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.
    chunkthe granularity that a shared cache is redistributed.an integer between 1MB and 10TB; default 10MB.
    namethe name of a cache that is shared between databases or "none" when no shared cache is configured.a string; default none.
    quotamaximum size of cache this database can be allocated from the shared cache. Defaults to the entire shared cache size.an integer; default 0.
    reserveamount 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 0.
    sizemaximum 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 500MB.
)
statisticsMaintain 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 statistics_log configuration. See Statistics for more information.a list, with values chosen from the following options: "all", "cache_walk", "fast", "none", "clear", "tree_walk"; default none.
statistics_log = (log any statistics the database is configured to maintain, to a file. See 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.
    jsonencode statistics in JSON format.a boolean flag; default false.
    on_closelog statistics on database close.a boolean flag; default false.
    paththe 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 Absolute paths for more information).a string; default ".".
    sourcesif 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.
    timestampa timestamp prepended to each log record, may contain strftime conversion specifications, when json is configured, defaults to "%Y-%m-%dT%H:%M:%S.000Z".a string; default "%b %d %H:%M:%S".
    waitseconds to wait between each write of the log records; setting this value above 0 configures statistics logging.an integer between 0 and 100000; default 0.
)
transaction_sync = (how to sync log records when the transaction commits.a set of related configuration options defined below.
    enabledwhether to sync the log on every commit by default, can be overridden by the sync setting to WT_SESSION::commit_transaction.a boolean flag; default false.
    methodthe method used to ensure log records are stable on disk, see Commit-level durability for more information.a string, chosen from the following options: "dsync", "fsync", "none"; default fsync.
)
use_environmentuse the WIREDTIGER_CONFIG and WIREDTIGER_HOME environment variables if the process is not running with special privileges. See Database Home Directory for more information.a boolean flag; default true.
use_environment_privuse the WIREDTIGER_CONFIG and WIREDTIGER_HOME environment variables even if the process is running with special privileges. See Database Home Directory for more information.a boolean flag; default false.
verboseenable messages for various subsystems and operations. Options are given as a list, where each message type can optionally define an associated verbosity level, such as "verbose=[evictserver,read:1,rts:0]". Verbosity levels that can be provided include 0 (INFO) and 1 (DEBUG).a list, with values chosen from the following options: "api", "backup", "block", "block_cache", "checkpoint", "checkpoint_cleanup", "checkpoint_progress", "compact", "compact_progress", "error_returns", "evict", "evict_stuck", "evictserver", "fileops", "generation", "handleops", "history_store", "history_store_activity", "log", "lsm", "lsm_manager", "metadata", "mutex", "out_of_order", "overflow", "read", "reconcile", "recovery", "recovery_progress", "rts", "salvage", "shared_cache", "split", "temporary", "thread_group", "tiered", "timestamp", "transaction", "verify", "version", "write"; default [].
verify_metadataopen connection and verify any WiredTiger metadata. Not compatible when opening a connection from a backup. This API allows verification and detection of corruption in WiredTiger metadata.a boolean flag; default false.
write_throughUse FILE_FLAG_WRITE_THROUGH on Windows to write to files. Ignored on non-Windows systems. Options are given as a list, such as "write_through=[data]". Configuring write_through requires care, see Direct I/O for important warnings. Including "data" will cause WiredTiger data files to write through cache, including "log" will cause WiredTiger log files to write through cache. write_through should be combined with direct_io to get the equivalent of POSIX O_DIRECT on Windows.a list, with values chosen from the following options: "data", "log"; default empty.
Additionally, if files named WiredTiger.config or WiredTiger.basecfg appear in the WiredTiger home directory, they are read for configuration values (see WiredTiger.config file and WiredTiger.basecfg file for details). See Configuration ordering for ordering of the configuration mechanisms.
[out]connectionpA pointer to the newly opened connection handle
Returns
zero on success and a non-zero error code on failure. See Error handling for details.
Examples
ex_access.c, ex_backup.c, ex_backup_block.c, ex_call_center.c, ex_col_store.c, ex_cursor.c, ex_encrypt.c, ex_extending.c, ex_extractor.c, ex_file_system.c, ex_hello.c, ex_log.c, ex_pack.c, ex_schema.c, ex_stat.c, and ex_thread.c.

◆ wiredtiger_pack_close()

int wiredtiger_pack_close ( WT_PACK_STREAM ps,
size_t *  usedp 
)

Close a packing stream.

Parameters
psthe packing stream handle
[out]usedpthe number of bytes in the buffer used by the stream
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_pack_int()

int wiredtiger_pack_int ( WT_PACK_STREAM ps,
int64_t  i 
)

Pack a signed integer into a packing stream.

Parameters
psthe packing stream handle
ia signed integer to pack
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_pack_item()

int wiredtiger_pack_item ( WT_PACK_STREAM ps,
WT_ITEM item 
)

Pack an item into a packing stream.

Parameters
psthe packing stream handle
iteman item to pack
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_pack_start()

int wiredtiger_pack_start ( WT_SESSION session,
const char *  format,
void *  buffer,
size_t  size,
WT_PACK_STREAM **  psp 
)

Start a packing operation into a buffer with the given format string.

This should be followed by a series of calls to wiredtiger_pack_item, wiredtiger_pack_int, wiredtiger_pack_str or wiredtiger_pack_uint to fill in the values.

Parameters
sessionthe session handle
formatthe data format, see Packing and Unpacking Data
buffera pointer to memory to hold the packed data
sizethe size of the buffer
[out]pspthe new packing stream handle
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_pack_str()

int wiredtiger_pack_str ( WT_PACK_STREAM ps,
const char *  s 
)

Pack a string into a packing stream.

Parameters
psthe packing stream handle
sa string to pack
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_pack_uint()

int wiredtiger_pack_uint ( WT_PACK_STREAM ps,
uint64_t  u 
)

Pack an unsigned integer into a packing stream.

Parameters
psthe packing stream handle
uan unsigned integer to pack
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_strerror()

const char* wiredtiger_strerror ( int  error)

Return information about a WiredTiger error as a string (see WT_SESSION::strerror for a thread-safe API).

const char *key = "non-existent key";
cursor->set_key(cursor, key);
if ((ret = cursor->remove(cursor)) != 0)
fprintf(stderr, "cursor.remove: %s\n", wiredtiger_strerror(ret));
Parameters
errora return value from a WiredTiger, ISO C, or POSIX standard API
Returns
a string representation of the error
Examples
ex_file_system.c.

◆ wiredtiger_struct_pack()

int wiredtiger_struct_pack ( WT_SESSION session,
void *  buffer,
size_t  len,
const char *  format,
  ... 
)

Pack a structure into a buffer.

See Packing and Unpacking Data for a description of the permitted format strings.

Packing Examples

For example, the string "iSh" will pack a 32-bit integer followed by a NUL-terminated string, followed by a 16-bit integer. The default, big-endian encoding will be used, with no alignment. This could be used in C as follows:

char buf[100];
error_check(wiredtiger_struct_pack(session, buf, sizeof(buf), "iSh", 42, "hello", -3));

Then later, the values can be unpacked as follows:

int i;
char *s;
short h;
error_check(wiredtiger_struct_unpack(session, buf, sizeof(buf), "iSh", &i, &s, &h));
Parameters
sessionthe session handle
buffera pointer to a packed byte array
lenthe number of valid bytes in the buffer
formatthe data format, see Packing and Unpacking Data
Returns
zero on success and a non-zero error code on failure. See Error handling for details.
Examples
ex_pack.c.

◆ wiredtiger_struct_size()

int wiredtiger_struct_size ( WT_SESSION session,
size_t *  lenp,
const char *  format,
  ... 
)

Calculate the size required to pack a structure.

Note that for variable-sized fields including variable-sized strings and integers, the calculated sized merely reflects the expected sizes specified in the format string itself.

size_t size;
error_check(wiredtiger_struct_size(session, &size, "iSh", 42, "hello", -3));
Parameters
sessionthe session handle
lenpa location where the number of bytes needed for the matching call to wiredtiger_struct_pack is returned
formatthe data format, see Packing and Unpacking Data
Returns
zero on success and a non-zero error code on failure. See Error handling for details.
Examples
ex_pack.c.

◆ wiredtiger_struct_unpack()

int wiredtiger_struct_unpack ( WT_SESSION session,
const void *  buffer,
size_t  len,
const char *  format,
  ... 
)

Unpack a structure from a buffer.

Reverse of wiredtiger_struct_pack: gets values out of a packed byte string.

int i;
char *s;
short h;
error_check(wiredtiger_struct_unpack(session, buf, sizeof(buf), "iSh", &i, &s, &h));
Parameters
sessionthe session handle
buffera pointer to a packed byte array
lenthe number of valid bytes in the buffer
formatthe data format, see Packing and Unpacking Data
Returns
zero on success and a non-zero error code on failure. See Error handling for details.
Examples
ex_extractor.c, ex_pack.c, and ex_schema.c.

◆ wiredtiger_unpack_int()

int wiredtiger_unpack_int ( WT_PACK_STREAM ps,
int64_t *  ip 
)

Unpack a signed integer from a packing stream.

Parameters
psthe packing stream handle
[out]ipthe unpacked signed integer
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_unpack_item()

int wiredtiger_unpack_item ( WT_PACK_STREAM ps,
WT_ITEM item 
)

Unpack an item from a packing stream.

Parameters
psthe packing stream handle
iteman item to unpack
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_unpack_start()

int wiredtiger_unpack_start ( WT_SESSION session,
const char *  format,
const void *  buffer,
size_t  size,
WT_PACK_STREAM **  psp 
)

Start an unpacking operation from a buffer with the given format string.

This should be followed by a series of calls to wiredtiger_unpack_item, wiredtiger_unpack_int, wiredtiger_unpack_str or wiredtiger_unpack_uint to retrieve the packed values.

Parameters
sessionthe session handle
formatthe data format, see Packing and Unpacking Data
buffera pointer to memory holding the packed data
sizethe size of the buffer
[out]pspthe new packing stream handle
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_unpack_str()

int wiredtiger_unpack_str ( WT_PACK_STREAM ps,
const char **  sp 
)

Unpack a string from a packing stream.

Parameters
psthe packing stream handle
[out]spthe unpacked string
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_unpack_uint()

int wiredtiger_unpack_uint ( WT_PACK_STREAM ps,
uint64_t *  up 
)

Unpack an unsigned integer from a packing stream.

Parameters
psthe packing stream handle
[out]upthe unpacked unsigned integer
Returns
zero on success and a non-zero error code on failure. See Error handling for details.

◆ wiredtiger_version()

const char* wiredtiger_version ( int *  majorp,
int *  minorp,
int *  patchp 
)

Get version information.

printf("WiredTiger version %s\n", wiredtiger_version(NULL, NULL, NULL));
int major_v, minor_v, patch;
(void)wiredtiger_version(&major_v, &minor_v, &patch);
printf("WiredTiger version is %d, %d (patch %d)\n", major_v, minor_v, patch);
Parameters
majorpa location where the major version number is returned
minorpa location where the minor version number is returned
patchpa location where the patch version number is returned
Returns
a string representation of the version

Variable Documentation

◆ wiredtiger_crc32c_func

uint32_t(*)(const void *, size_t) wiredtiger_crc32c_func(void)

Return a pointer to a function that calculates a CRC32C checksum.

The WiredTiger library CRC32C checksum function uses hardware support where available, else it falls back to a software implementation. Selecting a CRC32C checksum function can be slow, the return value should be cached by the caller for repeated use.

uint32_t crc32c, (*func)(const void *, size_t);
crc32c = func(buffer, len);
Returns
a pointer to a function that takes a buffer and length and returns the CRC32C checksum
WT_ITEM::data
const void * data
The memory reference of the data item.
Definition: wiredtiger.in:99
wiredtiger_strerror
const char * wiredtiger_strerror(int error)
Return information about a WiredTiger error as a string (see WT_SESSION::strerror for a thread-safe A...
wiredtiger_calc_modify
int wiredtiger_calc_modify(WT_SESSION *session, const WT_ITEM *oldv, const WT_ITEM *newv, size_t maxdiff, WT_MODIFY *entries, int *nentriesp)
Calculate a set of WT_MODIFY operations to represent an update.
WT_ITEM::size
size_t size
The number of bytes in the data item.
Definition: wiredtiger.in:108
wiredtiger_crc32c_func
uint32_t(*)(const void *, size_t) wiredtiger_crc32c_func(void)
Return a pointer to a function that calculates a CRC32C checksum.
Definition: wiredtiger.in:3752
WT_CONFIG_PARSER::close
int close(WT_CONFIG_PARSER *config_parser)
Close the configuration scanner releasing any resources.
wiredtiger_struct_unpack
int wiredtiger_struct_unpack(WT_SESSION *session, const void *buffer, size_t len, const char *format,...)
Unpack a structure from a buffer.
WT_MODIFY
A set of modifications for a value, including a pointer to new data and a length, plus a target offse...
Definition: wiredtiger.in:133
wiredtiger_version
const char * wiredtiger_version(int *majorp, int *minorp, int *patchp)
Get version information.
WT_ITEM
A raw item of data to be managed, including a pointer to the data and a length.
Definition: wiredtiger.in:91
WT_CONFIG_PARSER
A handle that can be used to search and traverse configuration strings compatible with WiredTiger API...
Definition: wiredtiger.in:3692
WT_CURSOR::remove
int remove(WT_CURSOR *cursor)
Remove a record.
wiredtiger_config_parser_open
int wiredtiger_config_parser_open(WT_SESSION *session, const char *config, size_t len, WT_CONFIG_PARSER **config_parserp)
Create a handle that can be used to parse or create configuration strings compatible with WiredTiger ...
wiredtiger_open
int wiredtiger_open(const char *home, WT_EVENT_HANDLER *event_handler, const char *config, WT_CONNECTION **connectionp)
Open a connection to a database.
WT_CURSOR::set_key
void set_key(WT_CURSOR *cursor,...)
Set the key for the next operation.
wiredtiger_struct_size
int wiredtiger_struct_size(WT_SESSION *session, size_t *lenp, const char *format,...)
Calculate the size required to pack a structure.
WT_CONFIG_ITEM
The configuration information returned by the WiredTiger configuration parsing functions in the WT_EX...
Definition: wiredtiger.in:3565
wiredtiger_struct_pack
int wiredtiger_struct_pack(WT_SESSION *session, void *buffer, size_t len, const char *format,...)
Pack a structure into a buffer.