diff options
author | Keith Bostic <keith.bostic@wiredtiger.com> | 2011-08-30 12:40:37 +0000 |
---|---|---|
committer | Keith Bostic <keith.bostic@wiredtiger.com> | 2011-08-30 12:40:37 +0000 |
commit | 4c4112c07edce4daaeaee6f85a448293148dd21d (patch) | |
tree | bc6c2d800ec479d83328b7283984462dcc1a4748 /dist/serial.py | |
parent | 2c5a3d6fa29ea56e9e88fb8cc7f8a654ee0ed8e0 (diff) | |
download | mongo-4c4112c07edce4daaeaee6f85a448293148dd21d.tar.gz |
Intermediate commit of new cursor code. Both prev/next cursor motions
work with fixed-length column-store files now. I've consolidated the
two versions of the serial code into a single version and removed the
WT_SESSION.srch structure (removing the WT_SEARCH structure entirely).
I've also consolidated the two versions of the return-value code.
Update the fixed-length column-store cursor-previous code to search
using the skiplist, instead of linearly.
Turn Michael's __wt_col_modify() code which allocated the skiplist
head and the skiplist itself, in a single allocation, into two
allocations so it looks like the rest of the skiplist handling code.
Sorry, Michael, but it made my head hurt.
The column-store record extension code can return WT_RESTART -- update
the cursor code to handle a WT_RESTART return from __wt_col_modify().
This is probably wrong, but it works for now.
Changed the fixed-length column-store page-debug routines to print out
a record number with the item, and to always print the item as a hex
byte.
--HG--
extra : rebase_source : 0402fe8eb05e13aac78a1b32f4b34a20c3556874
Diffstat (limited to 'dist/serial.py')
-rw-r--r-- | dist/serial.py | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/dist/serial.py b/dist/serial.py index a3c8bb4ad11..a44ddde2a57 100644 --- a/dist/serial.py +++ b/dist/serial.py @@ -38,7 +38,7 @@ Serial('evict_file', 'WT_WORKQ_EVICT', 0, [ SerialArg('int', 'close_method'), ]), -Serial('xxxinsert', 'WT_WORKQ_FUNC', 1, [ +Serial('insert', 'WT_WORKQ_FUNC', 1, [ SerialArg('WT_PAGE *', 'page'), SerialArg('uint32_t', 'write_gen'), SerialArg('WT_INSERT_HEAD **', 'inshead'), @@ -49,33 +49,19 @@ Serial('xxxinsert', 'WT_WORKQ_FUNC', 1, [ SerialArg('uint32_t', 'depth'), ]), -Serial('insert', 'WT_WORKQ_FUNC', 1, [ - SerialArg('WT_SEARCH *', 'srch'), - SerialArg('WT_INSERT_HEAD **', 'new_inslist', 1), - SerialArg('WT_INSERT_HEAD *', 'new_inshead', 1), - SerialArg('WT_INSERT *', 'ins', 1), - SerialArg('uint32_t', 'depth'), - ]), - Serial('row_key', 'WT_WORKQ_FUNC', 1, [ SerialArg('WT_PAGE *', 'page'), SerialArg('WT_ROW *', 'row_arg'), SerialArg('WT_IKEY *', 'ikey'), ]), -Serial('xxxupdate', 'WT_WORKQ_FUNC', 1, [ +Serial('update', 'WT_WORKQ_FUNC', 1, [ SerialArg('WT_PAGE *', 'page'), SerialArg('uint32_t', 'write_gen'), SerialArg('WT_UPDATE **', 'srch_upd'), SerialArg('WT_UPDATE **', 'new_upd', 1), SerialArg('WT_UPDATE *', 'upd', 1), ]), - -Serial('update', 'WT_WORKQ_FUNC', 1, [ - SerialArg('WT_SEARCH *', 'srch'), - SerialArg('WT_UPDATE **', 'new_upd', 1), - SerialArg('WT_UPDATE *', 'upd', 1), - ]), ] # decl -- |