DIRECTORY DBCommon USING[DBPage, Segment], DBIndex USING [Core, Page, RealIndexHandle]; DBIndexPage: CEDAR DEFINITIONS = BEGIN BadPage: SIGNAL; -- if page is not a B-Tree page DestroyPageList: PROC [s: DBCommon.Segment]; DestroyPage: PROC [segment: DBCommon.DBPage, p: DBIndex.Page, db: DBCommon.DBPage]; UnlockPage: PROC [p: DBIndex.Page]; WritePage: PROC [p: DBIndex.Page]; WriteAndUnlockPage: PROC [p: DBIndex.Page]; CreateEmptyPage: PROC [tree: DBIndex.RealIndexHandle, level: CARDINAL, s: DBCommon.DBPage] RETURNS [DBIndex.Page]; GetPage: PROC [ tree: DBIndex.RealIndexHandle, db: DBCommon.DBPage, level: CARDINAL] RETURNS [DBIndex.Page]; CheckTag: PROC[LONG POINTER TO DBIndex.Core]; END. Change Log By Cattell September 22, 1982 12:57 pm: Changed names to be clearer. Use UnlockPage instead of FreePage, GetPage instead of CreateOldPage, etc. Changed by Willie-Sue on February 15, 1985 ΦFile: DBIndexPage.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Willie-Sue, February 15, 1985 3:41:24 pm PST Widom, September 4, 1985 9:07:35 pm PDT Donahue, November 13, 1985 11:42:12 am PST Purpose: Maintains DBIndex.Page records for database pages. Keeps a list of currently active DBIndex.Pages, which acts as a cache for frequently accessed pages. Last edited by: Suzuki: 2-Apr-81 16:09:21 Cattell: September 21, 1982 9:23 pm Frees the list of page records (DBIndex.Pages) that DBIndexPage maintains Unlock the page and de-allocate the page in the database for re-use. Should be called when the client no longer has pointers into page and p thrown away Mark page p as having been modified, but keep locked. Call when page no longer in use, and page has been modified. Allocates a new DBCommon.DBPage with associated DBIndex.Page, level = 1 if it is a leaf Makes DBIndex.Page pointing to given DBCommon.DBPage. made Cedar, added tioga formatting ΚΈ˜šœ™Jšœ Οmœ1™