diff options
Diffstat (limited to 'src/include/lsm.h')
-rw-r--r-- | src/include/lsm.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/include/lsm.h b/src/include/lsm.h index 2550ca444c1..b433e4c3c44 100644 --- a/src/include/lsm.h +++ b/src/include/lsm.h @@ -31,6 +31,17 @@ struct __wt_lsm_worker_args { }; /* + * WT_LSM_CURSOR_CHUNK -- + * Iterator struct containing all the LSM cursor access points for a chunk. + */ +struct __wt_lsm_cursor_chunk { + WT_BLOOM *bloom; /* Bloom filter handle for each chunk.*/ + WT_CURSOR *cursor; /* Cursor handle for each chunk. */ + uint64_t count; /* Number of items in chunk */ + uint64_t switch_txn; /* Switch txn for each chunk */ +}; + +/* * WT_CURSOR_LSM -- * An LSM cursor. */ @@ -43,17 +54,12 @@ struct __wt_cursor_lsm { u_int nchunks; /* Number of chunks in the cursor */ u_int nupdates; /* Updates needed (including snapshot isolation checks). */ - WT_BLOOM **blooms; /* Bloom filter handles. */ - size_t bloom_alloc; - - WT_CURSOR **cursors; /* Cursor handles. */ - size_t cursor_alloc; - - WT_CURSOR *current; /* The current cursor for iteration */ + WT_CURSOR *current; /* The current cursor for iteration */ WT_LSM_CHUNK *primary_chunk; /* The current primary chunk */ - uint64_t *switch_txn; /* Switch txn for each chunk */ - size_t txnid_alloc; + WT_LSM_CURSOR_CHUNK **chunks; /* Array of LSM cursor units */ + size_t chunks_alloc; /* Current size iterators array */ + size_t chunks_count; /* Current number of iterators */ u_int update_count; /* Updates performed. */ |