-- File DBStoragePrivate.mesa
-- Last edited by:
--  MBrown on July 22, 1980  2:19 PM
--  Cattell on 26-Sep-81 13:51:37


  DIRECTORY
    DBCache USING[CacheHandle],
    DBStorage USING[TupleHandle, FieldHandle],
    DBStorageTID USING[TID];

DBStoragePrivate: DEFINITIONS = BEGIN

  GetNWordBase: PROC[x: DBStorage.TupleHandle, f: DBStorage.FieldHandle]
   RETURNS[LONG POINTER, DBCache.CacheHandle];
    -- This proc is analogous to ReadNWord, but instead of copying out the value it returns a
    --long pointer to it, locked in the cache.  After the value is used, the page must be unlocked.
    -- CAUTION: other operations on the page containing this tuple my invalidate the result pointer
    --without warning.  In particular, anything that triggers a compaction will do it.  When in doubt,
    --get the base again!


  TupleFromTID: PROC[DBStorageTID.TID] RETURNS[DBStorage.TupleHandle];
    -- Maps a TID in the range [1..DBStorage.MaxSystemTupleID] into the corresponding
    --tuple handle from the system tuple table.

END.--DBStoragePrivate


CHANGE LOG

Created by MBrown on July 22, 1980  2:17 PM
-- Created to allow access to TuplesetObjects and IndexObjects without performing unnecessary
--storage allocation.

Modified by Cattell on 26-Sep-81 13:53:28
-- Added TupleFromTID.