Well, hopefully WAL will be ready for alpha testing in a few days.
Unfortunately
at the moment I have to step side from main stream to implement new file
naming,
the biggest todo for integration WAL into system.
I would really appreciate any help in the following issues (testing can
start regardless
of their statuses but they must be resolved anyway):
1. BTREE: sometimes WAL can't guarantee right order of items on leaf pages after recovery - new flag BTP_REORDER
introducedto mark such pages. Btree should be changed to handle this case in normal processing mode.
2. HEAP: like 1., this issue is result of attempt to go without compensation
records (ie without logging undo operations): it's possible that sometimes in
redo there will be no space for new records because of in recovery we don't undo changes for aborted xactions
immediately- function like BTREE'
_bt_cleanup_page_ required for HEAP as well as general inspection of all places where
HEAP' redo ops try to insert records (initially I thought that in recovery we'll undo
changes immediately after reading abort record from log - this wouldn't work for BTREE:
splits must be redo-ne before undo).
3. There are no redo/undo for HASH, RTREE & GIST yet. This would be *really
really great* if someone could implement it using BTREE' redo/undo code as
prototype. These are the most complex parts of this todo.
Probably, something else will follow later.
Regards,
Vadim