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.