/// <summary> /// This process (update) method is for participation in a join. /// </summary> /// <param name="newEvents">- new events</param> /// <param name="oldEvents">- old events</param> /// <param name="exprEvaluatorContext">The expr evaluator context.</param> public override void Process( ISet <MultiKey <EventBean> > newEvents, ISet <MultiKey <EventBean> > oldEvents, ExprEvaluatorContext exprEvaluatorContext) { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".process Received update, " + " newData.Length==" + ((newEvents == null) ? 0 : newEvents.Count) + " oldData.Length==" + ((oldEvents == null) ? 0 : oldEvents.Count)); } var isGenerateSynthetic = _parent.StatementResultService.IsMakeSynthetic; ResultSetProcessor.ProcessOutputLimitedLastAllNonBufferedJoin(newEvents, oldEvents, isGenerateSynthetic, _isAll); if (!base.CheckAfterCondition(newEvents, _parent.StatementContext)) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AOutputProcessWCondition(false); } return; } var newEventsSize = 0; if (newEvents != null) { newEventsSize = newEvents.Count; } var oldEventsSize = 0; if (oldEvents != null) { oldEventsSize = oldEvents.Count; } _outputCondition.UpdateOutputCondition(newEventsSize, oldEventsSize); }