|
| #define | MDBM_API_VERSION 4 |
| |
| #define | mdbm_big_t int32_t |
| |
| #define | mdbm_ubig_t uint32_t |
| |
| #define | MDBM_KEYLEN_MAX (1<<15) |
| | Maximum key size. More...
|
| |
| #define | MDBM_VALLEN_MAX (1<<24) |
| | Maximum key size. More...
|
| |
| #define | MDBM_ITER_INIT(i) { (i)->m_pageno = 0; (i)->m_next = -1; } |
| | Initializes an MDBM iterator. More...
|
| |
| #define | MDBM_ITER_INITIALIZER { 0, -1 } |
| | MDBM iterator static initialization. More...
|
| |
| #define | MDBM_LOC_NORMAL 0 |
| |
| #define | MDBM_LOC_ARENA 1 |
| |
| #define | MDBM_O_RDONLY 0x00000000 |
| | Read-only access. More...
|
| |
| #define | MDBM_O_WRONLY 0x00000001 |
| | Write-only access (deprecated in V3) More...
|
| |
| #define | MDBM_O_RDWR 0x00000002 |
| | Read and write access. More...
|
| |
| #define | MDBM_O_ACCMODE (MDBM_O_RDONLY | MDBM_O_WRONLY | MDBM_O_RDWR) |
| |
| #define | MDBM_O_ASYNC 0x00000040 |
| | Perform asynchronous writes. More...
|
| |
| #define | MDBM_O_FSYNC 0x00000080 |
| | Sync file on close. More...
|
| |
| #define | MDBM_O_CREAT 0x00000200 |
| | Create file if it does not exist. More...
|
| |
| #define | MDBM_O_TRUNC 0x00000400 |
| | Truncate file. More...
|
| |
| #define | MDBM_O_DIRECT 0x00004000 |
| | Perform direction I/O. More...
|
| |
| #define | MDBM_NO_DIRTY 0x00010000 |
| | Do not not track clean/dirty status. More...
|
| |
| #define | MDBM_SINGLE_ARCH 0x00080000 |
| | User promises not to mix 32/64-bit access. More...
|
| |
| #define | MDBM_OPEN_WINDOWED 0x00100000 |
| | Use windowing to access db. More...
|
| |
| #define | MDBM_PROTECT 0x00200000 |
| | Protect database except when locked. More...
|
| |
| #define | MDBM_DBSIZE_MB 0x00400000 |
| | Dbsize is specific in MB. More...
|
| |
| #define | MDBM_STAT_OPERATIONS 0x00800000 |
| | collect stats for fetch, store, delete More...
|
| |
| #define | MDBM_LARGE_OBJECTS 0x01000000 |
| | Support large objects - obsolete. More...
|
| |
| #define | MDBM_PARTITIONED_LOCKS 0x02000000 |
| | Partitioned locks. More...
|
| |
| #define | MDBM_RW_LOCKS 0x08000000 |
| | Read-write locks. More...
|
| |
| #define | MDBM_ANY_LOCKS 0x00020000 |
| | Open, even if existing locks don't match flags. More...
|
| |
| #define | MDBM_CREATE_V3 0x20000000 |
| | Create a V3 db. More...
|
| |
| #define | MDBM_OPEN_NOLOCK 0x80000000 |
| | Don't lock during open. More...
|
| |
| #define | MDBM_DEMAND_PAGING 0x04000000 |
| | (v2 only) More...
|
| |
| #define | MDBM_DBSIZE_MB_OLD 0x04000000 |
| | (don't use – conflicts with above) More...
|
| |
| #define | MDBM_COPY_LOCK_ALL 0x01 |
| |
| #define | MDBM_SAVE_COMPRESS_TREE 0x01000000 /* compress mdbm before saving */ |
| | Compress MDBM before saving. More...
|
| |
| #define | MDBM_ALIGN_8_BITS 0x0 |
| | 1-Byte data alignment More...
|
| |
| #define | MDBM_ALIGN_16_BITS 0x1 |
| | 2-Byte data alignment More...
|
| |
| #define | MDBM_ALIGN_32_BITS 0x3 |
| | 4-Byte data alignment More...
|
| |
| #define | MDBM_ALIGN_64_BITS 0x7 |
| | 8-Byte data alignment More...
|
| |
| #define | _MDBM_MAGIC 0x01023962 |
| | V2 file identifier. More...
|
| |
| #define | _MDBM_MAGIC_NEW 0x01023963 |
| | V2 file identifier with large objects. More...
|
| |
| #define | _MDBM_MAGIC_NEW2 0x01023964 |
| | V3 file identifier. More...
|
| |
| #define | MDBM_MAGIC _MDBM_MAGIC_NEW2 |
| |
| #define | MDBM_FETCH_FLAG_DIRTY 0x01 |
| | Cache entry is dirty. More...
|
| |
| #define | MDBM_INSERT 0 |
| | Insert if key does not exist; fail if exists. More...
|
| |
| #define | MDBM_REPLACE 1 |
| | Update if key exists; insert if does not exist. More...
|
| |
| #define | MDBM_INSERT_DUP 2 |
| | Insert new record (creates duplicate if key exists) More...
|
| |
| #define | MDBM_MODIFY 3 |
| | Update if key exists; fail if does not exist. More...
|
| |
| #define | MDBM_STORE_MASK 0x3 |
| | Mask for all store options. More...
|
| |
| #define | MDBM_STORE_MODE(f) ((f) & MDBM_STORE_MASK) |
| | Extract the store mode from an options mask. More...
|
| |
| #define | MDBM_RESERVE 0x100 |
| | Reserve space; Value not copied. More...
|
| |
| #define | MDBM_CLEAN 0x200 |
| | Mark entry as clean. More...
|
| |
| #define | MDBM_CACHE_ONLY 0x400 |
| | Do not operate on the backing store; use cache only. More...
|
| |
| #define | MDBM_CACHE_REPLACE 0 |
| | Update cache if key exists; insert if does not exist. More...
|
| |
| #define | MDBM_CACHE_MODIFY 0x1000 |
| | Update cache if key exists; do not insert if does not. More...
|
| |
| #define | MDBM_CACHE_UPDATE_MODE(f) ((f) & MDBM_CACHE_MODIFY) |
| |
| #define | MDBM_STORE_SUCCESS 0 |
| | Returned if store succeeds. More...
|
| |
| #define | MDBM_STORE_ENTRY_EXISTS 1 |
| | Returned if MDBM_INSERT used and key exists. More...
|
| |
| #define | MDBM_ENTRY_DELETED 0x1 |
| |
| #define | MDBM_ENTRY_LARGE_OBJECT 0x2 |
| |
| #define | MDBM_ITERATE_ENTRIES 0x01 |
| | Iterate over page entries. More...
|
| |
| #define | MDBM_ITERATE_NOLOCK 0x80 |
| | Iterate without locking. More...
|
| |
| #define | MDBM_LOCKMODE_UNKNOWN 0xFFFFFFFF |
| | Returned by mdbm_get_lockmode for an unknown lock mode (MDBM V2). More...
|
| |
| #define | MDBM_LOCKMODE_UNKNOWN 0xFFFFFFFF |
| | Returned by mdbm_get_lockmode for an unknown lock mode (MDBM V2). More...
|
| |
| #define | MDBM_SAVE_COMPRESS_TREE 0x01000000 |
| | Compress MDBM before saving. More...
|
| |
| #define | MDBM_CHECK_HEADER 0 |
| | Check MDBM header for integrity. More...
|
| |
| #define | MDBM_CHECK_CHUNKS 1 |
| | Check MDBM header and chunks (page structure) More...
|
| |
| #define | MDBM_CHECK_DIRECTORY 2 |
| | Check MDBM header, chunks, and directory. More...
|
| |
| #define | MDBM_CHECK_ALL 3 |
| | Check MDBM header, chunks, directory, and data. More...
|
| |
| #define | MDBM_PROT_NONE 0 |
| | Page no access. More...
|
| |
| #define | MDBM_PROT_READ 1 |
| | Page read access. More...
|
| |
| #define | MDBM_PROT_WRITE 2 |
| | Page write access. More...
|
| |
| #define | MDBM_PROT_NOACCESS MDBM_PROT_NONE |
| | Page no access. More...
|
| |
| #define | MDBM_PROT_ACCESS 4 |
| | Page protection mask. More...
|
| |
| #define | MDBM_CLOCK_STANDARD 0 |
| |
| #define | MDBM_CLOCK_TSC 1 |
| |
| #define | MDBM_STATS_BASIC 0x1 |
| | Basic stats only. More...
|
| |
| #define | MDBM_STATS_TIMED 0x2 |
| | SLOW! Stats that call get-time functions. More...
|
| |
| #define | MDBM_STAT_CB_INC 0x0 |
| | Basic stat. More...
|
| |
| #define | MDBM_STAT_CB_SET 0x1 |
| | Basic stat. More...
|
| |
| #define | MDBM_STAT_CB_ELAPSED 0x2 |
| | Value is a time delta. More...
|
| |
| #define | MDBM_STAT_CB_TIME 0x3 |
| | Value is the stat time. More...
|
| |
| #define | COMBINE_STAT_TAG(tag, flag) (tag | (flag<<16)) |
| |
| #define | MDBM_STAT_TAG_FETCH 1 /* Successful fetch stats-callback counter */ |
| | The various stats metrics (tags): All time/latency related stats (defined below) require: mdbm_set_stats_func(db, flags|MDBM_STAT_CB_TIME, ...) More...
|
| |
| #define | MDBM_STAT_TAG_STORE 2 /* Successful store stats-callback counter */ |
| |
| #define | MDBM_STAT_TAG_DELETE 3 /* Successful delete stats-callback counter */ |
| |
| #define | MDBM_STAT_TAG_LOCK 4 /* lock stats-callback counter (not implemented) */ |
| |
| #define | MDBM_STAT_TAG_FETCH_UNCACHED 5 /* Cache-miss with cache+backingstore */ |
| |
| #define | MDBM_STAT_TAG_GETPAGE 6 /* Generic access counter in windowed mode */ |
| |
| #define | MDBM_STAT_TAG_GETPAGE_UNCACHED 7 /* Windowed-mode "miss" (load new page into window) */ |
| |
| #define | MDBM_STAT_TAG_CACHE_EVICT 8 /* Cache evict stats-callback counter */ |
| |
| #define | MDBM_STAT_TAG_CACHE_STORE 9 /* Successful cache store counter (BS only) */ |
| |
| #define | MDBM_STAT_TAG_PAGE_STORE 10 /* Successful page-level store indicator */ |
| |
| #define | MDBM_STAT_TAG_PAGE_DELETE 11 /* Successful page-level delete indicator */ |
| |
| #define | MDBM_STAT_TAG_SYNC 12 /* Counter of mdbm_syncs and fsyncs */ |
| |
| #define | MDBM_STAT_TAG_FETCH_NOT_FOUND 13 /* Fetch cannot find a key in MDBM */ |
| |
| #define | MDBM_STAT_TAG_FETCH_ERROR 14 /* Error occurred during fetch */ |
| |
| #define | MDBM_STAT_TAG_STORE_ERROR 15 /* Error occurred during store (e.g. MODIFY failed) */ |
| |
| #define | MDBM_STAT_TAG_DELETE_FAILED 16 /* Delete failed: cannot find a key in MDBM */ |
| |
| #define | MDBM_STAT_TAG_FETCH_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_FETCH, MDBM_STAT_CB_ELAPSED) |
| | Fetch latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_STORE_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_STORE, MDBM_STAT_CB_ELAPSED) |
| | Store latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_DELETE_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_DELETE, MDBM_STAT_CB_ELAPSED) |
| | Delete latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_FETCH_TIME COMBINE_STAT_TAG(MDBM_STAT_TAG_FETCH, MDBM_STAT_CB_TIME) |
| | timestamp of last fetch (not yet implemented) More...
|
| |
| #define | MDBM_STAT_TAG_STORE_TIME COMBINE_STAT_TAG(MDBM_STAT_TAG_STORE, MDBM_STAT_CB_TIME) |
| | timestamp of last store (not yet implemented) More...
|
| |
| #define | MDBM_STAT_TAG_DELETE_TIME COMBINE_STAT_TAG(MDBM_STAT_TAG_DELETE, MDBM_STAT_CB_TIME) |
| | timestamp of last delete (not yet implemented) More...
|
| |
| #define | MDBM_STAT_TAG_FETCH_UNCACHED_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_FETCH_UNCACHED, MDBM_STAT_CB_ELAPSED) |
| | Cache miss latency for cache+Backingstore only (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_GETPAGE_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_GETPAGE, MDBM_STAT_CB_ELAPSED) |
| | access latency in windowed mode (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_GETPAGE_UNCACHED_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_GETPAGE_UNCACHED, MDBM_STAT_CB_ELAPSED) |
| | windowed-mode miss latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_CACHE_EVICT_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_CACHE_EVICT, MDBM_STAT_CB_ELAPSED) |
| | cache evict latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_CACHE_STORE_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_CACHE_STORE, MDBM_STAT_CB_ELAPSED) |
| | Cache store latency in Cache+backingstore mode only (expensive to collect) More...
|
| |
| #define | MDBM_STAT_TAG_PAGE_STORE_VALUE COMBINE_STAT_TAG(MDBM_STAT_TAG_PAGE_STORE, MDBM_STAT_CB_SET) |
| | Indicates a store occurred on a particular page. More...
|
| |
| #define | MDBM_STAT_TAG_PAGE_DELETE_VALUE COMBINE_STAT_TAG(MDBM_STAT_TAG_PAGE_DELETE, MDBM_STAT_CB_SET) |
| | Indicates a delete occurred on a particular page. More...
|
| |
| #define | MDBM_STAT_TAG_SYNC_LATENCY COMBINE_STAT_TAG(MDBM_STAT_TAG_SYNC, MDBM_STAT_CB_ELAPSED) |
| | mdbm_sync/fsync latency (expensive to collect) More...
|
| |
| #define | MDBM_STAT_DELETED 0x1 |
| | Deprecated. More...
|
| |
| #define | MDBM_STAT_KEYS 0x2 |
| | Deprecated. More...
|
| |
| #define | MDBM_STAT_VALUES 0x4 |
| | Deprecated. More...
|
| |
| #define | MDBM_STAT_PAGES_ONLY 0x8 |
| | Deprecated. More...
|
| |
| #define | MDBM_STAT_NOLOCK 0x80 |
| | Do not lock for stat operation. More...
|
| |
| #define | MDBM_STAT_BUCKETS 20 |
| | Number of buckets for stat histograms. More...
|
| |
| #define | MDBM_CACHEMODE_NONE 0 |
| | No caching behavior. More...
|
| |
| #define | MDBM_CACHEMODE_LFU 1 |
| | Entry with smallest number of accesses is evicted. More...
|
| |
| #define | MDBM_CACHEMODE_LRU 2 |
| | Entry with oldest access time is evicted. More...
|
| |
| #define | MDBM_CACHEMODE_GDSF 3 |
| | Greedy dual-size frequency (size and frequency) eviction. More...
|
| |
| #define | MDBM_CACHEMODE_MAX 3 |
| | Maximum cache mode value. More...
|
| |
| #define | MDBM_CACHEMODE_EVICT_CLEAN_FIRST 0x10 |
| | add to cachemode to evict clean items 1st More...
|
| |
| #define | MDBM_CACHEMODE(m) ((m)&3) |
| | Extracts cache mode. More...
|
| |
| #define | MDBM_CACHEMODE_BITS (3 | MDBM_CACHEMODE_EVICT_CLEAN_FIRST) |
| | Defines a mask for the cache mode, including control (eviction) bit. More...
|
| |
| #define | MDBM_BSOPS_FILE ((const mdbm_bsops_t*)-1) |
| | Backing store File identifier. More...
|
| |
| #define | MDBM_BSOPS_MDBM ((const mdbm_bsops_t*)-2) |
| | Backing store MDBM identifier. More...
|
| |
| #define | MDBM_MINPAGE 128 |
| | Size should be >= header, but this cuts off header stats, which is ok. More...
|
| |
| #define | MDBM_PAGE_ALIGN 64 |
| |
| #define | MDBM_MAXPAGE ((16*1024*1024) - MDBM_PAGE_ALIGN) |
| |
| #define | MDBM_PAGESIZ 4096 |
| | A good default. More...
|
| |
| #define | MDBM_MIN_PSHIFT 7 |
| | this must match MDBM_MINPAGE above More...
|
| |
| #define | MDBM_MAX_SHIFT ((sizeof( void * )*8)-1) |
| | Base # shifts on ptr size. More...
|
| |
| #define | WHATSTR(X) static const char what[] = X |
| |
| #define | MDBM_HASH_CRC32 0 |
| | table based 32bit crc More...
|
| |
| #define | MDBM_HASH_EJB 1 |
| | from hsearch More...
|
| |
| #define | MDBM_HASH_PHONG 2 |
| | congruential hash More...
|
| |
| #define | MDBM_HASH_OZ 3 |
| | from sdbm More...
|
| |
| #define | MDBM_HASH_TOREK 4 |
| | from Berkeley db More...
|
| |
| #define | MDBM_HASH_FNV 5 |
| | Fowler/Vo/Noll hash. More...
|
| |
| #define | MDBM_HASH_STL 6 |
| | STL string hash. More...
|
| |
| #define | MDBM_HASH_MD5 7 |
| | MD5. More...
|
| |
| #define | MDBM_HASH_SHA_1 8 |
| | SHA_1. More...
|
| |
| #define | MDBM_HASH_JENKINS 9 |
| | JENKINS. More...
|
| |
| #define | MDBM_HASH_HSIEH 10 |
| | HSIEH SuperFastHash. More...
|
| |
| #define | MDBM_MAX_HASH 10 /* bump up if adding more */ |
| |
| #define | MDBM_DEFAULT_HASH 5 /* MDBM_HASH_FNV is best */ |
| | Define the hash function to use on a newly created file. More...
|
| |
| #define | MDBM_CONFIG_DEFAULT_HASH MDBM_HASH_FNV |
| |
| #define | MDBM_BAD_HASH_NO(n) ((n) < 0 || (n) > MDBM_MAX_HASH) |
| |
| #define | MDBM_HASH_MAX MDBM_MAX_HASH |
| |
|
| MDBM * | mdbm_open (const char *file, int flags, int mode, int psize, int presize) |
| | Creates and/or opens a database. More...
|
| |
| void | mdbm_close (MDBM *db) |
| | Closes the database. More...
|
| |
| void | mdbm_close_fd (MDBM *db) |
| | Closes an MDBM's underlying file descriptor. More...
|
| |
| MDBM * | mdbm_dup_handle (MDBM *db, int flags) |
| | Duplicate an existing database handle. More...
|
| |
| int | mdbm_sync (MDBM *db) |
| | msync's all pages to disk asynchronously. More...
|
| |
| int | mdbm_fsync (MDBM *db) |
| | fsync's an MDBM. More...
|
| |
| int | mdbm_replace_db (MDBM *db, const char *newfile) |
| | Atomically replaces the database currently in oldfile db with the new database in newfile. More...
|
| |
| int | mdbm_replace_file (const char *oldfile, const char *newfile) |
| | Atomically replaces an old database in oldfile with a new database in newfile. More...
|
| |
| int | mdbm_pre_split (MDBM *db, mdbm_ubig_t N) |
| | Forces a db to split, creating N pages. More...
|
| |
| int | mdbm_fcopy (MDBM *db, int fd, int flags) |
| | Copies the contents of a database to an open file handle. More...
|
| |
| int | mdbm_save (MDBM *db, const char *file, int flags, int mode, int compressionLevel) |
| | DEPRECATED!! mdbm_save is only supported for V2 MDBMs. More...
|
| |
| int | mdbm_restore (MDBM *db, const char *file) |
| | DEPRECATED!! mdbm_restore is only supported for V2 MDBMs. More...
|
| |
| void | mdbm_stat_header (MDBM *db) |
| | Prints to stdout various pieces of information, specifically: page size, page count, hash function, running with or without locking. More...
|
| |
| int | mdbm_get_hash (MDBM *db) |
| | Gets the MDBM's hash function identifier. More...
|
| |
| int | mdbm_sethash (MDBM *db, int hashid) |
| | Sets the hashing function for a given MDBM. More...
|
| |
| int | mdbm_setspillsize (MDBM *db, int size) |
| | Sets the size of item data value which will be put on the large-object heap rather than inline. More...
|
| |
| int | mdbm_get_alignment (MDBM *db) |
| | Gets the MDBM's record byte-alignment. More...
|
| |
| int | mdbm_set_alignment (MDBM *db, int align) |
| | Sets a database's byte-size alignment for keys and values within a page. More...
|
| |
| uint64_t | mdbm_get_limit_size (MDBM *db) |
| | Gets the MDBM's size limit. More...
|
| |
| int | mdbm_limit_size_v3 (MDBM *db, mdbm_ubig_t max_page, mdbm_shake_func_v3 shake, void *user) |
| | Limits the size of a V3 database to a maximum number of pages. More...
|
| |
| int | mdbm_limit_dir_size (MDBM *db, int pages) |
| | Limits the internal page directory size to a number of pages. More...
|
| |
| uint32_t | mdbm_get_version (MDBM *db) |
| | Gets the on-disk format version number of an MDBM. More...
|
| |
| uint64_t | mdbm_get_size (MDBM *db) |
| | Gets the current MDBM's size. More...
|
| |
| int | mdbm_get_page_size (MDBM *db) |
| | Get the MDBM's page size. More...
|
| |
| int | mdbm_get_magic_number (MDBM *db, uint32_t *magic) |
| | Gets the magic number from an MDBM. More...
|
| |
| int | mdbm_set_window_size (MDBM *db, size_t wsize) |
| | Sets the window size for an MDBM. More...
|
| |
| datum | mdbm_fetch (MDBM *db, datum key) |
| | Fetches the record specified by the key argument and returns a datum that points to the value. More...
|
| |
| int | mdbm_fetch_r (MDBM *db, datum *key, datum *val, MDBM_ITER *iter) |
| | Fetches the record specified by the key argument. More...
|
| |
| int | mdbm_fetch_buf (MDBM *db, datum *key, datum *val, datum *buf, int flags) |
| | Fetches and copies the record specified by the key argument. More...
|
| |
| int | mdbm_fetch_dup_r (MDBM *db, datum *key, datum *val, MDBM_ITER *iter) |
| | Fetches the next value for a key inserted via mdbm_store_r with the MDBM_INSERT_DUP flag set. More...
|
| |
| char * | mdbm_fetch_str (MDBM *db, const char *key) |
| | Fetches a string. More...
|
| |
| int | mdbm_fetch_info (MDBM *db, datum *key, datum *val, datum *buf, struct mdbm_fetch_info *info, MDBM_ITER *iter) |
| | Fetches and copies the record specified by the key argument. More...
|
| |
| int | mdbm_delete (MDBM *db, datum key) |
| | Deletes a specific record. More...
|
| |
| int | mdbm_delete_r (MDBM *db, MDBM_ITER *iter) |
| | Deletes the record currently addressed by the iter argument. More...
|
| |
| int | mdbm_delete_str (MDBM *db, const char *key) |
| | Deletes a string from the MDBM. More...
|
| |
| int | mdbm_store (MDBM *db, datum key, datum val, int flags) |
| | This is a wrapper around mdbm_store_r, with a static iterator. More...
|
| |
| int | mdbm_store_r (MDBM *db, datum *key, datum *val, int flags, MDBM_ITER *iter) |
| | Stores the record specified by the key and val parameters. More...
|
| |
| int | mdbm_store_str (MDBM *db, const char *key, const char *val, int flags) |
| | Stores a string into the MDBM. More...
|
| |
| kvpair | mdbm_first (MDBM *db) |
| | Returns the first key/value pair from the database. More...
|
| |
| kvpair | mdbm_first_r (MDBM *db, MDBM_ITER *iter) |
| | Fetches the first record in an MDBM. More...
|
| |
| kvpair | mdbm_next (MDBM *db) |
| | Returns the next key/value pair from the database. More...
|
| |
| kvpair | mdbm_next_r (MDBM *db, MDBM_ITER *iter) |
| | Fetches the next record in an MDBM. More...
|
| |
| datum | mdbm_firstkey (MDBM *db) |
| | Returns the first key from the database. More...
|
| |
| datum | mdbm_firstkey_r (MDBM *db, MDBM_ITER *iter) |
| | Fetches the first key in an MDBM. More...
|
| |
| datum | mdbm_nextkey (MDBM *db) |
| | Returns the next key pair from the database. More...
|
| |
| datum | mdbm_nextkey_r (MDBM *db, MDBM_ITER *iter) |
| | Fetches the next key in an MDBM. More...
|
| |
| int | mdbm_iterate (MDBM *db, int pagenum, mdbm_iterate_func_t func, int flags, void *user) |
| | Iterates through all keys starting on page pagenum and continuing through the rest of the database. More...
|
| |
| int | mdbm_islocked (MDBM *db) |
| | Returns whether or not MDBM is locked by another process or thread (thread: V3 only). More...
|
| |
| int | mdbm_isowned (MDBM *db) |
| | Returns whether or not MDBM is currently locked (owned) by the calling process. More...
|
| |
| uint32_t | mdbm_get_lockmode (MDBM *db) |
| | Gets the MDBM's lock mode. More...
|
| |
| int | mdbm_lock (MDBM *db) |
| | Locks the database for exclusive access by the caller. More...
|
| |
| int | mdbm_unlock (MDBM *db) |
| | Unlocks the database, releasing exclusive or shared access by the caller. More...
|
| |
| int | mdbm_trylock (MDBM *db) |
| | Attempts to exclusively lock an MDBM. More...
|
| |
| int | mdbm_plock (MDBM *db, const datum *key, int flags) |
| | Locks a specific partition in the database for exclusive access by the caller. More...
|
| |
| int | mdbm_punlock (MDBM *db, const datum *key, int flags) |
| | Unlocks a specific partition in the database, releasing exclusive access by the caller. More...
|
| |
| int | mdbm_tryplock (MDBM *db, const datum *key, int flags) |
| | Tries to locks a specific partition in the database for exclusive access by the caller. More...
|
| |
| int | mdbm_lock_shared (MDBM *db) |
| | Locks the database for shared access by readers, excluding access to writers. More...
|
| |
| int | mdbm_trylock_shared (MDBM *db) |
| | Locks the database for shared access by readers, excluding access to writers. More...
|
| |
| int | mdbm_lock_smart (MDBM *db, const datum *key, int flags) |
| | Perform either partition, shared or exclusive locking based on the locking-related flags supplied to mdbm_open. More...
|
| |
| int | mdbm_trylock_smart (MDBM *db, const datum *key, int flags) |
| | Attempts to lock an MDBM based on the locking flags supplied to mdbm_open. More...
|
| |
| int | mdbm_unlock_smart (MDBM *db, const datum *key, int flags) |
| | Unlock an MDBM based on the locking flags supplied to mdbm_open. More...
|
| |
| int | mdbm_lock_reset (const char *dbfilename, int flags) |
| | Resets the global lock ownership state of a database. More...
|
| |
| int | mdbm_delete_lockfiles (const char *dbname) |
| | Removes all lockfiles associated with an MDBM file. More...
|
| |
| void | mdbm_compress_tree (MDBM *db) |
| | Compresses the existing MDBM directory. More...
|
| |
| void | mdbm_truncate (MDBM *db) |
| | Truncates the MDBM to single empty page. More...
|
| |
| void | mdbm_prune (MDBM *db, int(*prune)(MDBM *, datum, datum, void *), void *param) |
| | Prunes an MDBM. More...
|
| |
| void | mdbm_purge (MDBM *db) |
| | Purges (removes) all entries from an MDBM. More...
|
| |
| int | mdbm_set_cleanfunc (MDBM *db, mdbm_clean_func func, void *data) |
| | The specified cleaner function will be called by mdbm_clean. More...
|
| |
| int | mdbm_clean (MDBM *db, int pagenum, int flags) |
| | Mark entries clean/re-usable in the database for the specified page. More...
|
| |
| int | mdbm_check (MDBM *db, int level, int verbose) |
| | Checks an MDBM's integrity, and displays information on standard output. More...
|
| |
| void | mdbm_chk_error (MDBM *db, int pagenum, int mapped_pagenum, int index) |
| | Checks integrity of an entry on a page. More...
|
| |
| int | mdbm_chk_page (MDBM *db, int pagenum) |
| | Checks the specified page for errors. More...
|
| |
| int | mdbm_chk_all_page (MDBM *db) |
| | Checks the database for errors. More...
|
| |
| int | mdbm_protect (MDBM *db, int protect) |
| | Sets all database pages to protect permission. More...
|
| |
| void | mdbm_dump_all_page (MDBM *db) |
| | Dumps information for all pages, in version-specific format, to standard output. More...
|
| |
| void | mdbm_dump_page (MDBM *db, int pno) |
| | Dumps specified page's information, in version-specific format, to standard output. More...
|
| |
| int | mdbm_get_stat_counter (MDBM *db, mdbm_stat_type type, mdbm_counter_t *value) |
| | Gets the number of operations performed for a stat type. More...
|
| |
| int | mdbm_get_stat_time (MDBM *db, mdbm_stat_type type, time_t *value) |
| | Gets the last time when an type operation was performed. More...
|
| |
| void | mdbm_reset_stat_operations (MDBM *db) |
| | Resets the stat counter and last-time performed for fetch, store, and remove operations. More...
|
| |
| int | mdbm_enable_stat_operations (MDBM *db, int flags) |
| | Enables and disables gathering of stat counters and/or last-time performed for fetch, store, and remove operations. More...
|
| |
| int | mdbm_set_stat_time_func (MDBM *db, int flags) |
| | Tells the MDBM library whether to use TSC (CPU TimeStamp Counters) for timing the performance of fetch, store and delete operations. More...
|
| |
| const char * | mdbm_get_stat_name (int tag) |
| | Gets the name of a stat. More...
|
| |
| int | mdbm_set_stats_func (MDBM *db, int flags, mdbm_stat_cb cb, void *user) |
| | Sets the callback function for a stat. More...
|
| |
| void | mdbm_stat_all_page (MDBM *db) |
| | Prints to stdout various pieces of information, specifically: Total mapped db size, Total number of entries, ADDRESS SPACE page efficiency, ADDRESS SPACE byte efficiency, PHYSICAL MEM/DISK SPACE efficiency, Average bytes per record, Maximum B-tree level, Minimum B-tree level, Minimum free bytes on page, Minimum free bytes on page post compress. More...
|
| |
| int | mdbm_get_stats (MDBM *db, mdbm_stats_t *s, size_t stats_size) |
| | Gets a a stats block with individual stat values. More...
|
| |
| int | mdbm_get_db_info (MDBM *db, mdbm_db_info_t *info) |
| | Gets configuration information about a database. More...
|
| |
| int | mdbm_chunk_iterate (MDBM *db, mdbm_chunk_iterate_func_t func, int flags, void *user) |
| | Iterates over all pages (starting at page 0). More...
|
| |
| int | mdbm_get_db_stats (MDBM *db, mdbm_db_info_t *info, mdbm_stat_info_t *stats, int flags) |
| | Gets overall database stats. More...
|
| |
| int | mdbm_get_window_stats (MDBM *db, mdbm_window_stats_t *stats, size_t s_size) |
| | Used to retrieve statistics about windowing usage on the associated database. More...
|
| |
| uint64_t | mdbm_count_records (MDBM *db) |
| | Counts the number of records in an MDBM. More...
|
| |
| mdbm_ubig_t | mdbm_count_pages (MDBM *db) |
| | Counts the number of pages used by an MDBM. More...
|
| |
| int | mdbm_set_cachemode (MDBM *db, int cachemode) |
| | Manage the database as a cache. More...
|
| |
| int | mdbm_get_cachemode (MDBM *db) |
| | Returns the current cache style of the database. More...
|
| |
| const char * | mdbm_get_cachemode_name (int cachemode) |
| | Returns the cache mode as a string. More...
|
| |
| int | mdbm_set_backingstore (MDBM *cachedb, const mdbm_bsops_t *bsops, void *opt, int flags) |
| | The backing-store support controls the in-memory cache as a read-through, write-through cache. More...
|
| |
| int | mdbm_cdbdump_to_file (kvpair kv, FILE *fp) |
| | Export API: Use cdb_dump format to write a key/value pair to file opened with fopen. More...
|
| |
| int | mdbm_cdbdump_trailer_and_close (FILE *fp) |
| | Export API: Finalize and close a file written in cdb_dump format and opened with fopen. More...
|
| |
| int | mdbm_cdbdump_add_record (kvpair kv, uint32_t *datasize, char **bufptr, uint32_t *bufsize, uint32_t buf_offset) |
| | Export API: Use cdb_dump format to write a key/value pair to a malloc'd buffer. More...
|
| |
| int | mdbm_dbdump_to_file (kvpair kv, FILE *fp) |
| | Export API: Use db_dump format to write a key/value pair to a file opened with fopen. More...
|
| |
| int | mdbm_dbdump_trailer_and_close (FILE *fp) |
| | Export API: Finalize and close a file written in db_dump format and opened with fopen. More...
|
| |
| int | mdbm_dbdump_add_record (kvpair kv, uint32_t *datasize, char **bufptr, uint32_t *bufsize, uint32_t buf_offset) |
| | Export API: Use db_dump format to write a key/value pair to a malloc'd buffer. More...
|
| |
| int | mdbm_dbdump_export_header (MDBM *db, FILE *fp) |
| | Export API: Write the DBdump header to FILE. More...
|
| |
| int | mdbm_dbdump_import_header (FILE *fp, int *pgsize, int *pgcount, int *large, uint32_t *lineno) |
| | Import API: Read the DBdump header from FILE Function will set, if available at the beginning of the file pointed to by "fp", the following parameter values: More...
|
| |
| int | mdbm_dbdump_import (MDBM *db, FILE *fp, const char *input_file, int store_flag, uint32_t *lineno) |
| | Import API: Read data from FILE into MDBM, using DBdump format. More...
|
| |
| int | mdbm_cdbdump_import (MDBM *db, FILE *fp, const char *input_file, int store_flag) |
| | Import API: Read data from FILE into MDBM, using Cdb format. More...
|
| |
| int | mdbm_get_errno (MDBM *db) |
| | Returns the value of internally saved errno. More...
|
| |
| int | mdbm_get_hash_value (datum key, int hashFunctionCode, uint32_t *hashValue) |
| | Given a hash function code, get the hash value for the given key. More...
|
| |
| mdbm_ubig_t | mdbm_get_page (MDBM *db, const datum *key) |
| | Gets the MDBM page number for a given key. More...
|
| |
| int | mdbm_preload (MDBM *db) |
| | Preload mdbm: Read every 4k bytes to force all pages into memory. More...
|
| |
| int | mdbm_lock_pages (MDBM *db) |
| | mdbm_lock_pages: Locks MDBM data pages into memory. More...
|
| |
| int | mdbm_unlock_pages (MDBM *db) |
| | mdbm_unlock_pages: Releases MDBM data pages from always staying in memory More...
|
| |
| void | mdbm_lock_dump (MDBM *db) |
| |
| typedef | mdbm_ubig_t ((*mdbm_hash_t)(const uint8_t *buf, int len)) |
| |
| mdbm_ubig_t | mdbm_hash (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash0 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash1 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash2 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash3 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash4 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash5 (unsigned char *, int) |
| |
| mdbm_ubig_t | mdbm_hash6 (unsigned char *, int) |
| |