From 3381558927b84a390b02ecbcf0b2263964983819 Mon Sep 17 00:00:00 2001 From: "Bradley C. Kuszmaul" <bradley@tokutek.com> Date: Wed, 9 Jul 2008 16:55:59 +0000 Subject: [PATCH] Print all the extra functions when building the h files. Fixes #1005. git-svn-id: file:///svn/tokudb@5012 c7de825b-a66e-492c-adef-691d508d4ae1 --- buildheader/db.h_4_1 | 49 ++++++++++++++++++++---------------- buildheader/db.h_4_3 | 55 +++++++++++++++++++++++------------------ buildheader/db.h_4_4 | 32 +++++++++++++++--------- buildheader/db.h_4_5 | 32 +++++++++++++++--------- buildheader/db.h_4_6 | 38 +++++++++++++++++----------- buildheader/make_db_h.c | 15 ++++++----- include/db.h | 32 +++++++++++++++--------- 7 files changed, 149 insertions(+), 104 deletions(-) diff --git a/buildheader/db.h_4_1 b/buildheader/db.h_4_1 index 5b185ef0d41..e83617161fc 100644 --- a/buildheader/db.h_4_1 +++ b/buildheader/db.h_4_1 @@ -171,47 +171,46 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[2]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + int (*pre_acquire_table_lock)(DB*, DB_TXN*); void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy1[28]; - char __toku_dummy2[96]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy0[27]; + char __toku_dummy1[96]; void *api_internal; /* 32-bit offset=236 size=4, 64=bit offset=376 size=8 */ - int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy3[3]; + void* __toku_dummy2[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=256 size=4, 64=bit offset=416 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=260 size=4, 64=bit offset=424 size=8 */ int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=264 size=4, 64=bit offset=432 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=268 size=4, 64=bit offset=440 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; - void* __toku_dummy4[1]; + void* __toku_dummy3[2]; int (*fd) (DB *, int *); /* 32-bit offset=280 size=4, 64=bit offset=464 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=284 size=4, 64=bit offset=472 size=8 */ int (*pget) (DB *, DB_TXN *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=288 size=4, 64=bit offset=480 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy5[2]; + void* __toku_dummy4[3]; int (*key_range) (DB *, DB_TXN *, DBT *, DB_KEY_RANGE *, u_int32_t); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */ int (*open) (DB *, DB_TXN *, const char *, const char *, DBTYPE, u_int32_t, int); /* 32-bit offset=308 size=4, 64=bit offset=520 size=8 */ int (*put) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=312 size=4, 64=bit offset=528 size=8 */ int (*remove) (DB *, const char *, const char *, u_int32_t); /* 32-bit offset=316 size=4, 64=bit offset=536 size=8 */ int (*rename) (DB *, const char *, const char *, const char *, u_int32_t); /* 32-bit offset=320 size=4, 64=bit offset=544 size=8 */ int (*truncate) (DB *, DB_TXN *, u_int32_t *, u_int32_t); /* 32-bit offset=324 size=4, 64=bit offset=552 size=8 */ - void* __toku_dummy6[4]; + void* __toku_dummy5[4]; int (*set_dup_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=344 size=4, 64=bit offset=592 size=8 */ - void* __toku_dummy7[2]; + void* __toku_dummy6[2]; void (*set_errfile) (DB *, FILE*); /* 32-bit offset=356 size=4, 64=bit offset=616 size=8 */ - void* __toku_dummy8[2]; + void* __toku_dummy7[2]; int (*set_flags) (DB *, u_int32_t); /* 32-bit offset=368 size=4, 64=bit offset=640 size=8 */ - void* __toku_dummy9[1]; + void* __toku_dummy8[1]; int (*set_pagesize) (DB *, u_int32_t); /* 32-bit offset=376 size=4, 64=bit offset=656 size=8 */ - void* __toku_dummy10[1]; + void* __toku_dummy9[1]; int (*stat) (DB *, void *, u_int32_t); /* 32-bit offset=384 size=4, 64=bit offset=672 size=8 */ - void* __toku_dummy11[2]; + void* __toku_dummy10[2]; int (*verify) (DB *, const char *, const char *, FILE *, u_int32_t); /* 32-bit offset=396 size=4, 64=bit offset=696 size=8 */ int (*set_bt_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=400 size=4, 64=bit offset=704 size=8 */ - void* __toku_dummy12[15]; /* Padding at the end */ - char __toku_dummy13[8]; /* Padding at the end */ + void* __toku_dummy11[15]; /* Padding at the end */ + char __toku_dummy12[8]; /* Padding at the end */ }; struct __toku_db_txn_active { u_int32_t txnid; /* 32-bit offset=0 size=4, 64=bit offset=0 size=4 */ @@ -244,16 +243,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[18]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[10]; char __toku_dummy1[104]; int (*c_close) (DBC *); /* 32-bit offset=188 size=4, 64=bit offset=272 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=192 size=4, 64=bit offset=280 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=196 size=4, 64=bit offset=288 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=204 size=4, 64=bit offset=304 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=208 size=4, 64=bit offset=312 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=320 size=8 */ - void* __toku_dummy2[9]; /* Padding at the end */ + void* __toku_dummy3[9]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ diff --git a/buildheader/db.h_4_3 b/buildheader/db.h_4_3 index e6982c0c5f6..661384971b8 100644 --- a/buildheader/db.h_4_3 +++ b/buildheader/db.h_4_3 @@ -181,52 +181,51 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[2]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + int (*pre_acquire_table_lock)(DB*, DB_TXN*); void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy1[31]; - char __toku_dummy2[96]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy0[30]; + char __toku_dummy1[96]; void *api_internal; /* 32-bit offset=248 size=4, 64=bit offset=400 size=8 */ - int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy3[3]; + void* __toku_dummy2[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=268 size=4, 64=bit offset=440 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=272 size=4, 64=bit offset=448 size=8 */ int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=276 size=4, 64=bit offset=456 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=280 size=4, 64=bit offset=464 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; - void* __toku_dummy4[2]; + void* __toku_dummy3[3]; int (*fd) (DB *, int *); /* 32-bit offset=296 size=4, 64=bit offset=496 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=300 size=4, 64=bit offset=504 size=8 */ int (*pget) (DB *, DB_TXN *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy5[6]; + void* __toku_dummy4[7]; int (*get_flags) (DB *, u_int32_t *); /* 32-bit offset=336 size=4, 64=bit offset=576 size=8 */ - void* __toku_dummy6[2]; + void* __toku_dummy5[2]; int (*get_pagesize) (DB *, u_int32_t *); /* 32-bit offset=348 size=4, 64=bit offset=600 size=8 */ - void* __toku_dummy7[3]; + void* __toku_dummy6[3]; int (*key_range) (DB *, DB_TXN *, DBT *, DB_KEY_RANGE *, u_int32_t); /* 32-bit offset=364 size=4, 64=bit offset=632 size=8 */ int (*open) (DB *, DB_TXN *, const char *, const char *, DBTYPE, u_int32_t, int); /* 32-bit offset=368 size=4, 64=bit offset=640 size=8 */ int (*put) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=372 size=4, 64=bit offset=648 size=8 */ int (*remove) (DB *, const char *, const char *, u_int32_t); /* 32-bit offset=376 size=4, 64=bit offset=656 size=8 */ int (*rename) (DB *, const char *, const char *, const char *, u_int32_t); /* 32-bit offset=380 size=4, 64=bit offset=664 size=8 */ int (*truncate) (DB *, DB_TXN *, u_int32_t *, u_int32_t); /* 32-bit offset=384 size=4, 64=bit offset=672 size=8 */ - void* __toku_dummy8[3]; + void* __toku_dummy7[3]; int (*set_dup_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=400 size=4, 64=bit offset=704 size=8 */ - void* __toku_dummy9[2]; + void* __toku_dummy8[2]; void (*set_errfile) (DB *, FILE*); /* 32-bit offset=412 size=4, 64=bit offset=728 size=8 */ - void* __toku_dummy10[2]; + void* __toku_dummy9[2]; int (*set_flags) (DB *, u_int32_t); /* 32-bit offset=424 size=4, 64=bit offset=752 size=8 */ - void* __toku_dummy11[4]; + void* __toku_dummy10[4]; int (*set_pagesize) (DB *, u_int32_t); /* 32-bit offset=444 size=4, 64=bit offset=792 size=8 */ - void* __toku_dummy12[1]; + void* __toku_dummy11[1]; int (*stat) (DB *, void *, u_int32_t); /* 32-bit offset=452 size=4, 64=bit offset=808 size=8 */ - void* __toku_dummy13[3]; + void* __toku_dummy12[3]; int (*verify) (DB *, const char *, const char *, FILE *, u_int32_t); /* 32-bit offset=468 size=4, 64=bit offset=840 size=8 */ - void* __toku_dummy14[1]; + void* __toku_dummy13[1]; int (*set_bt_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=476 size=4, 64=bit offset=856 size=8 */ - void* __toku_dummy15[23]; /* Padding at the end */ - char __toku_dummy16[8]; /* Padding at the end */ + void* __toku_dummy14[23]; /* Padding at the end */ + char __toku_dummy15[8]; /* Padding at the end */ }; struct __toku_db_txn_active { u_int32_t txnid; /* 32-bit offset=0 size=4, 64=bit offset=0 size=4 */ @@ -260,16 +259,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[16]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[8]; char __toku_dummy1[112]; int (*c_close) (DBC *); /* 32-bit offset=188 size=4, 64=bit offset=264 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=192 size=4, 64=bit offset=272 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=196 size=4, 64=bit offset=280 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=204 size=4, 64=bit offset=296 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=208 size=4, 64=bit offset=304 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=312 size=8 */ - void* __toku_dummy2[8]; /* Padding at the end */ + void* __toku_dummy3[8]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ diff --git a/buildheader/db.h_4_4 b/buildheader/db.h_4_4 index a067bd6e879..b3d9475337a 100644 --- a/buildheader/db.h_4_4 +++ b/buildheader/db.h_4_4 @@ -183,22 +183,22 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[2]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + int (*pre_acquire_table_lock)(DB*, DB_TXN*); void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy1[33]; - char __toku_dummy2[96]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy0[32]; + char __toku_dummy1[96]; void *api_internal; /* 32-bit offset=256 size=4, 64=bit offset=416 size=8 */ - int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy3[3]; + void* __toku_dummy2[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=276 size=4, 64=bit offset=456 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=280 size=4, 64=bit offset=464 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + void* __toku_dummy3[1]; int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=288 size=4, 64=bit offset=480 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=292 size=4, 64=bit offset=488 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy4[1]; + void* __toku_dummy4[2]; int (*fd) (DB *, int *); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=308 size=4, 64=bit offset=520 size=8 */ void* __toku_dummy5[8]; @@ -264,16 +264,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[18]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[10]; char __toku_dummy1[104]; int (*c_close) (DBC *); /* 32-bit offset=188 size=4, 64=bit offset=272 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=192 size=4, 64=bit offset=280 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=196 size=4, 64=bit offset=288 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=204 size=4, 64=bit offset=304 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=208 size=4, 64=bit offset=312 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=320 size=8 */ - void* __toku_dummy2[8]; /* Padding at the end */ + void* __toku_dummy3[8]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ diff --git a/buildheader/db.h_4_5 b/buildheader/db.h_4_5 index b9ece9d0eb8..9efad2a477b 100644 --- a/buildheader/db.h_4_5 +++ b/buildheader/db.h_4_5 @@ -182,22 +182,22 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[2]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + int (*pre_acquire_table_lock)(DB*, DB_TXN*); void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy1[36]; - char __toku_dummy2[96]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy0[35]; + char __toku_dummy1[96]; void *api_internal; /* 32-bit offset=268 size=4, 64=bit offset=440 size=8 */ - int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy3[3]; + void* __toku_dummy2[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=288 size=4, 64=bit offset=480 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=292 size=4, 64=bit offset=488 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + void* __toku_dummy3[1]; int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=300 size=4, 64=bit offset=504 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy4[1]; + void* __toku_dummy4[2]; int (*fd) (DB *, int *); /* 32-bit offset=316 size=4, 64=bit offset=536 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=320 size=4, 64=bit offset=544 size=8 */ void* __toku_dummy5[8]; @@ -263,16 +263,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[22]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[14]; char __toku_dummy1[104]; int (*c_close) (DBC *); /* 32-bit offset=204 size=4, 64=bit offset=304 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=208 size=4, 64=bit offset=312 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=320 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=220 size=4, 64=bit offset=336 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=224 size=4, 64=bit offset=344 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=228 size=4, 64=bit offset=352 size=8 */ - void* __toku_dummy2[8]; /* Padding at the end */ + void* __toku_dummy3[8]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ diff --git a/buildheader/db.h_4_6 b/buildheader/db.h_4_6 index 27870bd25ba..c656e08ee66 100644 --- a/buildheader/db.h_4_6 +++ b/buildheader/db.h_4_6 @@ -11,9 +11,9 @@ extern "C" { #define TOKUDB 1 #define DB_VERSION_MAJOR 4 #define DB_VERSION_MINOR 6 -#define DB_VERSION_PATCH 19 +#define DB_VERSION_PATCH 21 #ifndef _TOKUDB_WRAP_H -#define DB_VERSION_STRING "Tokutek: TokuDB 4.6.19" +#define DB_VERSION_STRING "Tokutek: TokuDB 4.6.21" #else #define DB_VERSION_STRING_ydb "Tokutek: TokuDB (wrapped bdb)" #endif @@ -185,23 +185,23 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[1]; - char __toku_dummy1[8]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + char __toku_dummy0[8]; void *app_private; /* 32-bit offset=20 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=24 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy2[41]; - char __toku_dummy3[80]; - void *api_internal; /* 32-bit offset=276 size=4, 64=bit offset=464 size=8 */ int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy4[3]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy1[39]; + char __toku_dummy2[80]; + void *api_internal; /* 32-bit offset=276 size=4, 64=bit offset=464 size=8 */ + void* __toku_dummy3[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=296 size=4, 64=bit offset=504 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=300 size=4, 64=bit offset=512 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + void* __toku_dummy4[1]; int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=308 size=4, 64=bit offset=528 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=312 size=4, 64=bit offset=536 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy5[2]; + void* __toku_dummy5[3]; int (*fd) (DB *, int *); /* 32-bit offset=328 size=4, 64=bit offset=568 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=332 size=4, 64=bit offset=576 size=8 */ void* __toku_dummy6[8]; @@ -268,16 +268,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[32]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[24]; char __toku_dummy1[104]; int (*c_close) (DBC *); /* 32-bit offset=244 size=4, 64=bit offset=384 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=248 size=4, 64=bit offset=392 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=252 size=4, 64=bit offset=400 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=260 size=4, 64=bit offset=416 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=264 size=4, 64=bit offset=424 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=268 size=4, 64=bit offset=432 size=8 */ - void* __toku_dummy2[8]; /* Padding at the end */ + void* __toku_dummy3[8]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ diff --git a/buildheader/make_db_h.c b/buildheader/make_db_h.c index 0e2c167fce1..1e0750c07de 100644 --- a/buildheader/make_db_h.c +++ b/buildheader/make_db_h.c @@ -187,15 +187,13 @@ void print_struct (const char *structname, int need_internal, struct fieldinfo * n_dummys--; did_toku_internal=1; } + while (n_dummys>0 && extra_decls && *extra_decls) { + printf(" %s;\n", *extra_decls); + extra_decls++; + n_dummys--; + } if (n_dummys>0) { - if (extra_decls && *extra_decls) { - printf(" %s;\n", *extra_decls); - extra_decls++; - n_dummys--; - } - if (n_dummys>0) { - printf(" void* __toku_dummy%d[%d];\n", dummy_counter++, n_dummys); - } + printf(" void* __toku_dummy%d[%d];\n", dummy_counter++, n_dummys); } diff64-=diff*2; diff32-=diff; @@ -221,6 +219,7 @@ void print_struct (const char *structname, int need_internal, struct fieldinfo * current_32 += fields32[i].size; current_64 += fields64[i].size; } + if (extra_decls) assert(NULL==*extra_decls); // make sure that the extra decls all got used up. { unsigned int this_32 = fields32[N-1].off; unsigned int this_64 = fields64[N-1].off; diff --git a/include/db.h b/include/db.h index a067bd6e879..b3d9475337a 100644 --- a/include/db.h +++ b/include/db.h @@ -183,22 +183,22 @@ struct __toku_db_lsn { struct __toku_db { struct __toku_db_internal *i; int (*key_range64)(DB*, DB_TXN *, DBT *, u_int64_t *less, u_int64_t *equal, u_int64_t *greater, int *is_exact); - void* __toku_dummy0[2]; + int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); + int (*pre_acquire_table_lock)(DB*, DB_TXN*); void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */ DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */ - int (*pre_acquire_read_lock)(DB*, DB_TXN*, const DBT*, const DBT*, const DBT*, const DBT*); - void* __toku_dummy1[33]; - char __toku_dummy2[96]; + const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; + void* __toku_dummy0[32]; + char __toku_dummy1[96]; void *api_internal; /* 32-bit offset=256 size=4, 64=bit offset=416 size=8 */ - int (*pre_acquire_table_lock)(DB*, DB_TXN*); - void* __toku_dummy3[3]; + void* __toku_dummy2[4]; int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=276 size=4, 64=bit offset=456 size=8 */ int (*close) (DB*, u_int32_t); /* 32-bit offset=280 size=4, 64=bit offset=464 size=8 */ - const DBT* (*dbt_pos_infty)(void) /* Return the special DBT that refers to positive infinity in the lock table.*/; + void* __toku_dummy3[1]; int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=288 size=4, 64=bit offset=480 size=8 */ int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=292 size=4, 64=bit offset=488 size=8 */ - const DBT* (*dbt_neg_infty)(void)/* Return the special DBT that refers to negative infinity in the lock table.*/; - void* __toku_dummy4[1]; + void* __toku_dummy4[2]; int (*fd) (DB *, int *); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */ int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=308 size=4, 64=bit offset=520 size=8 */ void* __toku_dummy5[8]; @@ -264,16 +264,24 @@ struct __toku_dbc { DB *dbp; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */ struct __toku_dbc_internal *i; int (*c_getf_next)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); - void* __toku_dummy0[18]; + int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_next_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_prev_no_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_current)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_first)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + int (*c_getf_last)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy0[10]; char __toku_dummy1[104]; int (*c_close) (DBC *); /* 32-bit offset=188 size=4, 64=bit offset=272 size=8 */ int (*c_count) (DBC *, db_recno_t *, u_int32_t); /* 32-bit offset=192 size=4, 64=bit offset=280 size=8 */ int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=196 size=4, 64=bit offset=288 size=8 */ - int (*c_getf_next_dup)(DBC *, u_int32_t, void(*)(DBT const *, DBT const *, void *), void *); + void* __toku_dummy2[1]; int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=204 size=4, 64=bit offset=304 size=8 */ int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=208 size=4, 64=bit offset=312 size=8 */ int (*c_put) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=320 size=8 */ - void* __toku_dummy2[8]; /* Padding at the end */ + void* __toku_dummy3[8]; /* Padding at the end */ }; struct __toku_dbt { void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */