-- File DBStorageTuplesetScan.mesa
-- Last edited by
--   MBrown on December 2, 1982 2:40 pm

DIRECTORY
  DBCommon USING[DBPage],
  DBStorageTID USING[TID];

DBStorageTuplesetScan: DEFINITIONS = BEGIN OPEN DBCommon, DBStorageTID;
  -- This interface defines internal operations on tupleset scans.

  Init: PROC [z: ZONE];
    -- Should be called from DBStorage.Initialize.  All volatile data will be allocated from
    --zone z.

  NoticeDeletion: PROC[dbPage: DBPage, tsID: TID, localTSID: CARDINAL, nextDBPage: DBPage];
    -- Update active tupleset scans, as necessary, to account for the fact that page
    --dbPage no longer contains any tuples from tupleset tsID, which used to have index
    --localTSID on the page's TSDict.  The "next page" field of that TSDict entry (i.e.
    --the next page containing tuples from this tupleset) was nextDBPage.

  CallAfterFinishTransaction: PROC [];
    -- Invalidates all active scans on Segments that are no longer addressible (because
    --transaction went away).  Invalidation includes releasing tuples that are part of
    --the scan.

END.--DBStorageTuplesetScan


CHANGE LOG

Created by MBrown on July 9, 1980  5:54 PM

Changed by MBrown on August 4, 1980  10:30 PM
-- Added NoticeCloseDatabase.

Changed by MBrown on September 12, 1980  1:46 PM
-- Added Finalize.

Changed by MBrown on December 11, 1980  2:47 PM
-- Clarified exceptions associated with NoticeCloseDatabase.

Changed by MBrown on December 2, 1982 2:39 pm
-- Added CallAfterFinishTransaction; flushed NoticeCloseDatabase and Finalize.