-- File DBStorageExtTuple.mesa
-- Last edited by MBrown on August 12, 1980  3:51 PM


  DIRECTORY
    DBStorageVec USING[VecHeader];

DBStorageExtTuple: DEFINITIONS = BEGIN
  -- This interface defines the external (secondary storage) representation of tuples.


  TupleBody: TYPE = MACHINE DEPENDENT RECORD[
    header: DBStorageVec.VecHeader,
      -- TupleBody is stored in a vec, so prefix is a VecHeader
    groupOffset: CARDINAL,
      -- offset from TupleBody of 1st GroupEntry
    fields: ARRAY[0..0) OF CARDINAL
      -- words for tuple fields (fixed length), uninterpreted at this level
  ];--TupleBody
  -- This is the layout of the "body" of a tuple, consisting of the fixed-length
  --representations of the fields, plus the variable-length representation of pointers
  --to the groups of which this tuple is head.  This is limited in length to the maximum
  --vec length; tuple bodies do not cross page boundaries.  Variable-length fields are
  --represented by a fixed-length portion, at a fixed offset in the tuple body, and a
  --variable-length portion, which lies outside of the tuple body (maybe on another
  --page).

  SizeOfNullTuple: CARDINAL = SIZE[TupleBody];


END.--DBStorageExtTuple


CHANGE LOG

Created by MBrown on August 12, 1980  3:52 PM