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. 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... | |
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... | |
Functions | |
| int | wiredtiger_open (const char *home, WT_EVENT_HANDLER *errhandler, const char *config, WT_CONNECTION **connectionp) |
| Open a connection to a database. More... | |
| const char * | wiredtiger_strerror (int err) |
| Return information about an error as a string; wiredtiger_strerror is a superset of the ISO C99/POSIX 1003.1-2001 function strerror. More... | |
| const char * | wiredtiger_version (int *majorp, int *minorp, int *patchp) |
| Get version information. 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 size, const char *format,...) |
| Pack a structure into a buffer. More... | |
| int | wiredtiger_struct_size (WT_SESSION *session, size_t *sizep, const char *format,...) |
| Calculate the size required to pack a structure. More... | |
| int | wiredtiger_struct_unpack (WT_SESSION *session, const void *buffer, size_t size, 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... | |
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 The following are all of the WiredTiger-specific error returns: | |
| #define | WT_DEADLOCK |
| 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... | |
Connection statistics | |
Statistics are accessed through cursors with | |
| #define | WT_STAT_CONN_BLOCK_BYTE_MAP_READ |
| block manager: mapped bytes read | |
| #define | WT_STAT_CONN_BLOCK_BYTE_READ |
| block manager: bytes read | |
| #define | WT_STAT_CONN_BLOCK_BYTE_WRITE |
| block manager: bytes written | |
| #define | WT_STAT_CONN_BLOCK_MAP_READ |
| block manager: mapped blocks read | |
| #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_CACHE_BYTES_DIRTY |
| cache: tracked dirty bytes in the cache | |
| #define | WT_STAT_CONN_CACHE_BYTES_INUSE |
| cache: bytes currently in the cache | |
| #define | WT_STAT_CONN_CACHE_BYTES_MAX |
| cache: maximum bytes configured | |
| #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_CLEAN |
| cache: unmodified pages evicted | |
| #define | WT_STAT_CONN_CACHE_EVICTION_DIRTY |
| cache: modified pages evicted | |
| #define | WT_STAT_CONN_CACHE_EVICTION_FAIL |
| cache: pages selected for eviction unable to be evicted | |
| #define | WT_STAT_CONN_CACHE_EVICTION_FORCE |
| cache: pages evicted because they exceeded the in-memory maximum | |
| #define | WT_STAT_CONN_CACHE_EVICTION_FORCE_FAIL |
| cache: failed eviction of pages that exceeded the in-memory maximum | |
| #define | WT_STAT_CONN_CACHE_EVICTION_HAZARD |
| cache: hazard pointer blocked page eviction | |
| #define | WT_STAT_CONN_CACHE_EVICTION_INTERNAL |
| cache: internal pages evicted | |
| #define | WT_STAT_CONN_CACHE_EVICTION_MERGE |
| cache: internal page merge operations completed | |
| #define | WT_STAT_CONN_CACHE_EVICTION_MERGE_FAIL |
| cache: internal page merge attempts that could not complete | |
| #define | WT_STAT_CONN_CACHE_EVICTION_MERGE_LEVELS |
| cache: internal levels merged | |
| #define | WT_STAT_CONN_CACHE_EVICTION_SLOW |
| cache: eviction server unable to reach eviction goal | |
| #define | WT_STAT_CONN_CACHE_EVICTION_WALK |
| cache: pages walked for eviction | |
| #define | WT_STAT_CONN_CACHE_INMEM_SPLIT |
| pages split because they were unable to be evicted | |
| #define | WT_STAT_CONN_CACHE_PAGES_DIRTY |
| cache: tracked dirty pages in the cache | |
| #define | WT_STAT_CONN_CACHE_PAGES_INUSE |
| cache: pages currently held in the cache | |
| #define | WT_STAT_CONN_CACHE_READ |
| cache: pages read into cache | |
| #define | WT_STAT_CONN_CACHE_WRITE |
| cache: pages written from cache | |
| #define | WT_STAT_CONN_COND_WAIT |
| pthread mutex condition wait calls | |
| #define | WT_STAT_CONN_CURSOR_CREATE |
| cursor creation | |
| #define | WT_STAT_CONN_CURSOR_INSERT |
| Btree cursor insert calls. | |
| #define | WT_STAT_CONN_CURSOR_NEXT |
| Btree cursor next calls. | |
| #define | WT_STAT_CONN_CURSOR_PREV |
| Btree cursor prev calls. | |
| #define | WT_STAT_CONN_CURSOR_REMOVE |
| Btree cursor remove calls. | |
| #define | WT_STAT_CONN_CURSOR_RESET |
| Btree cursor reset calls. | |
| #define | WT_STAT_CONN_CURSOR_SEARCH |
| Btree cursor search calls. | |
| #define | WT_STAT_CONN_CURSOR_SEARCH_NEAR |
| Btree cursor search near calls. | |
| #define | WT_STAT_CONN_CURSOR_UPDATE |
| Btree cursor update calls. | |
| #define | WT_STAT_CONN_DH_CONN_HANDLES |
| dhandle: connection dhandles swept | |
| #define | WT_STAT_CONN_DH_CONN_SWEEPS |
| dhandle: connection sweep attempts | |
| #define | WT_STAT_CONN_DH_SESSION_HANDLES |
| dhandle: session dhandles swept | |
| #define | WT_STAT_CONN_DH_SESSION_SWEEPS |
| dhandle: session sweep attempts | |
| #define | WT_STAT_CONN_DH_SWEEP_EVICT |
| dhandle: sweeps conflicting with evict | |
| #define | WT_STAT_CONN_FILE_OPEN |
| files currently open | |
| #define | WT_STAT_CONN_LOG_BUFFER_GROW |
| log: log buffer size increases | |
| #define | WT_STAT_CONN_LOG_BUFFER_SIZE |
| log: total log buffer size | |
| #define | WT_STAT_CONN_LOG_BYTES_USER |
| log: user provided log bytes written | |
| #define | WT_STAT_CONN_LOG_BYTES_WRITTEN |
| log: log bytes written | |
| #define | WT_STAT_CONN_LOG_MAX_FILESIZE |
| log: maximum log file size | |
| #define | WT_STAT_CONN_LOG_READS |
| log: log read operations | |
| #define | WT_STAT_CONN_LOG_SCAN_RECORDS |
| log: records processed by log scan | |
| #define | WT_STAT_CONN_LOG_SCAN_REREADS |
| log: log scan records requiring two reads | |
| #define | WT_STAT_CONN_LOG_SCANS |
| log: log scan operations | |
| #define | WT_STAT_CONN_LOG_SLOT_CLOSES |
| log: consolidated slot closures | |
| #define | WT_STAT_CONN_LOG_SLOT_CONSOLIDATED |
| log: logging bytes consolidated | |
| #define | WT_STAT_CONN_LOG_SLOT_JOINS |
| log: consolidated slot joins | |
| #define | WT_STAT_CONN_LOG_SLOT_RACES |
| log: consolidated slot join races | |
| #define | WT_STAT_CONN_LOG_SLOT_READY_WAIT_TIMEOUT |
| log: log slot ready wait timeouts | |
| #define | WT_STAT_CONN_LOG_SLOT_RELEASE_WAIT_TIMEOUT |
| log: log slot release wait timeouts | |
| #define | WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS |
| log: slots selected for switching that were unavailable | |
| #define | WT_STAT_CONN_LOG_SLOT_TOOBIG |
| log: record size exceeded maximum | |
| #define | WT_STAT_CONN_LOG_SLOT_TOOSMALL |
| log: failed to find a slot large enough for record | |
| #define | WT_STAT_CONN_LOG_SLOT_TRANSITIONS |
| log: consolidated slot join transitions | |
| #define | WT_STAT_CONN_LOG_SYNC |
| log: log sync operations | |
| #define | WT_STAT_CONN_LOG_WRITES |
| log: log write operations | |
| #define | WT_STAT_CONN_LSM_ROWS_MERGED |
| rows merged in an LSM tree | |
| #define | WT_STAT_CONN_MEMORY_ALLOCATION |
| memory allocations | |
| #define | WT_STAT_CONN_MEMORY_FREE |
| memory frees | |
| #define | WT_STAT_CONN_MEMORY_GROW |
| memory re-allocations | |
| #define | WT_STAT_CONN_READ_IO |
| total read I/Os | |
| #define | WT_STAT_CONN_REC_PAGES |
| page reconciliation calls | |
| #define | WT_STAT_CONN_REC_PAGES_EVICTION |
| page reconciliation calls for eviction | |
| #define | WT_STAT_CONN_REC_SKIPPED_UPDATE |
| reconciliation failed because an update could not be included | |
| #define | WT_STAT_CONN_RWLOCK_READ |
| pthread mutex shared lock read-lock calls | |
| #define | WT_STAT_CONN_RWLOCK_WRITE |
| pthread mutex shared lock write-lock calls | |
| #define | WT_STAT_CONN_SESSION_CURSOR_OPEN |
| open cursor count | |
| #define | WT_STAT_CONN_TXN_BEGIN |
| transactions | |
| #define | WT_STAT_CONN_TXN_CHECKPOINT |
| transaction checkpoints | |
| #define | WT_STAT_CONN_TXN_CHECKPOINT_RUNNING |
| transaction checkpoint currently running | |
| #define | WT_STAT_CONN_TXN_COMMIT |
| transactions committed | |
| #define | WT_STAT_CONN_TXN_FAIL_CACHE |
| transaction failures due to cache overflow | |
| #define | WT_STAT_CONN_TXN_ROLLBACK |
| transactions rolled-back | |
| #define | WT_STAT_CONN_WRITE_IO |
| total write I/Os | |
Statistics for data sources | |
| #define | WT_STAT_DSRC_ALLOCATION_SIZE |
| block manager: file allocation unit size | |
| #define | WT_STAT_DSRC_BLOCK_ALLOC |
| block manager: blocks allocated | |
| #define | WT_STAT_DSRC_BLOCK_CHECKPOINT_SIZE |
| block manager: checkpoint size | |
| #define | WT_STAT_DSRC_BLOCK_EXTENSION |
| block manager: allocations requiring file extension | |
| #define | WT_STAT_DSRC_BLOCK_FREE |
| block manager: blocks freed | |
| #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_MINOR |
| block manager: minor version number | |
| #define | WT_STAT_DSRC_BLOCK_REUSE_BYTES |
| block manager: file bytes available for reuse | |
| #define | WT_STAT_DSRC_BLOCK_SIZE |
| block manager: file size in bytes | |
| #define | WT_STAT_DSRC_BLOOM_COUNT |
| bloom filters in the LSM tree | |
| #define | WT_STAT_DSRC_BLOOM_FALSE_POSITIVE |
| bloom filter false positives | |
| #define | WT_STAT_DSRC_BLOOM_HIT |
| bloom filter hits | |
| #define | WT_STAT_DSRC_BLOOM_MISS |
| bloom filter misses | |
| #define | WT_STAT_DSRC_BLOOM_PAGE_EVICT |
| bloom filter pages evicted from cache | |
| #define | WT_STAT_DSRC_BLOOM_PAGE_READ |
| bloom filter pages read into cache | |
| #define | WT_STAT_DSRC_BLOOM_SIZE |
| total size of bloom filters | |
| #define | WT_STAT_DSRC_BTREE_COLUMN_DELETED |
| column-store variable-size deleted values | |
| #define | WT_STAT_DSRC_BTREE_COLUMN_FIX |
| column-store fixed-size leaf pages | |
| #define | WT_STAT_DSRC_BTREE_COLUMN_INTERNAL |
| column-store internal pages | |
| #define | WT_STAT_DSRC_BTREE_COLUMN_VARIABLE |
| column-store variable-size leaf pages | |
| #define | WT_STAT_DSRC_BTREE_COMPACT_REWRITE |
| pages rewritten by compaction | |
| #define | WT_STAT_DSRC_BTREE_ENTRIES |
| total LSM, table or file object key/value pairs | |
| #define | WT_STAT_DSRC_BTREE_FIXED_LEN |
| fixed-record size | |
| #define | WT_STAT_DSRC_BTREE_MAXIMUM_DEPTH |
| maximum tree depth | |
| #define | WT_STAT_DSRC_BTREE_MAXINTLITEM |
| maximum internal page item size | |
| #define | WT_STAT_DSRC_BTREE_MAXINTLPAGE |
| maximum internal page size | |
| #define | WT_STAT_DSRC_BTREE_MAXLEAFITEM |
| maximum leaf page item size | |
| #define | WT_STAT_DSRC_BTREE_MAXLEAFPAGE |
| maximum leaf page size | |
| #define | WT_STAT_DSRC_BTREE_OVERFLOW |
| overflow pages | |
| #define | WT_STAT_DSRC_BTREE_ROW_INTERNAL |
| row-store internal pages | |
| #define | WT_STAT_DSRC_BTREE_ROW_LEAF |
| row-store leaf pages | |
| #define | WT_STAT_DSRC_CACHE_BYTES_READ |
| bytes read into cache | |
| #define | WT_STAT_DSRC_CACHE_BYTES_WRITE |
| bytes written from cache | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_CHECKPOINT |
| cache: checkpoint blocked page eviction | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_CLEAN |
| unmodified pages evicted | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_DIRTY |
| modified pages evicted | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_FAIL |
| data source pages selected for eviction unable to be evicted | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_HAZARD |
| cache: hazard pointer blocked page eviction | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_INTERNAL |
| internal pages evicted | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_MERGE |
| cache: internal page merge operations completed | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_MERGE_FAIL |
| cache: internal page merge attempts that could not complete | |
| #define | WT_STAT_DSRC_CACHE_EVICTION_MERGE_LEVELS |
| cache: internal levels merged | |
| #define | WT_STAT_DSRC_CACHE_INMEM_SPLIT |
| pages split because they were unable to be evicted | |
| #define | WT_STAT_DSRC_CACHE_OVERFLOW_VALUE |
| overflow values cached in memory | |
| #define | WT_STAT_DSRC_CACHE_READ |
| pages read into cache | |
| #define | WT_STAT_DSRC_CACHE_READ_OVERFLOW |
| overflow pages read into cache | |
| #define | WT_STAT_DSRC_CACHE_WRITE |
| pages written from cache | |
| #define | WT_STAT_DSRC_COMPRESS_RAW_FAIL |
| raw compression call failed, no additional data available | |
| #define | WT_STAT_DSRC_COMPRESS_RAW_FAIL_TEMPORARY |
| raw compression call failed, additional data available | |
| #define | WT_STAT_DSRC_COMPRESS_RAW_OK |
| raw compression call succeeded | |
| #define | WT_STAT_DSRC_COMPRESS_READ |
| compressed pages read | |
| #define | WT_STAT_DSRC_COMPRESS_WRITE |
| compressed pages written | |
| #define | WT_STAT_DSRC_COMPRESS_WRITE_FAIL |
| page written failed to compress | |
| #define | WT_STAT_DSRC_COMPRESS_WRITE_TOO_SMALL |
| page written was too small to compress | |
| #define | WT_STAT_DSRC_CURSOR_CREATE |
| cursor creation | |
| #define | WT_STAT_DSRC_CURSOR_INSERT |
| cursor insert calls | |
| #define | WT_STAT_DSRC_CURSOR_INSERT_BULK |
| bulk-loaded cursor-insert calls | |
| #define | WT_STAT_DSRC_CURSOR_INSERT_BYTES |
| cursor-insert key and value bytes inserted | |
| #define | WT_STAT_DSRC_CURSOR_NEXT |
| cursor next calls | |
| #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_RESET |
| cursor reset calls | |
| #define | WT_STAT_DSRC_CURSOR_SEARCH |
| cursor search calls | |
| #define | WT_STAT_DSRC_CURSOR_SEARCH_NEAR |
| cursor search near calls | |
| #define | WT_STAT_DSRC_CURSOR_UPDATE |
| cursor update calls | |
| #define | WT_STAT_DSRC_CURSOR_UPDATE_BYTES |
| cursor-update value bytes updated | |
| #define | WT_STAT_DSRC_LSM_CHUNK_COUNT |
| chunks in the LSM tree | |
| #define | WT_STAT_DSRC_LSM_GENERATION_MAX |
| highest merge generation in the LSM tree | |
| #define | WT_STAT_DSRC_LSM_LOOKUP_NO_BLOOM |
| queries that could have benefited from a Bloom filter that did not exist | |
| #define | WT_STAT_DSRC_REC_DICTIONARY |
| reconciliation dictionary matches | |
| #define | WT_STAT_DSRC_REC_OVERFLOW_KEY_INTERNAL |
| reconciliation internal-page overflow keys | |
| #define | WT_STAT_DSRC_REC_OVERFLOW_KEY_LEAF |
| reconciliation leaf-page overflow keys | |
| #define | WT_STAT_DSRC_REC_OVERFLOW_VALUE |
| reconciliation overflow values written | |
| #define | WT_STAT_DSRC_REC_PAGE_DELETE |
| reconciliation pages deleted | |
| #define | WT_STAT_DSRC_REC_PAGE_MERGE |
| reconciliation pages merged | |
| #define | WT_STAT_DSRC_REC_PAGES |
| page reconciliation calls | |
| #define | WT_STAT_DSRC_REC_PAGES_EVICTION |
| page reconciliation calls for eviction | |
| #define | WT_STAT_DSRC_REC_SKIPPED_UPDATE |
| reconciliation failed because an update could not be included | |
| #define | WT_STAT_DSRC_REC_SPLIT_INTERNAL |
| reconciliation internal pages split | |
| #define | WT_STAT_DSRC_REC_SPLIT_LEAF |
| reconciliation leaf pages split | |
| #define | WT_STAT_DSRC_REC_SPLIT_MAX |
| reconciliation maximum splits for a page | |
| #define | WT_STAT_DSRC_SESSION_COMPACT |
| object compaction | |
| #define | WT_STAT_DSRC_SESSION_CURSOR_OPEN |
| open cursor count | |
| #define | WT_STAT_DSRC_TXN_UPDATE_CONFLICT |
| update conflicts | |
The functions, handles and methods applications use to access and manage data with WiredTiger.
| struct WT_ITEM |
A raw item of data to be managed.
Data items have a pointer to the data and a length (limited to 4GB for items stored in tables). WT_ITEM structures do not need to be cleared before use.
| 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. |
| uint32_t | size | The number of bytes in the data item. |
| #define WT_DEADLOCK |
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.
| #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.
| #define WT_ERROR |
Non-specific WiredTiger error.
This error is returned when an error is not covered by a specific error return.
| #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.
| #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.
| #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.
| #define WT_PANIC |
WiredTiger library panic.
This error indicates an underlying problem that requires the application exit and restart.
| 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.
| int wiredtiger_open | ( | const char * | home, |
| WT_EVENT_HANDLER * | errhandler, | ||
| const char * | config, | ||
| WT_CONNECTION ** | connectionp | ||
| ) |
Open a connection to a database.
| home | The path to the database home directory. See Database Home Directory for more information. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| errhandler | An error handler. If NULL, a builtin error handler is installed that writes error messages to stderr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| config | Configuration string, see Configuration Strings. Permitted values:
WiredTiger.config appears in the WiredTiger home directory, it is read for configuration values (see WiredTiger.config file for details). Configuration values specified in the config argument to the wiredtiger_open function override configuration values specified in the WiredTiger.config file. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [out] | connectionp | A pointer to the newly opened connection handle |
| int wiredtiger_pack_close | ( | WT_PACK_STREAM * | ps, |
| size_t * | usedp | ||
| ) |
Close a packing stream.
| ps | the packing stream handle | |
| [out] | usedp | the number of bytes in the buffer used by the stream |
| int wiredtiger_pack_int | ( | WT_PACK_STREAM * | ps, |
| int64_t | i | ||
| ) |
Pack a signed integer into a packing stream.
| ps | the packing stream handle |
| i | a signed integer to pack |
| int wiredtiger_pack_item | ( | WT_PACK_STREAM * | ps, |
| WT_ITEM * | item | ||
| ) |
Pack an item into a packing stream.
| ps | the packing stream handle |
| item | an item to pack |
| 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.
| session | the session handle | |
| format | the data format, see Packing and Unpacking Data | |
| buffer | a pointer to memory to hold the packed data | |
| size | the size of the buffer | |
| [out] | psp | the new packing stream handle |
| int wiredtiger_pack_str | ( | WT_PACK_STREAM * | ps, |
| const char * | s | ||
| ) |
Pack a string into a packing stream.
| ps | the packing stream handle |
| s | a string to pack |
| int wiredtiger_pack_uint | ( | WT_PACK_STREAM * | ps, |
| uint64_t | u | ||
| ) |
Pack an unsigned integer into a packing stream.
| ps | the packing stream handle |
| u | an unsigned integer to pack |
| const char* wiredtiger_strerror | ( | int | err | ) |
Return information about an error as a string; wiredtiger_strerror is a superset of the ISO C99/POSIX 1003.1-2001 function strerror.
| err | a return value from a WiredTiger, C library or POSIX function |
| int wiredtiger_struct_pack | ( | WT_SESSION * | session, |
| void * | buffer, | ||
| size_t | size, | ||
| const char * | format, | ||
| ... | |||
| ) |
Pack a structure into a buffer.
See Packing and Unpacking Data for a description of the permitted format strings.
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:
Then later, the values can be unpacked as follows:
| session | the session handle |
| buffer | a pointer to a packed byte array |
| size | the number of valid bytes in the buffer |
| format | the data format, see Packing and Unpacking Data |
| int wiredtiger_struct_size | ( | WT_SESSION * | session, |
| size_t * | sizep, | ||
| 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.
| session | the session handle |
| sizep | a location where the number of bytes needed for the matching call to wiredtiger_struct_pack is returned |
| format | the data format, see Packing and Unpacking Data |
| int wiredtiger_struct_unpack | ( | WT_SESSION * | session, |
| const void * | buffer, | ||
| size_t | size, | ||
| const char * | format, | ||
| ... | |||
| ) |
Unpack a structure from a buffer.
Reverse of wiredtiger_struct_pack: gets values out of a packed byte string.
| session | the session handle |
| buffer | a pointer to a packed byte array |
| size | the number of valid bytes in the buffer |
| format | the data format, see Packing and Unpacking Data |
| int wiredtiger_unpack_int | ( | WT_PACK_STREAM * | ps, |
| int64_t * | ip | ||
| ) |
Unpack a signed integer from a packing stream.
| ps | the packing stream handle | |
| [out] | ip | the unpacked signed integer |
| int wiredtiger_unpack_item | ( | WT_PACK_STREAM * | ps, |
| WT_ITEM * | item | ||
| ) |
Unpack an item from a packing stream.
| ps | the packing stream handle |
| item | an item to unpack |
| 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.
| session | the session handle | |
| format | the data format, see Packing and Unpacking Data | |
| buffer | a pointer to memory holding the packed data | |
| size | the size of the buffer | |
| [out] | psp | the new packing stream handle |
| int wiredtiger_unpack_str | ( | WT_PACK_STREAM * | ps, |
| const char ** | sp | ||
| ) |
Unpack a string from a packing stream.
| ps | the packing stream handle | |
| [out] | sp | the unpacked string |
| int wiredtiger_unpack_uint | ( | WT_PACK_STREAM * | ps, |
| uint64_t * | up | ||
| ) |
Unpack an unsigned integer from a packing stream.
| ps | the packing stream handle | |
| [out] | up | the unpacked unsigned integer |
| const char* wiredtiger_version | ( | int * | majorp, |
| int * | minorp, | ||
| int * | patchp | ||
| ) |
Get version information.
| majorp | a location where the major version number is returned |
| minorp | a location where the minor version number is returned |
| patchp | a location where the patch version number is returned |