-- File: DBIndexScan.mesa -- Created by: Suzuki, November 20, 1980 10:29 AM -- Last edited by: -- Suzuki, November 24, 1980 11:01 AM -- Cattell, 7-Jul-81 10:18:39 DIRECTORY DBCommon USING[DBPage], DBStorage USING[Selection, FirstLast, IndexScanHandle], DBIndex USING[Page, RealIndexHandle]; DBIndexScan: DEFINITIONS = { InitScan: PROC; FreeScan: PROC; FreeScanHandle: PROC [s: DBStorage.IndexScanHandle]; -- Maintains the LIFO queue CreateScanHandle: PROC [ r: DBIndex.RealIndexHandle, y: DBStorage.Selection, start: DBStorage.FirstLast, page: DBCommon.DBPage, index: CARDINAL] RETURNS [DBStorage.IndexScanHandle]; ManipulateScanIndex: PROC[page: DBIndex.Page, after: CARDINAL, f: PROC[DBStorage.IndexScanHandle]]; PutScanIndex: PROC[r: DBIndex.RealIndexHandle, p: DBIndex.Page]; -- "r" was an empty tree, and just became to have one entry. "p" points to the first page. -- If there is a IndexScanHandle, change values. ScanForNullTree: PROC [q: DBIndex.RealIndexHandle]; -- The tree pointed to by q because empty. Change all the IndexRealHandle --so that if they point to this index, their page fields are Null }. Change Log Added PutScanIndex and ScanForNullTree Suzuki: November 24, 1980 11:01 AM J )