Get the next record satisfies the scan



next up previous
Next: Delete the currently Up: Internal Design Previous: Open an exact

Get the next record satisfies the scan

If it's the first time the function is called (), the key is hashed to a bucket number and that bucket will be scanned. current_pageno is set to the PageId of the primary page of this bucket. current_slotno is set to -1. Then all the pages are scanned until a matched record is found. During the scan, the values of current_pageno and current_slotno are updated. Also the PageId of the previously scanned page (if existing) is stored in case some delete_current() call later deallocates the current page. If the end of the last page is reached and no matched record is found, NOMORERECS is returned. Another special case when NOMORERECS can be returned is that the page number of the overflow page that's going to be read is equal to last_pageno, a private member of the class LinearHashingScan. See the description of delete_current() for details.



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