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. | |
#define | WT_INTPACK32_MAXSIZE |
The maximum packed size of a 32-bit integer. | |
Functions | |
int | wiredtiger_open (const char *home, WT_EVENT_HANDLER *errhandler, const char *config, WT_CONNECTION **connectionp) |
Open a connection to a database. | |
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. | |
int | wiredtiger_struct_pack (WT_SESSION *session, void *buffer, size_t size, const char *format,...) |
Pack a structure into a buffer. | |
int | wiredtiger_struct_size (WT_SESSION *session, size_t *sizep, const char *format,...) |
Calculate the size required to pack a structure. | |
int | wiredtiger_struct_unpack (WT_SESSION *session, const void *buffer, size_t size, const char *format,...) |
Unpack a structure from a buffer. | |
const char * | wiredtiger_version (int *majorp, int *minorp, int *patchp) |
Get version information. | |
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. | |
#define | WT_DUPLICATE_KEY |
Attempt to insert an existing key. | |
#define | WT_ERROR |
Non-specific WiredTiger error. | |
#define | WT_NOTFOUND |
Cursor item not found. | |
Statistics for connection handles | |
Statistics in WiredTiger are accessed through cursors with | |
#define | WT_STAT_txn_ancient |
ancient transactions | |
#define | WT_STAT_block_read |
blocks read from a file | |
#define | WT_STAT_block_write |
blocks written to a file | |
#define | WT_STAT_cache_bytes_inuse |
cache: bytes currently held in the cache | |
#define | WT_STAT_cache_evict_slow |
cache: eviction server unable to reach eviction goal | |
#define | WT_STAT_cache_evict_internal |
cache: internal pages evicted | |
#define | WT_STAT_cache_bytes_max |
cache: maximum bytes configured | |
#define | WT_STAT_cache_evict_modified |
cache: modified pages evicted | |
#define | WT_STAT_cache_pages_inuse |
cache: pages currently held in the cache | |
#define | WT_STAT_cache_evict_hazard |
cache: pages selected for eviction not evicted because of a hazard reference | |
#define | WT_STAT_cache_evict_unmodified |
cache: unmodified pages evicted | |
#define | WT_STAT_checkpoint |
checkpoints | |
#define | WT_STAT_cond_wait |
condition wait calls | |
#define | WT_STAT_file_open |
files currently open | |
#define | WT_STAT_rwlock_rdlock |
rwlock readlock calls | |
#define | WT_STAT_rwlock_wrlock |
rwlock writelock calls | |
#define | WT_STAT_memalloc |
total memory allocations | |
#define | WT_STAT_memfree |
total memory frees | |
#define | WT_STAT_total_read_io |
total read I/Os | |
#define | WT_STAT_total_write_io |
total write I/Os | |
#define | WT_STAT_txn_begin |
transactions | |
#define | WT_STAT_txn_commit |
transactions committed | |
#define | WT_STAT_txn_rollback |
transactions rolled-back | |
Statistics for file objects | |
#define | WT_STAT_file_bulk_loaded |
bulk-loaded entries | |
#define | WT_STAT_file_col_deleted |
column-store deleted values | |
#define | WT_STAT_file_col_fix_pages |
column-store fixed-size leaf pages | |
#define | WT_STAT_file_col_int_pages |
column-store internal pages | |
#define | WT_STAT_file_col_var_pages |
column-store variable-size leaf pages | |
#define | WT_STAT_cursor_inserts |
cursor-inserts | |
#define | WT_STAT_cursor_read |
cursor-read | |
#define | WT_STAT_cursor_read_near |
cursor-read-near | |
#define | WT_STAT_cursor_read_next |
cursor-read-next | |
#define | WT_STAT_cursor_read_prev |
cursor-read-prev | |
#define | WT_STAT_cursor_removes |
cursor-removes | |
#define | WT_STAT_cursor_resets |
cursor-resets | |
#define | WT_STAT_cursor_updates |
cursor-updates | |
#define | WT_STAT_alloc |
file: block allocations | |
#define | WT_STAT_extend |
file: block allocations required file extension | |
#define | WT_STAT_free |
file: block frees | |
#define | WT_STAT_overflow_read |
file: overflow pages read from the file | |
#define | WT_STAT_page_read |
file: pages read from the file | |
#define | WT_STAT_page_write |
file: pages written to the file | |
#define | WT_STAT_file_size |
file: size | |
#define | WT_STAT_file_fixed_len |
fixed-record size | |
#define | WT_STAT_file_magic |
magic number | |
#define | WT_STAT_file_major |
major version number | |
#define | WT_STAT_file_maxintlitem |
maximum internal page item size | |
#define | WT_STAT_file_maxintlpage |
maximum internal page size | |
#define | WT_STAT_file_maxleafitem |
maximum leaf page item size | |
#define | WT_STAT_file_maxleafpage |
maximum leaf page size | |
#define | WT_STAT_file_minor |
minor version number | |
#define | WT_STAT_file_overflow |
overflow pages | |
#define | WT_STAT_file_allocsize |
page size allocation unit | |
#define | WT_STAT_rec_page_merge |
reconcile: deleted or temporary pages merged | |
#define | WT_STAT_rec_dictionary |
reconcile: dictionary match | |
#define | WT_STAT_rec_split_intl |
reconcile: internal pages split | |
#define | WT_STAT_rec_split_leaf |
reconcile: leaf pages split | |
#define | WT_STAT_rec_ovfl_key |
reconcile: overflow key | |
#define | WT_STAT_rec_ovfl_value |
reconcile: overflow value | |
#define | WT_STAT_rec_page_delete |
reconcile: pages deleted | |
#define | WT_STAT_rec_written |
reconcile: pages written | |
#define | WT_STAT_rec_hazard |
reconcile: unable to acquire hazard reference | |
#define | WT_STAT_file_row_int_pages |
row-store internal pages | |
#define | WT_STAT_file_row_leaf_pages |
row-store leaf pages | |
#define | WT_STAT_file_entries |
total entries | |
#define | WT_STAT_update_conflict |
update conflicts | |
#define | WT_STAT_file_write_conflicts |
write generation 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).
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 should 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 generated for cases that are not covered by specific error returns.
#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 |
Cursor item not found.
This error indicates a cursor operation did not find a record to return. This includes search and other operations where no record matched the cursor's search key such as WT_CURSOR::update or WT_CURSOR::remove.
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. | |||||||||||||||||||||||||||||||||||||||||||||||||||
connectionp | A pointer to the newly opened connection handle |
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 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 |
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 |