summaryrefslogtreecommitdiff
path: root/build_wince/db.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /build_wince/db.h
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-780b92ada9afcf1d58085a83a0b9e6bc982203d1.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'build_wince/db.h')
-rw-r--r--build_wince/db.h370
1 files changed, 243 insertions, 127 deletions
diff --git a/build_wince/db.h b/build_wince/db.h
index 3b9a43a5..a5d36355 100644
--- a/build_wince/db.h
+++ b/build_wince/db.h
@@ -2,7 +2,7 @@
/*
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*
@@ -57,13 +57,13 @@ extern "C" {
/*
* Berkeley DB version information.
*/
-#define DB_VERSION_FAMILY 11
-#define DB_VERSION_RELEASE 2
-#define DB_VERSION_MAJOR 5
-#define DB_VERSION_MINOR 3
-#define DB_VERSION_PATCH 21
-#define DB_VERSION_STRING "Berkeley DB 5.3.21: (May 11, 2012)"
-#define DB_VERSION_FULL_STRING "Berkeley DB 11g Release 2, library version 11.2.5.3.21: (May 11, 2012)"
+#define DB_VERSION_FAMILY 12
+#define DB_VERSION_RELEASE 1
+#define DB_VERSION_MAJOR 6
+#define DB_VERSION_MINOR 1
+#define DB_VERSION_PATCH 23
+#define DB_VERSION_STRING "Berkeley DB 6.1.23: (February 17, 2015)"
+#define DB_VERSION_FULL_STRING "Berkeley DB 12c Release 1, library version 12.1.6.1.23: (February 17, 2015)"
/*
* !!!
@@ -131,6 +131,7 @@ typedef u_int32_t uintptr_t;
*/
#define off_t __db_off_t
typedef int64_t off_t;
+typedef int64_t db_off_t;
typedef int32_t pid_t;
#ifdef HAVE_MIXED_SIZE_ADDRESSING
typedef u_int32_t db_size_t;
@@ -162,9 +163,9 @@ typedef u_int16_t db_indx_t; /* Page offset type. */
#define DB_MAX_PAGES 0xffffffff /* >= # of pages in a file */
typedef u_int32_t db_recno_t; /* Record number type. */
-#define DB_MAX_RECORDS 0xffffffff /* >= # of records in a tree */
+#define DB_MAX_RECORDS 0xffffffff /* >= # of records in a recno tree. */
-typedef u_int32_t db_timeout_t; /* Type of a timeout. */
+typedef u_int32_t db_timeout_t; /* Type of a timeout in microseconds. */
/*
* Region offsets are the difference between a pointer in a region and the
@@ -188,6 +189,10 @@ struct __db_compact; typedef struct __db_compact DB_COMPACT;
struct __db_dbt; typedef struct __db_dbt DBT;
struct __db_distab; typedef struct __db_distab DB_DISTAB;
struct __db_env; typedef struct __db_env DB_ENV;
+struct __db_event_mutex_died_info;
+ typedef struct __db_event_mutex_died_info DB_EVENT_MUTEX_DIED_INFO;
+struct __db_event_failchk_info;
+ typedef struct __db_event_failchk_info DB_EVENT_FAILCHK_INFO;
struct __db_h_stat; typedef struct __db_h_stat DB_HASH_STAT;
struct __db_heap_rid; typedef struct __db_heap_rid DB_HEAP_RID;
struct __db_heap_stat; typedef struct __db_heap_stat DB_HEAP_STAT;
@@ -220,6 +225,7 @@ struct __db_repmgr_site;typedef struct __db_repmgr_site DB_REPMGR_SITE;
struct __db_repmgr_stat;typedef struct __db_repmgr_stat DB_REPMGR_STAT;
struct __db_seq_record; typedef struct __db_seq_record DB_SEQ_RECORD;
struct __db_seq_stat; typedef struct __db_seq_stat DB_SEQUENCE_STAT;
+struct __db_stream; typedef struct __db_stream DB_STREAM;
struct __db_site; typedef struct __db_site DB_SITE;
struct __db_sequence; typedef struct __db_sequence DB_SEQUENCE;
struct __db_thread_info;typedef struct __db_thread_info DB_THREAD_INFO;
@@ -257,18 +263,20 @@ struct __db_dbt {
void *app_data;
-#define DB_DBT_APPMALLOC 0x001 /* Callback allocated memory. */
-#define DB_DBT_BULK 0x002 /* Internal: Insert if duplicate. */
-#define DB_DBT_DUPOK 0x004 /* Internal: Insert if duplicate. */
-#define DB_DBT_ISSET 0x008 /* Lower level calls set value. */
-#define DB_DBT_MALLOC 0x010 /* Return in malloc'd memory. */
-#define DB_DBT_MULTIPLE 0x020 /* References multiple records. */
-#define DB_DBT_PARTIAL 0x040 /* Partial put/get. */
-#define DB_DBT_REALLOC 0x080 /* Return in realloc'd memory. */
-#define DB_DBT_READONLY 0x100 /* Readonly, don't update. */
-#define DB_DBT_STREAMING 0x200 /* Internal: DBT is being streamed. */
-#define DB_DBT_USERCOPY 0x400 /* Use the user-supplied callback. */
-#define DB_DBT_USERMEM 0x800 /* Return in user's memory. */
+#define DB_DBT_APPMALLOC 0x0001 /* Callback allocated memory. */
+#define DB_DBT_BULK 0x0002 /* Internal: Insert if duplicate. */
+#define DB_DBT_DUPOK 0x0004 /* Internal: Insert if duplicate. */
+#define DB_DBT_ISSET 0x0008 /* Lower level calls set value. */
+#define DB_DBT_MALLOC 0x0010 /* Return in malloc'd memory. */
+#define DB_DBT_MULTIPLE 0x0020 /* References multiple records. */
+#define DB_DBT_PARTIAL 0x0040 /* Partial put/get. */
+#define DB_DBT_REALLOC 0x0080 /* Return in realloc'd memory. */
+#define DB_DBT_READONLY 0x0100 /* Readonly, don't update. */
+#define DB_DBT_STREAMING 0x0200 /* Internal: DBT is being streamed. */
+#define DB_DBT_USERCOPY 0x0400 /* Use the user-supplied callback. */
+#define DB_DBT_USERMEM 0x0800 /* Return in user's memory. */
+#define DB_DBT_BLOB 0x1000 /* Data item is a blob. */
+#define DB_DBT_BLOB_REC 0x2000 /* Internal: Blob database record. */
u_int32_t flags;
};
@@ -305,6 +313,23 @@ struct __db_mutex_stat { /* SHARED */
#endif
};
+/* Buffers passed to __mutex_describe() must be at least this large. */
+#define DB_MUTEX_DESCRIBE_STRLEN 128
+
+/* This is the info of a DB_EVENT_MUTEX_DIED event notification. */
+struct __db_event_mutex_died_info {
+ pid_t pid; /* Process which last owned the mutex */
+ db_threadid_t tid; /* Thread which last owned the mutex */
+ db_mutex_t mutex; /* ID of the mutex */
+ char desc[DB_MUTEX_DESCRIBE_STRLEN];
+};
+
+/* This is the info of a DB_EVENT_FAILCHK event notification. */
+#define DB_FAILURE_SYMPTOM_SIZE 120
+struct __db_event_failchk_info {
+ int error;
+ char symptom[DB_FAILURE_SYMPTOM_SIZE];
+};
/* This is the length of the buffer passed to DB_ENV->thread_id_string() */
#define DB_THREADID_STRLEN 128
@@ -431,6 +456,8 @@ struct __db_lock_stat { /* SHARED */
uintmax_t st_lockers_nowait; /* Locker lock granted without wait. */
uintmax_t st_region_wait; /* Region lock granted after wait. */
uintmax_t st_region_nowait; /* Region lock granted without wait. */
+ uintmax_t st_nlockers_hit; /* Lockers found in thread info. */
+ uintmax_t st_nlockers_reused; /* Lockers reallocated from thread info. */
u_int32_t st_hash_len; /* Max length of bucket. */
roff_t st_regsize; /* Region size. */
#endif
@@ -500,7 +527,7 @@ struct __db_lockreq {
/*******************************************************
* Logging.
*******************************************************/
-#define DB_LOGVERSION 19 /* Current log version. */
+#define DB_LOGVERSION 22 /* Current log version. */
#define DB_LOGVERSION_LATCHING 15 /* Log version using latching: db-4.8 */
#define DB_LOGCHKSUM 12 /* Check sum headers: db-4.5 */
#define DB_LOGOLDVER 8 /* Oldest version supported: db-4.2 */
@@ -626,7 +653,8 @@ typedef enum {
LOGREC_PGDDBT,
LOGREC_PGLIST,
LOGREC_POINTER,
- LOGREC_TIME
+ LOGREC_TIME,
+ LOGREC_LONGARG
} log_rec_type_t;
typedef const struct __log_rec_spec {
@@ -786,6 +814,7 @@ struct __db_mpool_stat { /* SHARED */
uintmax_t st_mvcc_frozen; /* Buffers frozen. */
uintmax_t st_mvcc_thawed; /* Buffers thawed. */
uintmax_t st_mvcc_freed; /* Frozen buffers freed. */
+ uintmax_t st_mvcc_reused; /* Outdated invisible buffers reused. */
uintmax_t st_alloc; /* Number of page allocations. */
uintmax_t st_alloc_buckets; /* Buckets checked during allocation. */
uintmax_t st_alloc_max_buckets;/* Max checked during allocation. */
@@ -793,6 +822,8 @@ struct __db_mpool_stat { /* SHARED */
uintmax_t st_alloc_max_pages; /* Max checked during allocation. */
uintmax_t st_io_wait; /* Thread waited on buffer I/O. */
uintmax_t st_sync_interrupted; /* Number of times sync interrupted. */
+ u_int32_t st_oddfsize_detect; /* Odd file size detected. */
+ u_int32_t st_oddfsize_resolve; /* Odd file size resolved. */
roff_t st_regsize; /* Region size. */
roff_t st_regmax; /* Region max. */
#endif
@@ -987,7 +1018,7 @@ struct __db_txn {
#define TXN_SNAPSHOT 0x08000 /* Snapshot Isolation. */
#define TXN_SYNC 0x10000 /* Write and sync on prepare/commit. */
#define TXN_WRITE_NOSYNC 0x20000 /* Write only on prepare/commit. */
-#define TXN_BULK 0x40000 /* Enable bulk loading optimization. */
+#define TXN_BULK 0x40000 /* Enable bulk loading optimization. */
u_int32_t flags;
};
@@ -1096,30 +1127,34 @@ struct __db_txn_token {
/*
* Event notification types. (Tcl testing interface currently assumes there are
- * no more than 32 of these.)
+ * no more than 32 of these.). Comments include any relevant event_info types.
*/
#define DB_EVENT_PANIC 0
-#define DB_EVENT_REG_ALIVE 1
-#define DB_EVENT_REG_PANIC 2
-#define DB_EVENT_REP_CLIENT 3
-#define DB_EVENT_REP_CONNECT_BROKEN 4
-#define DB_EVENT_REP_CONNECT_ESTD 5
-#define DB_EVENT_REP_CONNECT_TRY_FAILED 6
-#define DB_EVENT_REP_DUPMASTER 7
-#define DB_EVENT_REP_ELECTED 8
-#define DB_EVENT_REP_ELECTION_FAILED 9
-#define DB_EVENT_REP_INIT_DONE 10
-#define DB_EVENT_REP_JOIN_FAILURE 11
-#define DB_EVENT_REP_LOCAL_SITE_REMOVED 12
-#define DB_EVENT_REP_MASTER 13
-#define DB_EVENT_REP_MASTER_FAILURE 14
-#define DB_EVENT_REP_NEWMASTER 15
-#define DB_EVENT_REP_PERM_FAILED 16
-#define DB_EVENT_REP_SITE_ADDED 17
-#define DB_EVENT_REP_SITE_REMOVED 18
-#define DB_EVENT_REP_STARTUPDONE 19
-#define DB_EVENT_REP_WOULD_ROLLBACK 20 /* Undocumented; C API only. */
-#define DB_EVENT_WRITE_FAILED 21
+#define DB_EVENT_REG_ALIVE 1 /* int: pid which was in env */
+#define DB_EVENT_REG_PANIC 2 /* int: error causing the panic. */
+#define DB_EVENT_REP_AUTOTAKEOVER_FAILED 3
+#define DB_EVENT_REP_CLIENT 4
+#define DB_EVENT_REP_CONNECT_BROKEN 5 /* DB_REPMGR_CONN_ERR */
+#define DB_EVENT_REP_CONNECT_ESTD 6 /* int: EID of remote site */
+#define DB_EVENT_REP_CONNECT_TRY_FAILED 7 /* DB_REPMGR_CONN_ERR */
+#define DB_EVENT_REP_DUPMASTER 8
+#define DB_EVENT_REP_ELECTED 9
+#define DB_EVENT_REP_ELECTION_FAILED 10
+#define DB_EVENT_REP_INIT_DONE 11
+#define DB_EVENT_REP_INQUEUE_FULL 12
+#define DB_EVENT_REP_JOIN_FAILURE 13
+#define DB_EVENT_REP_LOCAL_SITE_REMOVED 14
+#define DB_EVENT_REP_MASTER 15
+#define DB_EVENT_REP_MASTER_FAILURE 16
+#define DB_EVENT_REP_NEWMASTER 17 /* int: new master's site id */
+#define DB_EVENT_REP_PERM_FAILED 18
+#define DB_EVENT_REP_SITE_ADDED 19 /* int: eid */
+#define DB_EVENT_REP_SITE_REMOVED 20 /* int: eid */
+#define DB_EVENT_REP_STARTUPDONE 21
+#define DB_EVENT_REP_WOULD_ROLLBACK 22 /* Undocumented; C API only. */
+#define DB_EVENT_WRITE_FAILED 23
+#define DB_EVENT_MUTEX_DIED 24 /* DB_EVENT_MUTEX_DIED_INFO */
+#define DB_EVENT_FAILCHK_PANIC 25 /* DB_EVENT_FAILCHK_INFO */
#define DB_EVENT_NO_SUCH_EVENT 0xffffffff /* OOB sentinel value */
/* Replication Manager site status. */
@@ -1133,6 +1168,7 @@ struct __db_repmgr_site {
u_int32_t status;
#define DB_REPMGR_ISPEER 0x01
+#define DB_REPMGR_ISVIEW 0x02
u_int32_t flags;
};
@@ -1148,6 +1184,7 @@ struct __db_rep_stat { /* SHARED */
* circumstances, garbaged).
*/
u_int32_t st_startup_complete; /* Site completed client sync-up. */
+ u_int32_t st_view; /* Site is a view. */
#ifndef __TEST_DB_NO_STATISTICS
uintmax_t st_log_queued; /* Log records currently queued.+ */
u_int32_t st_status; /* Current replication status. */
@@ -1225,6 +1262,7 @@ struct __db_rep_stat { /* SHARED */
/* Undocumented statistics only used by the test system. */
#ifdef CONFIG_TEST
u_int32_t st_filefail_cleanups; /* # of FILE_FAIL cleanups done. */
+ uintmax_t st_log_futuredup; /* Future log records that are dups. */
#endif
#endif
};
@@ -1235,10 +1273,18 @@ struct __db_repmgr_stat { /* SHARED */
uintmax_t st_msgs_queued; /* # msgs queued for network delay. */
uintmax_t st_msgs_dropped; /* # msgs discarded due to excessive
queue length. */
+ u_int32_t st_incoming_queue_gbytes; /* Incoming queue size: GB. */
+ u_int32_t st_incoming_queue_bytes; /* Incoming queue size: B. */
+ uintmax_t st_incoming_msgs_dropped; /* # of msgs discarded due to
+ incoming queue full. */
uintmax_t st_connection_drop; /* Existing connections dropped. */
uintmax_t st_connect_fail; /* Failed new connection attempts. */
- uintmax_t st_elect_threads; /* # of active election threads. */
- uintmax_t st_max_elect_threads; /* Max concurrent e-threads ever. */
+ u_int32_t st_elect_threads; /* # of active election threads. */
+ u_int32_t st_max_elect_threads; /* Max concurrent e-threads ever. */
+ u_int32_t st_site_participants; /* # of repgroup participant sites. */
+ u_int32_t st_site_total; /* # of repgroup total sites. */
+ u_int32_t st_site_views; /* # of repgroup view sites. */
+ uintmax_t st_takeovers; /* # of automatic listener takeovers. */
};
/* Replication Manager connection error. */
@@ -1269,7 +1315,7 @@ struct __db_sequence {
db_mutex_t mtx_seq; /* Mutex if sequence is threaded. */
DB_SEQ_RECORD *seq_rp; /* Pointer to current data. */
DB_SEQ_RECORD seq_record; /* Data from DB_SEQUENCE. */
- int32_t seq_cache_size; /* Number of values cached. */
+ u_int32_t seq_cache_size; /* Number of values cached. */
db_seq_t seq_last_value; /* Last value cached. */
db_seq_t seq_prev_value; /* Last value returned. */
DBT seq_key; /* DBT pointing to sequence key. */
@@ -1281,8 +1327,8 @@ struct __db_sequence {
/* DB_SEQUENCE PUBLIC HANDLE LIST BEGIN */
int (*close) __P((DB_SEQUENCE *, u_int32_t));
int (*get) __P((DB_SEQUENCE *,
- DB_TXN *, int32_t, db_seq_t *, u_int32_t));
- int (*get_cachesize) __P((DB_SEQUENCE *, int32_t *));
+ DB_TXN *, u_int32_t, db_seq_t *, u_int32_t));
+ int (*get_cachesize) __P((DB_SEQUENCE *, u_int32_t *));
int (*get_db) __P((DB_SEQUENCE *, DB **));
int (*get_flags) __P((DB_SEQUENCE *, u_int32_t *));
int (*get_key) __P((DB_SEQUENCE *, DBT *));
@@ -1292,7 +1338,7 @@ struct __db_sequence {
int (*open) __P((DB_SEQUENCE *,
DB_TXN *, DBT *, u_int32_t));
int (*remove) __P((DB_SEQUENCE *, DB_TXN *, u_int32_t));
- int (*set_cachesize) __P((DB_SEQUENCE *, int32_t));
+ int (*set_cachesize) __P((DB_SEQUENCE *, u_int32_t));
int (*set_flags) __P((DB_SEQUENCE *, u_int32_t));
int (*set_range) __P((DB_SEQUENCE *, db_seq_t, db_seq_t));
int (*stat) __P((DB_SEQUENCE *,
@@ -1309,7 +1355,7 @@ struct __db_seq_stat { /* SHARED */
db_seq_t st_last_value; /* Last cached value. */
db_seq_t st_min; /* Minimum value. */
db_seq_t st_max; /* Maximum value. */
- int32_t st_cache_size; /* Cache size. */
+ u_int32_t st_cache_size; /* Cache size. */
u_int32_t st_flags; /* Flag value. */
};
@@ -1331,15 +1377,15 @@ typedef enum {
#define DB_RENAMEMAGIC 0x030800 /* File has been renamed. */
-#define DB_BTREEVERSION 9 /* Current btree version. */
+#define DB_BTREEVERSION 10 /* Current btree version. */
#define DB_BTREEOLDVER 8 /* Oldest btree version supported. */
#define DB_BTREEMAGIC 0x053162
-#define DB_HASHVERSION 9 /* Current hash version. */
+#define DB_HASHVERSION 10 /* Current hash version. */
#define DB_HASHOLDVER 7 /* Oldest hash version supported. */
#define DB_HASHMAGIC 0x061561
-#define DB_HEAPVERSION 1 /* Current heap version. */
+#define DB_HEAPVERSION 2 /* Current heap version. */
#define DB_HEAPOLDVER 1 /* Oldest heap version supported. */
#define DB_HEAPMAGIC 0x074582
@@ -1408,6 +1454,7 @@ typedef enum {
#define DB_LOCK_NOTGRANTED (-30992)/* Lock unavailable. */
#define DB_LOG_BUFFER_FULL (-30991)/* In-memory log buffer full. */
#define DB_LOG_VERIFY_BAD (-30990)/* Log verification failed. */
+#define DB_META_CHKSUM_FAIL (-30968)/* Metadata page checksum failed. */
#define DB_NOSERVER (-30989)/* Server panic return. */
#define DB_NOTFOUND (-30988)/* Key/data pair not found (EOF). */
#define DB_OLD_VERSION (-30987)/* Out-of-date version. */
@@ -1436,6 +1483,8 @@ typedef enum {
#define DB_DELETED (-30897)/* Recovery file marked deleted. */
#define DB_EVENT_NOT_HANDLED (-30896)/* Forward event to application. */
#define DB_NEEDSPLIT (-30895)/* Page needs to be split. */
+#define DB_NOINTMP (-30886)/* Sequences not supported in temporary
+ or in-memory databases. */
#define DB_REP_BULKOVF (-30894)/* Rep bulk buffer overflow. */
#define DB_REP_LOGREADY (-30893)/* Rep log ready for recovery. */
#define DB_REP_NEWMASTER (-30892)/* We have learned of a new master. */
@@ -1446,6 +1495,13 @@ typedef enum {
#define DB_TXN_CKP (-30888)/* Encountered ckp record in log. */
#define DB_VERIFY_FATAL (-30887)/* DB->verify cannot proceed. */
+/*
+ * This exit status indicates that a BDB utility failed because it needed a
+ * resource which had been held by a process which crashed or otherwise did
+ * not exit cleanly.
+ */
+#define DB_EXIT_FAILCHK 3
+
/* Database handle. */
struct __db {
/*******************************************************
@@ -1457,7 +1513,7 @@ struct __db {
/* Callbacks. */
int (*db_append_recno) __P((DB *, DBT *, db_recno_t));
void (*db_feedback) __P((DB *, int, int));
- int (*dup_compare) __P((DB *, const DBT *, const DBT *));
+ int (*dup_compare) __P((DB *, const DBT *, const DBT *, size_t *));
void *app_private; /* Application-private handle. */
@@ -1481,6 +1537,8 @@ struct __db {
u_int32_t adj_fileid; /* File's unique ID for curs. adj. */
+ u_int32_t blob_threshold; /* Blob threshold record size. */
+
#define DB_LOGFILEID_INVALID -1
FNAME *log_filename; /* File's naming info for logging. */
@@ -1624,6 +1682,12 @@ struct __db {
/* Reference to foreign -- set in the secondary. */
DB *s_foreign;
+ DB *blob_meta_db; /* Databases holding blob metadata. */
+ DB_SEQUENCE *blob_seq; /* Sequence of blob ids. */
+ char *blob_sub_dir; /* Subdirectory for blob files */
+ db_seq_t blob_file_id; /* Id of the file blob directory. */
+ db_seq_t blob_sdb_id; /* Id of the subdb blob directory. */
+
/* API-private structure: used by DB 1.85, C++, Java, Perl and Tcl */
void *api_internal;
@@ -1654,8 +1718,11 @@ struct __db {
void *(**)(void *, size_t), void (**)(void *)));
int (*get_append_recno) __P((DB *, int (**)(DB *, DBT *, db_recno_t)));
int (*get_assoc_flags) __P((DB *, u_int32_t *));
+ int (*get_blob_dir) __P((DB *, const char **));
+ int (*get_blob_sub_dir) __P((DB *, const char **));
+ int (*get_blob_threshold) __P((DB *, u_int32_t *));
int (*get_bt_compare)
- __P((DB *, int (**)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (**)(DB *, const DBT *, const DBT *, size_t *)));
int (*get_bt_compress) __P((DB *,
int (**)(DB *,
const DBT *, const DBT *, const DBT *, const DBT *, DBT *),
@@ -1668,7 +1735,7 @@ struct __db {
int (*get_create_dir) __P((DB *, const char **));
int (*get_dbname) __P((DB *, const char **, const char **));
int (*get_dup_compare)
- __P((DB *, int (**)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (**)(DB *, const DBT *, const DBT *, size_t *)));
int (*get_encrypt_flags) __P((DB *, u_int32_t *));
DB_ENV *(*get_env) __P((DB *));
void (*get_errcall) __P((DB *,
@@ -1678,7 +1745,7 @@ struct __db {
int (*get_feedback) __P((DB *, void (**)(DB *, int, int)));
int (*get_flags) __P((DB *, u_int32_t *));
int (*get_h_compare)
- __P((DB *, int (**)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (**)(DB *, const DBT *, const DBT *, size_t *)));
int (*get_h_ffactor) __P((DB *, u_int32_t *));
int (*get_h_hash)
__P((DB *, u_int32_t (**)(DB *, const void *, u_int32_t)));
@@ -1719,8 +1786,10 @@ struct __db {
int (*set_alloc) __P((DB *, void *(*)(size_t),
void *(*)(void *, size_t), void (*)(void *)));
int (*set_append_recno) __P((DB *, int (*)(DB *, DBT *, db_recno_t)));
+ int (*set_blob_dir) __P((DB *, const char *));
+ int (*set_blob_threshold) __P((DB *, u_int32_t, u_int32_t));
int (*set_bt_compare)
- __P((DB *, int (*)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (*)(DB *, const DBT *, const DBT *, size_t *)));
int (*set_bt_compress) __P((DB *,
int (*)(DB *, const DBT *, const DBT *, const DBT *, const DBT *, DBT *),
int (*)(DB *, const DBT *, const DBT *, DBT *, DBT *, DBT *)));
@@ -1730,7 +1799,7 @@ struct __db {
int (*set_cachesize) __P((DB *, u_int32_t, u_int32_t, int));
int (*set_create_dir) __P((DB *, const char *));
int (*set_dup_compare)
- __P((DB *, int (*)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (*)(DB *, const DBT *, const DBT *, size_t *)));
int (*set_encrypt) __P((DB *, const char *, u_int32_t));
void (*set_errcall) __P((DB *,
void (*)(const DB_ENV *, const char *, const char *)));
@@ -1739,7 +1808,7 @@ struct __db {
int (*set_feedback) __P((DB *, void (*)(DB *, int, int)));
int (*set_flags) __P((DB *, u_int32_t));
int (*set_h_compare)
- __P((DB *, int (*)(DB *, const DBT *, const DBT *)));
+ __P((DB *, int (*)(DB *, const DBT *, const DBT *, size_t *)));
int (*set_h_ffactor) __P((DB *, u_int32_t));
int (*set_h_hash)
__P((DB *, u_int32_t (*)(DB *, const void *, u_int32_t)));
@@ -1839,13 +1908,34 @@ struct __db {
u_int32_t orig_flags; /* Flags at open, for refresh */
u_int32_t flags;
-#define DB2_AM_EXCL 0x00000001 /* Exclusively lock the handle */
-#define DB2_AM_INTEXCL 0x00000002 /* Internal exclusive lock. */
-#define DB2_AM_NOWAIT 0x00000004 /* Do not wait for handle lock */
- u_int32_t orig_flags2; /* Second flags word; for refresh */
+#define DB2_AM_EXCL 0x00000001 /* Exclusively lock the handle */
+#define DB2_AM_INTEXCL 0x00000002 /* Internal exclusive lock. */
+#define DB2_AM_NOWAIT 0x00000004 /* Do not wait for handle lock */
u_int32_t flags2; /* Second flags word */
};
+/*
+ * Stream interface for blob files.
+ */
+struct __db_stream {
+ DBC *dbc; /* Cursor pointing to the db blob record. */
+ DB_FH *fhp;
+
+ /* DB_STREAM PUBLIC HANDLE LIST BEGIN */
+ int (*close) __P((DB_STREAM *, u_int32_t));
+ int (*read) __P((DB_STREAM *, DBT *, db_off_t, u_int32_t, u_int32_t));
+ int (*size) __P((DB_STREAM *, db_off_t *, u_int32_t));
+ int (*write) __P((DB_STREAM *, DBT *, db_off_t, u_int32_t));
+ /* DB_STREAM PUBLIC HANDLE LIST END */
+
+ u_int32_t flags;
+#define DB_STREAM_READ 0x00000001 /* Stream is read only. */
+#define DB_STREAM_WRITE 0x00000002 /* Stream is writeable. */
+#define DB_STREAM_SYNC_WRITE 0x00000004 /* Sync file on each write. */
+ db_seq_t blob_id;
+ db_off_t file_size;
+};
+
/*
* Macros for bulk operations. These are only intended for the C API.
* For C++, use DbMultiple*Iterator or DbMultiple*Builder.
@@ -1920,7 +2010,7 @@ struct __db {
pointer = __p; \
} while (0)
-#define DB_MULTIPLE_WRITE_INIT(pointer, dbt) \
+#define DB_MULTIPLE_WRITE_INIT(pointer, dbt) \
do { \
(dbt)->flags |= DB_DBT_BULK; \
pointer = (u_int8_t *)(dbt)->data + \
@@ -1928,7 +2018,7 @@ struct __db {
*(u_int32_t *)(pointer) = (u_int32_t)-1; \
} while (0)
-#define DB_MULTIPLE_RESERVE_NEXT(pointer, dbt, writedata, writedlen) \
+#define DB_MULTIPLE_RESERVE_NEXT(pointer, dbt, writedata, writedlen) \
do { \
u_int32_t *__p = (u_int32_t *)(pointer); \
u_int32_t __off = ((pointer) == (u_int8_t *)(dbt)->data +\
@@ -1945,7 +2035,7 @@ struct __db {
} \
} while (0)
-#define DB_MULTIPLE_WRITE_NEXT(pointer, dbt, writedata, writedlen) \
+#define DB_MULTIPLE_WRITE_NEXT(pointer, dbt, writedata, writedlen) \
do { \
void *__destd; \
DB_MULTIPLE_RESERVE_NEXT((pointer), (dbt), \
@@ -1956,7 +2046,7 @@ struct __db {
memcpy(__destd, (writedata), (writedlen)); \
} while (0)
-#define DB_MULTIPLE_KEY_RESERVE_NEXT(pointer, dbt, writekey, writeklen, writedata, writedlen) \
+#define DB_MULTIPLE_KEY_RESERVE_NEXT(pointer, dbt, writekey, writeklen, writedata, writedlen) \
do { \
u_int32_t *__p = (u_int32_t *)(pointer); \
u_int32_t __off = ((pointer) == (u_int8_t *)(dbt)->data +\
@@ -1979,7 +2069,7 @@ struct __db {
} \
} while (0)
-#define DB_MULTIPLE_KEY_WRITE_NEXT(pointer, dbt, writekey, writeklen, writedata, writedlen) \
+#define DB_MULTIPLE_KEY_WRITE_NEXT(pointer, dbt, writekey, writeklen, writedata, writedlen) \
do { \
void *__destk, *__destd; \
DB_MULTIPLE_KEY_RESERVE_NEXT((pointer), (dbt), \
@@ -1993,7 +2083,7 @@ struct __db {
} \
} while (0)
-#define DB_MULTIPLE_RECNO_WRITE_INIT(pointer, dbt) \
+#define DB_MULTIPLE_RECNO_WRITE_INIT(pointer, dbt) \
do { \
(dbt)->flags |= DB_DBT_BULK; \
pointer = (u_int8_t *)(dbt)->data + \
@@ -2001,7 +2091,7 @@ struct __db {
*(u_int32_t *)(pointer) = 0; \
} while (0)
-#define DB_MULTIPLE_RECNO_RESERVE_NEXT(pointer, dbt, recno, writedata, writedlen) \
+#define DB_MULTIPLE_RECNO_RESERVE_NEXT(pointer, dbt, recno, writedata, writedlen) \
do { \
u_int32_t *__p = (u_int32_t *)(pointer); \
u_int32_t __off = ((pointer) == (u_int8_t *)(dbt)->data +\
@@ -2019,7 +2109,7 @@ struct __db {
} \
} while (0)
-#define DB_MULTIPLE_RECNO_WRITE_NEXT(pointer, dbt, recno, writedata, writedlen)\
+#define DB_MULTIPLE_RECNO_WRITE_NEXT(pointer, dbt, recno, writedata, writedlen)\
do { \
void *__destd; \
DB_MULTIPLE_RECNO_RESERVE_NEXT((pointer), (dbt), \
@@ -2034,7 +2124,7 @@ struct __db_heap_rid {
db_pgno_t pgno; /* Page number. */
db_indx_t indx; /* Index in the offset table. */
};
-#define DB_HEAP_RID_SZ (sizeof(db_pgno_t) + sizeof(db_indx_t))
+#define DB_HEAP_RID_SZ (sizeof(db_pgno_t) + sizeof(db_indx_t))
/*******************************************************
* Access method cursors.
@@ -2105,6 +2195,7 @@ struct __dbc {
int (*close) __P((DBC *));
int (*cmp) __P((DBC *, DBC *, int *, u_int32_t));
int (*count) __P((DBC *, db_recno_t *, u_int32_t));
+ int (*db_stream) __P((DBC *, DB_STREAM **, u_int32_t));
int (*del) __P((DBC *, u_int32_t));
int (*dup) __P((DBC *, DBC **, u_int32_t));
int (*get) __P((DBC *, DBT *, DBT *, u_int32_t));
@@ -2182,6 +2273,7 @@ struct __db_bt_stat { /* SHARED */
u_int32_t bt_pagecnt; /* Page count. */
u_int32_t bt_pagesize; /* Page size. */
u_int32_t bt_minkey; /* Minkey value. */
+ u_int32_t bt_nblobs; /* Number of blobs. */
u_int32_t bt_re_len; /* Fixed-length record length. */
u_int32_t bt_re_pad; /* Fixed-length record pad. */
u_int32_t bt_levels; /* Tree levels. */
@@ -2210,7 +2302,7 @@ struct __db_compact {
u_int32_t compact_deadlock; /* Number of deadlocks. */
db_pgno_t compact_pages_truncated; /* Pages truncated to OS. */
/* Internal. */
- db_pgno_t compact_truncate; /* Page number for truncation */
+ db_pgno_t compact_truncate; /* Exchange pages above here. */
};
/* Hash statistics structure. */
@@ -2220,6 +2312,7 @@ struct __db_h_stat { /* SHARED */
u_int32_t hash_metaflags; /* Metadata flags. */
u_int32_t hash_nkeys; /* Number of unique keys. */
u_int32_t hash_ndata; /* Number of data items. */
+ u_int32_t hash_nblobs; /* Number of blobs. */
u_int32_t hash_pagecnt; /* Page count. */
u_int32_t hash_pagesize; /* Page size. */
u_int32_t hash_ffactor; /* Fill factor specified at create. */
@@ -2239,6 +2332,7 @@ struct __db_heap_stat { /* SHARED */
u_int32_t heap_magic; /* Magic number. */
u_int32_t heap_version; /* Version number. */
u_int32_t heap_metaflags; /* Metadata flags. */
+ u_int32_t heap_nblobs; /* Number of blobs. */
u_int32_t heap_nrecs; /* Number of records. */
u_int32_t heap_pagecnt; /* Page count. */
u_int32_t heap_pagesize; /* Page size. */
@@ -2298,21 +2392,15 @@ typedef enum {
* Backup configuration types.
*/
typedef enum {
- DB_BACKUP_READ_COUNT = 1,
- DB_BACKUP_READ_SLEEP = 2,
- DB_BACKUP_SIZE = 3,
- DB_BACKUP_WRITE_DIRECT = 4
+ DB_BACKUP_READ_COUNT=1,
+ DB_BACKUP_READ_SLEEP=2,
+ DB_BACKUP_SIZE=3,
+ DB_BACKUP_WRITE_DIRECT=4
} DB_BACKUP_CONFIG;
struct __db_env {
ENV *env; /* Linked ENV structure */
- /*
- * The DB_ENV structure can be used concurrently, so field access is
- * protected.
- */
- db_mutex_t mtx_db_env; /* DB_ENV structure mutex */
-
/* Error message callback */
void (*db_errcall) __P((const DB_ENV *, const char *, const char *));
FILE *db_errfile; /* Error message file stream */
@@ -2335,6 +2423,7 @@ struct __db_env {
char *(*thread_id_string) __P((DB_ENV *, pid_t, db_threadid_t, char *));
/* Application specified paths */
+ char *db_blob_dir; /* Blob file directory */
char *db_log_dir; /* Database log file directory */
char *db_md_dir; /* Persistent metadata directory */
char *db_tmp_dir; /* Database tmp file directory */
@@ -2358,6 +2447,8 @@ struct __db_env {
u_int32_t verbose; /* DB_VERB_XXX flags */
+ u_int32_t blob_threshold; /* Blob threshold record size */
+
/* Mutex configuration */
u_int32_t mutex_align; /* Mutex alignment */
u_int32_t mutex_cnt; /* Number of mutexes to configure */
@@ -2426,6 +2517,11 @@ struct __db_env {
* build settings.
*/
db_timeout_t envreg_timeout; /* DB_REGISTER wait timeout */
+ /*
+ * When failchk broadcasting is active, any wait for a mutex will wake
+ * up this frequently in order to check whether the mutex has died.
+ */
+ db_timeout_t mutex_failchk_timeout;
#define DB_ENV_AUTO_COMMIT 0x00000001 /* DB_AUTO_COMMIT */
#define DB_ENV_CDB_ALLDB 0x00000002 /* CDB environment wide locking */
@@ -2445,8 +2541,8 @@ struct __db_env {
#define DB_ENV_TXN_SNAPSHOT 0x00008000 /* DB_TXN_SNAPSHOT set */
#define DB_ENV_TXN_WRITE_NOSYNC 0x00010000 /* DB_TXN_WRITE_NOSYNC set */
#define DB_ENV_YIELDCPU 0x00020000 /* DB_YIELDCPU set */
-#define DB_ENV_HOTBACKUP 0x00040000 /* DB_HOTBACKUP_IN_PROGRESS set */
-#define DB_ENV_NOFLUSH 0x00080000 /* DB_NOFLUSH set */
+#define DB_ENV_HOTBACKUP 0x00040000 /* DB_HOTBACKUP_IN_PROGRESS set */
+#define DB_ENV_NOFLUSH 0x00080000 /* DB_NOFLUSH set */
u_int32_t flags;
/* DB_ENV PUBLIC HANDLE LIST BEGIN */
@@ -2467,6 +2563,8 @@ struct __db_env {
void *(**)(void *, size_t), void (**)(void *)));
int (*get_app_dispatch)
__P((DB_ENV *, int (**)(DB_ENV *, DBT *, DB_LSN *, db_recops)));
+ int (*get_blob_dir) __P((DB_ENV *, const char **));
+ int (*get_blob_threshold) __P((DB_ENV*, u_int32_t *));
int (*get_cache_max) __P((DB_ENV *, u_int32_t *, u_int32_t *));
int (*get_cachesize) __P((DB_ENV *, u_int32_t *, u_int32_t *, int *));
int (*get_create_dir) __P((DB_ENV *, const char **));
@@ -2482,8 +2580,8 @@ struct __db_env {
void (**)(const DB_ENV *, const char *, const char *)));
void (*get_errfile) __P((DB_ENV *, FILE **));
void (*get_errpfx) __P((DB_ENV *, const char **));
- int (*get_flags) __P((DB_ENV *, u_int32_t *));
int (*get_feedback) __P((DB_ENV *, void (**)(DB_ENV *, int, int)));
+ int (*get_flags) __P((DB_ENV *, u_int32_t *));
int (*get_home) __P((DB_ENV *, const char **));
int (*get_intermediate_dir_mode) __P((DB_ENV *, const char **));
int (*get_isalive) __P((DB_ENV *,
@@ -2599,17 +2697,23 @@ struct __db_env {
int (*rep_set_timeout) __P((DB_ENV *, int, db_timeout_t));
int (*rep_set_transport) __P((DB_ENV *, int, int (*)(DB_ENV *,
const DBT *, const DBT *, const DB_LSN *, int, u_int32_t)));
+ int (*rep_set_view) __P((DB_ENV *, int (*)(DB_ENV *,
+ const char *, int *, u_int32_t)));
int (*rep_start) __P((DB_ENV *, DBT *, u_int32_t));
int (*rep_stat) __P((DB_ENV *, DB_REP_STAT **, u_int32_t));
int (*rep_stat_print) __P((DB_ENV *, u_int32_t));
int (*rep_sync) __P((DB_ENV *, u_int32_t));
int (*repmgr_channel) __P((DB_ENV *, int, DB_CHANNEL **, u_int32_t));
int (*repmgr_get_ack_policy) __P((DB_ENV *, int *));
+ int (*repmgr_get_incoming_queue_max)
+ __P((DB_ENV *, u_int32_t *, u_int32_t *));
int (*repmgr_local_site) __P((DB_ENV *, DB_SITE **));
int (*repmgr_msg_dispatch) __P((DB_ENV *,
void (*)(DB_ENV *, DB_CHANNEL *, DBT *, u_int32_t, u_int32_t),
u_int32_t));
int (*repmgr_set_ack_policy) __P((DB_ENV *, int));
+ int (*repmgr_set_incoming_queue_max)
+ __P((DB_ENV *, u_int32_t, u_int32_t));
int (*repmgr_site)
__P((DB_ENV *, const char *, u_int, DB_SITE**, u_int32_t));
int (*repmgr_site_by_eid) __P((DB_ENV *, int, DB_SITE**));
@@ -2621,6 +2725,8 @@ struct __db_env {
void *(*)(void *, size_t), void (*)(void *)));
int (*set_app_dispatch)
__P((DB_ENV *, int (*)(DB_ENV *, DBT *, DB_LSN *, db_recops)));
+ int (*set_blob_dir) __P((DB_ENV *, const char *));
+ int (*set_blob_threshold) __P((DB_ENV *, u_int32_t, u_int32_t));
int (*set_cache_max) __P((DB_ENV *, u_int32_t, u_int32_t));
int (*set_cachesize) __P((DB_ENV *, u_int32_t, u_int32_t, int));
int (*set_create_dir) __P((DB_ENV *, const char *));
@@ -2693,8 +2799,8 @@ struct __db_env {
/* DB_ENV PUBLIC HANDLE LIST END */
/* DB_ENV PRIVATE HANDLE LIST BEGIN */
- int (*prdbt) __P((DBT *, int,
- const char *, void *, int (*)(void *, const void *), int, int));
+ int (*prdbt) __P((DBT *, int, const char *, void *,
+ int (*)(void *, const void *), int, int, int));
/* DB_ENV PRIVATE HANDLE LIST END */
};
@@ -2880,6 +2986,7 @@ typedef struct entry {
#define DB_FLUSH 0x00000002
#define DB_FORCE 0x00000001
#define DB_FORCESYNC 0x00000001
+#define DB_FORCESYNCENV 0x00000002
#define DB_FOREIGN_ABORT 0x00000001
#define DB_FOREIGN_CASCADE 0x00000002
#define DB_FOREIGN_NULLIFY 0x00000004
@@ -2897,8 +3004,9 @@ typedef struct entry {
#define DB_INIT_REP 0x00001000
#define DB_INIT_TXN 0x00002000
#define DB_INORDER 0x00000020
-#define DB_INTERNAL_PERSISTENT_DB 0x00001000
-#define DB_INTERNAL_TEMPORARY_DB 0x00002000
+#define DB_INTERNAL_BLOB_DB 0x00001000
+#define DB_INTERNAL_PERSISTENT_DB 0x00002000
+#define DB_INTERNAL_TEMPORARY_DB 0x00004000
#define DB_JOIN_NOSORT 0x00000001
#define DB_LEGACY 0x00000004
#define DB_LOCAL_SITE 0x00000008
@@ -2911,12 +3019,14 @@ typedef struct entry {
#define DB_LOCK_SWITCH 0x00000020
#define DB_LOCK_UPGRADE 0x00000040
#define DB_LOG_AUTO_REMOVE 0x00000001
+#define DB_LOG_BLOB 0x00000002
#define DB_LOG_CHKPNT 0x00000001
#define DB_LOG_COMMIT 0x00000004
-#define DB_LOG_DIRECT 0x00000002
-#define DB_LOG_DSYNC 0x00000004
-#define DB_LOG_IN_MEMORY 0x00000008
+#define DB_LOG_DIRECT 0x00000004
+#define DB_LOG_DSYNC 0x00000008
+#define DB_LOG_IN_MEMORY 0x00000010
#define DB_LOG_NOCOPY 0x00000008
+#define DB_LOG_NOSYNC 0x00000020
#define DB_LOG_NOT_DURABLE 0x00000010
#define DB_LOG_NO_DATA 0x00000002
#define DB_LOG_VERIFY_CAF 0x00000001
@@ -2928,7 +3038,7 @@ typedef struct entry {
#define DB_LOG_VERIFY_VERBOSE 0x00000040
#define DB_LOG_VERIFY_WARNING 0x00000080
#define DB_LOG_WRNOSYNC 0x00000020
-#define DB_LOG_ZERO 0x00000010
+#define DB_LOG_ZERO 0x00000040
#define DB_MPOOL_CREATE 0x00000001
#define DB_MPOOL_DIRTY 0x00000002
#define DB_MPOOL_DISCARD 0x00000001
@@ -2946,17 +3056,18 @@ typedef struct entry {
#define DB_MUTEX_ALLOCATED 0x00000001
#define DB_MUTEX_LOCKED 0x00000002
#define DB_MUTEX_LOGICAL_LOCK 0x00000004
+#define DB_MUTEX_OWNER_DEAD 0x00000020
#define DB_MUTEX_PROCESS_ONLY 0x00000008
#define DB_MUTEX_SELF_BLOCK 0x00000010
-#define DB_MUTEX_SHARED 0x00000020
-#define DB_NOERROR 0x00004000
+#define DB_MUTEX_SHARED 0x00000040
+#define DB_NOERROR 0x00008000
#define DB_NOFLUSH 0x00001000
#define DB_NOLOCKING 0x00002000
#define DB_NOMMAP 0x00000010
#define DB_NOORDERCHK 0x00000002
#define DB_NOPANIC 0x00004000
#define DB_NOSYNC 0x00000001
-#define DB_NO_AUTO_COMMIT 0x00008000
+#define DB_NO_AUTO_COMMIT 0x00010000
#define DB_NO_CHECKPOINT 0x00008000
#define DB_ODDFILESIZE 0x00000080
#define DB_ORDERCHKONLY 0x00000004
@@ -2967,7 +3078,7 @@ typedef struct entry {
#define DB_PR_PAGE 0x00000010
#define DB_PR_RECOVERYTEST 0x00000020
#define DB_RDONLY 0x00000400
-#define DB_RDWRMASTER 0x00010000
+#define DB_RDWRMASTER 0x00020000
#define DB_READ_COMMITTED 0x00000400
#define DB_READ_UNCOMMITTED 0x00000200
#define DB_RECNUM 0x00000040
@@ -2978,17 +3089,20 @@ typedef struct entry {
#define DB_RENUMBER 0x00000080
#define DB_REPMGR_CONF_2SITE_STRICT 0x00000001
#define DB_REPMGR_CONF_ELECTIONS 0x00000002
+#define DB_REPMGR_CONF_PREFMAS_CLIENT 0x00000004
+#define DB_REPMGR_CONF_PREFMAS_MASTER 0x00000008
#define DB_REPMGR_NEED_RESPONSE 0x00000001
#define DB_REPMGR_PEER 0x00000010
#define DB_REP_ANYWHERE 0x00000001
#define DB_REP_CLIENT 0x00000001
-#define DB_REP_CONF_AUTOINIT 0x00000004
-#define DB_REP_CONF_AUTOROLLBACK 0x00000008
-#define DB_REP_CONF_BULK 0x00000010
-#define DB_REP_CONF_DELAYCLIENT 0x00000020
-#define DB_REP_CONF_INMEM 0x00000040
-#define DB_REP_CONF_LEASE 0x00000080
-#define DB_REP_CONF_NOWAIT 0x00000100
+#define DB_REP_CONF_AUTOINIT 0x00000010
+#define DB_REP_CONF_AUTOROLLBACK 0x00000020
+#define DB_REP_CONF_BULK 0x00000040
+#define DB_REP_CONF_DELAYCLIENT 0x00000080
+#define DB_REP_CONF_ELECT_LOGLENGTH 0x00000100
+#define DB_REP_CONF_INMEM 0x00000200
+#define DB_REP_CONF_LEASE 0x00000400
+#define DB_REP_CONF_NOWAIT 0x00000800
#define DB_REP_ELECTION 0x00000004
#define DB_REP_MASTER 0x00000002
#define DB_REP_NOBUFFER 0x00000002
@@ -3005,8 +3119,9 @@ typedef struct entry {
#define DB_SEQ_WRAP 0x00000008
#define DB_SEQ_WRAPPED 0x00000010
#define DB_SET_LOCK_TIMEOUT 0x00000001
-#define DB_SET_REG_TIMEOUT 0x00000004
-#define DB_SET_TXN_NOW 0x00000008
+#define DB_SET_MUTEX_FAILCHK_TIMEOUT 0x00000004
+#define DB_SET_REG_TIMEOUT 0x00000008
+#define DB_SET_TXN_NOW 0x00000010
#define DB_SET_TXN_TIMEOUT 0x00000002
#define DB_SHALLOW_DUP 0x00000100
#define DB_SNAPSHOT 0x00000200
@@ -3032,7 +3147,7 @@ typedef struct entry {
#define DB_SYSTEM_MEM 0x00080000
#define DB_THREAD 0x00000020
#define DB_TIME_NOTGRANTED 0x00040000
-#define DB_TRUNCATE 0x00020000
+#define DB_TRUNCATE 0x00040000
#define DB_TXN_BULK 0x00000010
#define DB_TXN_FAMILY 0x00000040
#define DB_TXN_NOSYNC 0x00000001
@@ -3050,24 +3165,25 @@ typedef struct entry {
#define DB_VERB_DEADLOCK 0x00000002
#define DB_VERB_FILEOPS 0x00000004
#define DB_VERB_FILEOPS_ALL 0x00000008
-#define DB_VERB_RECOVERY 0x00000010
-#define DB_VERB_REGISTER 0x00000020
-#define DB_VERB_REPLICATION 0x00000040
-#define DB_VERB_REPMGR_CONNFAIL 0x00000080
-#define DB_VERB_REPMGR_MISC 0x00000100
-#define DB_VERB_REP_ELECT 0x00000200
-#define DB_VERB_REP_LEASE 0x00000400
-#define DB_VERB_REP_MISC 0x00000800
-#define DB_VERB_REP_MSGS 0x00001000
-#define DB_VERB_REP_SYNC 0x00002000
-#define DB_VERB_REP_SYSTEM 0x00004000
-#define DB_VERB_REP_TEST 0x00008000
-#define DB_VERB_WAITSFOR 0x00010000
+#define DB_VERB_MVCC 0x00000010
+#define DB_VERB_RECOVERY 0x00000020
+#define DB_VERB_REGISTER 0x00000040
+#define DB_VERB_REPLICATION 0x00000080
+#define DB_VERB_REPMGR_CONNFAIL 0x00000100
+#define DB_VERB_REPMGR_MISC 0x00000200
+#define DB_VERB_REP_ELECT 0x00000400
+#define DB_VERB_REP_LEASE 0x00000800
+#define DB_VERB_REP_MISC 0x00001000
+#define DB_VERB_REP_MSGS 0x00002000
+#define DB_VERB_REP_SYNC 0x00004000
+#define DB_VERB_REP_SYSTEM 0x00008000
+#define DB_VERB_REP_TEST 0x00010000
+#define DB_VERB_WAITSFOR 0x00020000
#define DB_VERIFY 0x00000002
#define DB_VERIFY_PARTITION 0x00040000
#define DB_WRITECURSOR 0x00000010
#define DB_WRITELOCK 0x00000020
-#define DB_WRITEOPEN 0x00040000
+#define DB_WRITEOPEN 0x00080000
#define DB_XA_CREATE 0x00000001
#define DB_YIELDCPU 0x00080000