Delete records



next up previous
Next: Open an exact Up: Internal Design Previous: Insert records

Delete records

When a record is deleted, it's first hashed to a bucket number. Then all the pages in that bucket is searched for this record. If it's not found, RECNOTFOUND is returned. If it's found, then the last record on the last page of this bucket is moved to the deleted record's slot to keep all pages compact. If the last page is an overflow page and it's empty as the result of the deletion, a merge is triggered.
When a merge is triggered, all the records in the last bucket is moved to the end of the image bucket of the last bucket. Overflow pages are allocated if necessary. Then the last bucket is deallocated and the corresponding header information is updated.



Weiqing Huang
Sun May 14 16:22:27 CDT 1995