-- WalnutDBLog.Mesa -- Contents: types and procedures for dealing with the log information in the database -- Last Edited by: Willie-Sue, May 18, 1983 3:03 pm DIRECTORY DB, WalnutLog; WalnutDBLog: CEDAR DEFINITIONS = BEGIN OPEN DB, WalnutLog; SchemaVersionTime: GreenwichMeanTime; -- schemaVersion is time found in database SchemaMismatch: SIGNAL[schemaVersion: GreenwichMeanTime]; walnutLogInfo: Relation; -- used to keep current info about the log file wExpectedLength: Attribute; -- int (how long the log file is) wExpectedDBPos: Attribute; -- int (how much of the log has been parsed into Msgs) wStartExpungePos: Attribute; -- int (where in log file the last/current expunge started) wCopyInProgress: Attribute; -- bool (TRUE while Copying onto tail of log file) wSchemaVersion: Attribute; -- time (for keeping track of changes in walnut's schema) walnutInfoRelship: Relship; -- need fetch & check only once -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * GetCurrentLogFile: PROC RETURNS[ROPE]; -- Retrieves name for current log file from database -- SetCurrentLogFile: PROC[fileName: ROPE] is allowed only by Expunge GetExpectedLogLength: PROC RETURNS[INT]; -- Retrieves last stored log length from database (used for recovery from crash) SetExpectedLogLength: PROC[INT]; -- sets the log length in the database SetExpectedDBLogPos: PROC[INT]; -- sets the last stored DB log position GetExpectedDBLogPos: PROC RETURNS[INT]; -- Retrieves last stored DB log pos from database (used for recovery from crash) GetStartExpungePos: PROC RETURNS[INT]; -- Log file position at which current/last expunge began SetStartExpungePos: PROC[INT]; -- set the starting position of the next expunge GetCopyInProgress: PROC RETURNS[BOOL]; -- returns TRUE if a copy onto tail of log file is in progress SetCopyInProgress: PROC[BOOL]; -- set the copy in progress bit in the DB END. Ę)˜JšƒœĪcœœĪk œžœ Īn œžœž œžœžœžœŸœ+œžœ>0œ"œ7œ <œ3œ9œ œKœŸœžœžœžœ4œFœŸœžœžœžœQœŸœžœžœ'œŸœžœžœ(œŸœžœžœžœQœŸœžœžœžœ9œŸœžœžœ3œŸœžœžœžœ?œŸœžœžœ,œžœž˜§—…—ĒŲ