public override void Apply( EventBean matchingEvent, EventBean[] eventsPerStream, TableInstance tableStateInstance, OnExprViewTableChangeHandler changeHandlerAdded, OnExprViewTableChangeHandler changeHandlerRemoved, AgentInstanceContext agentInstanceContext) { tableStateInstance.DeleteEvent(matchingEvent); changeHandlerRemoved?.Add(matchingEvent, eventsPerStream, false, agentInstanceContext); }
public override EventBean[] ProcessDelete(FAFQueryMethodIUDDelete delete) { TableEvalLockUtil.ObtainLockUnless( instance.TableLevelRWLock.WriteLock, instance.AgentInstanceContext.TableExprEvaluatorContext); if (delete.OptionalWhereClause == null) { instance.ClearInstance(); return CollectionUtil.EVENTBEANARRAY_EMPTY; } var found = SnapshotAndApplyFilter( delete.QueryGraph, delete.Annotations, delete.OptionalWhereClause, instance.AgentInstanceContext); foreach (var @event in found) { instance.DeleteEvent(@event); } return CollectionUtil.EVENTBEANARRAY_EMPTY; }