/// <summary> /// Creates an aggregated group enumerator. /// </summary> /// <param name="sourceIterator">The source iterator.</param> /// <param name="resultSetProcessor">The result set processor.</param> /// <param name="aggregationService">The aggregation service.</param> /// <param name="exprEvaluatorContext">The expr evaluator context.</param> /// <returns></returns> public static IEnumerator<EventBean> Create( IEnumerator<EventBean> sourceIterator, ResultSetProcessorAggregateGrouped resultSetProcessor, AggregationService aggregationService, ExprEvaluatorContext exprEvaluatorContext) { EventBean[] eventsPerStream = new EventBean[1]; while (sourceIterator.MoveNext()) { eventsPerStream[0] = sourceIterator.Current; var groupKey = resultSetProcessor.GenerateGroupKeySingle(eventsPerStream, true); aggregationService.SetCurrentAccess(groupKey, exprEvaluatorContext.AgentInstanceId, null); if (resultSetProcessor.HasHavingClause) { var pass = resultSetProcessor.EvaluateHavingClause(eventsPerStream, true, exprEvaluatorContext); if (!pass) { continue; } } yield return resultSetProcessor.SelectExprProcessor.Process( eventsPerStream, true, true, exprEvaluatorContext); } }
public ResultSetProcessorAggregateGroupedOutputLastHelper MakeRSAggregateGroupedOutputLastOpt( AgentInstanceContext agentInstanceContext, ResultSetProcessorAggregateGrouped processor, Type[] groupKeyTypes, DataInputOutputSerde serde) { return new ResultSetProcessorAggregateGroupedOutputLastHelperImpl(processor); }
/// <summary> /// Ctor. /// </summary> /// <param name="sourceIterator">is the parent iterator</param> /// <param name="resultSetProcessor">for constructing result rows</param> /// <param name="aggregationService">for pointing to the right aggregation row</param> /// <param name="exprEvaluatorContext">context for expression evalauation</param> public ResultSetAggregateGroupedIterator( IEnumerator <EventBean> sourceIterator, ResultSetProcessorAggregateGrouped resultSetProcessor, AggregationService aggregationService, ExprEvaluatorContext exprEvaluatorContext) { _sourceIterator = sourceIterator; _resultSetProcessor = resultSetProcessor; _aggregationService = aggregationService; _eventsPerStream = new EventBean[1]; _exprEvaluatorContext = exprEvaluatorContext; _currResult = null; _iterate = true; }
public ResultSetProcessorAggregateGroupedOutputLastHelperImpl(ResultSetProcessorAggregateGrouped processor) { _processor = processor; _outputLastUnordGroupNew = new LinkedHashMap <object, EventBean>(); _outputLastUnordGroupOld = new LinkedHashMap <object, EventBean>(); }
public ResultSetProcessorAggregateGroupedOutputLastHelper MakeRSAggregateGroupedOutputLastOpt(AgentInstanceContext agentInstanceContext, ResultSetProcessorAggregateGrouped resultSetProcessorAggregateGrouped, ResultSetProcessorAggregateGroupedFactory prototype) { return(new ResultSetProcessorAggregateGroupedOutputLastHelperImpl(resultSetProcessorAggregateGrouped)); }
public ResultSetProcessorAggregateGroupedOutputAllHelper MakeRSAggregateGroupedOutputAll(AgentInstanceContext agentInstanceContext, ResultSetProcessorAggregateGrouped processor, ResultSetProcessorAggregateGroupedFactory prototype) { return(new ResultSetProcessorAggregateGroupedOutputAllHelperImpl(processor)); }
public ResultSetProcessorAggregateGroupedOutputAllHelperImpl(ResultSetProcessorAggregateGrouped processor) { _processor = processor; }