Next: , Previous: , Up: Theory   [Contents][Index]


2.7 To Be Done

I think most of the items in RJZ’s list have been done.

RJZ Modified 4/8/1993

B-tree maintenacne
  • Implement deferred INDEX updates (in progress).
  • Fix bug in PREV re missing down-ptrs.
  • Implement fix for insert-screw-case (flag in root or wherever it was).
I/O
  • Implement and test random page replacement.
  • Implement parent/PREV caching??
Concurrency
  • Assure enough FLC blocks for freelist splits in concurrent situation. (there seems to be a class of problems about concurrent free-list operations: a flush can fail if it causes a split and all the free blocks have been used meanwhile; simultaneous flush and fills; and the like. One good idea: since its ok if parent-updates fail, we can reduce the number of blocks a split can REQUIRE to 1 leaf block, rather than log-N blocks).
Error handling
  • Finish implementation of error-handling protocol??
  • Error log?
  • Recode error msg calls to take less (code) space?
Miscellany
  • Count SCAN does not need to copy value strings (since block is copied).
  • Jonathan wants the ability to create a seg that need not be kept valid on disk – one that can just be rebuilt if the system crashes. This means (a) a WCB bit in HANDLEs to control "essential" updates and (b) an arg to OPEN-SEG specifying SAFETY (it isnt valid to specify this option on a per-handle basis).
  • Jonathan wants to replace FLUSH-SOME-BUKS with a call that scans ENT-TAB for a flushable ENT and another call to (carefully) flush it.
  • Reduce number of arguments to scan using packets?
  • Create memory-resident segment?
  • See if packets can be replaced with multiple values?
Design/Documentation
  • Spell check!
  • Document format of data file (blocks 0,1,2).
  • Document type S blocks.
  • Write up thoughts on error-info protocol.
  • Write up WRITE order for blk splits.
  • Read papers (SAGIV, WANG, TRANSACTION book) to see how THEY ahndle the difficult problems of delayed update and their ordering, and the 2-block mod problem for DELETE.

Next: Miscellany, Previous: Unlimited Length Keys and Values, Up: Theory   [Contents][Index]