Conv: TYPE ~ LoganBerry.Conv;
OpenDB: TYPE ~ LoganBerry.OpenDB;
LogID: TYPE ~ LoganBerry.LogID;
AttributeType: TYPE ~ LoganBerry.AttributeType;
ROPE: TYPE ~ LoganBerry.ROPE;
LogInfo: TYPE ~ REF LogInfoRec;
LogInfoRec:
TYPE ~
RECORD[
id: LogID, -- log number
file: ROPE -- name of log file
];
IndexInfo: TYPE ~ REF IndexInfoRec;
IndexInfoRec:
TYPE ~
RECORD[
key: AttributeType, -- index key
file: ROPE, -- name of index file
order: ATOM ← $lex -- ordering of index, e.g. $lex, $ascii, $gmt, $int
];
SchemaInfo: TYPE = REF SchemaInfoRec;
SchemaInfoRec:
TYPE =
RECORD[
dbName: ROPE, -- name of database schema file
logs: LIST OF LogInfo, -- logs comprising the database
indices: LIST OF IndexInfo -- available indices, the primary key is listed first
];
Describe2:
PROC [conv: Conv ←
NIL, db: OpenDB]
RETURNS [info: SchemaInfo];
Returns schema information about the database.
Errors: BadDBHandle