Exemplo n.º 1
0
        /// <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);
 }
Exemplo n.º 3
0
 /// <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;
 }
Exemplo n.º 4
0
 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));
 }
Exemplo n.º 7
0
 public ResultSetProcessorAggregateGroupedOutputAllHelperImpl(ResultSetProcessorAggregateGrouped processor)
 {
     _processor = processor;
 }