YggIndexMaint.mesa
Copyright Ó 1988 by Xerox Corporation. All rights reserved.
Bob Hagmann October 12, 1988 8:32:00 am PDT
Maintain the indices after an update.
DIRECTORY
Camelot USING [tidT],
Rope USING [ROPE],
YggDID USING [DID],
YggRep USING [AttributeValue, metaAttributeMod];
YggIndexMaint: CEDAR DEFINITIONS
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
DIDTidNotFound: ERROR;
Note that an update has occured
NewValueForAttribute: PROC [did: YggDID.DID, tid: Camelot.tidT, attributeName: ROPE, oldValues: LIST OF LIST OF YggRep.AttributeValue, newValues: LIST OF LIST OF YggRep.AttributeValue];
Note that this did/attributeName has a new value. Called during Pre-Commit.
NewValueForMetaAttribute: PROC [did: YggDID.DID, tid: Camelot.tidT, metaAttributesChanged: LIST OF YggRep.metaAttributeMod];
Note that this did/metaattribute has a new value. Called during Pre-Commit.
NewValueForAttributeCommitStatus: PROC [did: YggDID.DID, tid: Camelot.tidT, commited: BOOL];
Note state of previous NewValueForAttribute or NewValueForMetaAttribute call(s). Called during Commit or Abort.
AddOrRemoveIndexPattern: PROC [containerDID: YggDID.DID, pattern: ROPE, add: BOOL] RETURNS [ok: BOOL];
Adds or removes the pattern to the container. For an add, the pattern must be legal. For a remove, it must exactly match an existing pattern.
END.