public void TestProcessAll() { Assert.IsNull(ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, new HashSet <MultiKey <EventBean> >(), true, false, null)); var testEvent1 = MakeEvent(10, 5, 6); var testEvent2 = MakeEvent(11, 6, 7); var newEventSet = MakeEventSet(testEvent1); newEventSet.Add(new MultiKey <EventBean>(new EventBean[] { testEvent2 })); var testEvent3 = MakeEvent(20, 1, 2); var testEvent4 = MakeEvent(21, 3, 4); var oldEventSet = MakeEventSet(testEvent3); oldEventSet.Add(new MultiKey <EventBean>(new EventBean[] { testEvent4 })); var result = _outputProcessorAll.ProcessJoinResult(newEventSet, oldEventSet, false); var newEvents = result.First; var oldEvents = result.Second; Assert.AreEqual(2, newEvents.Length); Assert.AreEqual(10d, newEvents[0].Get("resultOne")); Assert.AreEqual(30, newEvents[0].Get("resultTwo")); Assert.AreEqual(11d, newEvents[1].Get("resultOne")); Assert.AreEqual(42, newEvents[1].Get("resultTwo")); Assert.AreEqual(2, oldEvents.Length); Assert.AreEqual(20d, oldEvents[0].Get("resultOne")); Assert.AreEqual(2, oldEvents[0].Get("resultTwo")); Assert.AreEqual(21d, oldEvents[1].Get("resultOne")); Assert.AreEqual(12, oldEvents[1].Get("resultTwo")); }
public IEnumerator <EventBean> GetEnumerator(ISet <MultiKey <EventBean> > joinSet) { IList <EventBean> result; if (_prototype.OptionalHavingNode == null) { if (_orderByProcessor == null) { result = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, joinSet, true, true, _exprEvaluatorContext); } else { result = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, joinSet, true, true, _exprEvaluatorContext); } } else { if (_orderByProcessor == null) { result = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, joinSet, _prototype.OptionalHavingNode, true, true, _exprEvaluatorContext); } else { result = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, joinSet, _prototype.OptionalHavingNode, true, true, _exprEvaluatorContext); } } return(result != null?result.GetEnumerator() : EnumerationHelper <EventBean> .Empty()); }
public IEnumerator <EventBean> GetEnumerator(ISet <MultiKey <EventBean> > joinSet) { EventBean[] result; if (_prototype.OptionalHavingNode == null) { if (_orderByProcessor == null) { result = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, joinSet, true, true, _exprEvaluatorContext); } else { result = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, joinSet, true, true, _exprEvaluatorContext); } } else { if (_orderByProcessor == null) { result = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, joinSet, _prototype.OptionalHavingNode, true, true, _exprEvaluatorContext); } else { result = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, joinSet, _prototype.OptionalHavingNode, true, true, _exprEvaluatorContext); } } if (result == null) { return(EnumerationHelper <EventBean> .CreateEmptyEnumerator()); } return(((IEnumerable <EventBean>)result).GetEnumerator()); }
public override UniformPair <EventBean[]> ProcessJoinResult(ISet <MultiKey <EventBean> > newEvents, ISet <MultiKey <EventBean> > oldEvents, bool isSynthesize) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QResultSetProcessSimple(); } EventBean[] selectOldEvents = null; EventBean[] selectNewEvents; if (Prototype.OptionalHavingExpr == null) { if (Prototype.IsSelectRStream) { if (_orderByProcessor == null) { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, oldEvents, false, isSynthesize, ExprEvaluatorContext); } else { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, oldEvents, false, isSynthesize, ExprEvaluatorContext); } } if (_orderByProcessor == null) { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, newEvents, true, isSynthesize, ExprEvaluatorContext); } else { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, newEvents, true, isSynthesize, ExprEvaluatorContext); } } else { if (Prototype.IsSelectRStream) { if (_orderByProcessor == null) { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, oldEvents, Prototype.OptionalHavingExpr, false, isSynthesize, ExprEvaluatorContext); } else { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, oldEvents, Prototype.OptionalHavingExpr, false, isSynthesize, ExprEvaluatorContext); } } if (_orderByProcessor == null) { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, newEvents, Prototype.OptionalHavingExpr, true, isSynthesize, ExprEvaluatorContext); } else { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, newEvents, Prototype.OptionalHavingExpr, true, isSynthesize, ExprEvaluatorContext); } } if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AResultSetProcessSimple(selectNewEvents, selectOldEvents); } return(new UniformPair <EventBean[]>(selectNewEvents, selectOldEvents)); }
public UniformPair <EventBean[]> ProcessJoinResult(ISet <MultiKey <EventBean> > newEvents, ISet <MultiKey <EventBean> > oldEvents, bool isSynthesize) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().QResultSetProcessUngroupedNonfullyAgg(); } EventBean[] selectOldEvents = null; EventBean[] selectNewEvents; if (_prototype.IsUnidirectional) { Clear(); } ResultSetProcessorUtil.ApplyAggJoinResult(_aggregationService, _exprEvaluatorContext, newEvents, oldEvents); if (_prototype.OptionalHavingNode == null) { if (_prototype.IsSelectRStream) { if (_orderByProcessor == null) { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, oldEvents, false, isSynthesize, _exprEvaluatorContext); } else { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, oldEvents, false, isSynthesize, _exprEvaluatorContext); } } if (_orderByProcessor == null) { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHaving(_selectExprProcessor, newEvents, true, isSynthesize, _exprEvaluatorContext); } else { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsNoHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, newEvents, true, isSynthesize, _exprEvaluatorContext); } } else { if (_prototype.IsSelectRStream) { if (_orderByProcessor == null) { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, oldEvents, _prototype.OptionalHavingNode, false, isSynthesize, _exprEvaluatorContext); } else { selectOldEvents = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, oldEvents, _prototype.OptionalHavingNode, false, isSynthesize, _exprEvaluatorContext); } } if (_orderByProcessor == null) { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsHaving(_selectExprProcessor, newEvents, _prototype.OptionalHavingNode, true, isSynthesize, _exprEvaluatorContext); } else { selectNewEvents = ResultSetProcessorUtil.GetSelectJoinEventsHavingWithOrderBy(_selectExprProcessor, _orderByProcessor, newEvents, _prototype.OptionalHavingNode, true, isSynthesize, _exprEvaluatorContext); } } if ((selectNewEvents == null) && (selectOldEvents == null)) { if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AResultSetProcessUngroupedNonfullyAgg(null, null); } return(null); } if (InstrumentationHelper.ENABLED) { InstrumentationHelper.Get().AResultSetProcessUngroupedNonfullyAgg(selectNewEvents, selectOldEvents); } return(new UniformPair <EventBean[]>(selectNewEvents, selectOldEvents)); }