public object GetValue(AggregationState state, EvaluateParams evalParams)
        {
            var linear = ((AggregationStateLinear)state);

            if (linear.Count == 0)
            {
                return(null);
            }
            var array = Array.CreateInstance(_componentType, linear.Count);
            var count = 0;

            foreach (var bean in linear)
            {
                _eventsPerStream[_streamNum] = bean;
                var value = _childNode.Evaluate(new EvaluateParams(_eventsPerStream, true, null));
                array.SetValue(value, count++);
            }

            return(array);
        }
        private EventBean GetBean(AggregationState state)
        {
            EventBean bean;
            var       index = _constant;

            if (index == -1)
            {
                var result = _indexNode.Evaluate(new EvaluateParams(null, true, null));
                if ((result == null) || (!(result is int)))
                {
                    return(null);
                }
                index = result.AsInt();
            }
            if (_isFirst)
            {
                bean = ((AggregationStateLinear)state).GetFirstNthValue(index);
            }
            else
            {
                bean = ((AggregationStateLinear)state).GetLastNthValue(index);
            }
            return(bean);
        }
示例#3
0
 public EventBean GetEnumerableEvent(AggregationState state, EventBean[] eventsPerSteam, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(((SupportAggMFStateSingleEvent)state).Event);
 }
        public void ApplyLeave(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
        {
            var evaluateParams = new EvaluateParams(eventsPerStream, false, exprEvaluatorContext);
            var pass           = _filterEval.Evaluate(evaluateParams);

            if (true.Equals(pass))
            {
                var rewrite = new EventBean[] { eventsPerStream[_streamNum] };
                aggregationState.ApplyLeave(rewrite, exprEvaluatorContext);
            }
        }
示例#5
0
 public EventBean GetEnumerableEvent(AggregationState state, EvaluateParams evalParams)
 {
     return(((AggregationStateLinear)state).FirstValue);
 }
示例#6
0
 public EventBean GetEnumerableEvent(AggregationState state, EventBean[] eventsPerSteam, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(null);
 }
示例#7
0
        public void ApplyEnter(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
        {
            var value = _stringEvaluator.Evaluate(new EvaluateParams(eventsPerStream, true, exprEvaluatorContext));
            var state = (CountMinSketchAggState)aggregationState;

            state.Add(value);
        }
 public object GetValue(AggregationState state, EvaluateParams evalParams)
 {
     return ProcGetValue(state, evalParams);
 }
示例#9
0
 public void AAggAccessEnterLeave(bool enter, int index, AggregationState state)
 {
 }
示例#10
0
 public object GetValue(AggregationState state, EvaluateParams evaluateParams)
 {
     return(((SupportAggMFStateEnumerableEvents)state).EventsAsUnderlyingArray);
 }
 public abstract object GetValue(
     AggregationState state,
     EventBean[] eventsPerStream,
     bool isNewData,
     ExprEvaluatorContext exprEvaluatorContext);
示例#12
0
 protected override void AggregateValue(object value, AggregationState aggregationState, params object[] args)
 {
 }
示例#13
0
 protected override string ExtractAggregateValue(AggregationState aggregationState)
 {
     return(aggregationState.GetValue <string>("value"));
 }
示例#14
0
 public ICollection <EventBean> GetEnumerableEvents(AggregationState state, EventBean[] eventsPerStream, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(((AggregationStateSorted)state).CollectionReadOnly());
 }
示例#15
0
            public void ApplyEnter(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
            {
                var value  = _evaluator.Evaluate(new EvaluateParams(eventsPerStream, true, exprEvaluatorContext));
                var themap = (RefCountedMapState)aggregationState;

                themap.Enter(value);
            }
示例#16
0
 public PublishController(AggregationState state, Zonfig zonfig)
 {
     _state  = state;
     _zonfig = zonfig;
 }
示例#17
0
 public EventBean GetEnumerableEvent(AggregationState state, EvaluateParams evalParams)
 {
     return(GetBean(state));
 }
 public EventBean GetEnumerableEvent(AggregationState state, EventBean[] eventsPerStream, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(((AggregationStateLinear)state).FirstValue);
 }
示例#19
0
 public ICollection <EventBean> GetEnumerableEvents(AggregationState state, EvaluateParams evalParams)
 {
     return(((SupportAggMFStateEnumerableEvents)state).Events);
 }
示例#20
0
        public object GetValue(AggregationState aggregationState, EvaluateParams evalParams)
        {
            var state = (CountMinSketchAggState)aggregationState;

            return(state.GetFromBytes());
        }
 public void ApplyLeave(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
 {
     EventBean[] rewrite = new EventBean[] { eventsPerStream[streamNum] };
     aggregationState.ApplyLeave(rewrite, exprEvaluatorContext);
 }
示例#22
0
            public void ApplyLeave(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
            {
                object             value  = _evaluator.Evaluate(new EvaluateParams(eventsPerStream, true, exprEvaluatorContext));
                RefCountedMapState themap = (RefCountedMapState)aggregationState;

                themap.Leave(value);
            }
示例#23
0
 public void QAggAccessEnterLeave(bool enter, int index, AggregationState state, ExprNode aggExpr)
 {
 }
示例#24
0
 public EventBean GetEnumerableEvent(AggregationState state, EvaluateParams evalParams)
 {
     return(((SupportAggMFStateSingleEvent)state).Event);
 }
示例#25
0
 public object GetValue(AggregationState state, EventBean[] eventsPerStream, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(((SupportAggMFStateArrayCollScalar)state).ValueAsArray);
 }
示例#26
0
 public object GetValue(AggregationState state, EvaluateParams evalParams)
 {
     return(null);
 }
示例#27
0
 public ICollection <object> GetEnumerableScalar(AggregationState state, EventBean[] eventsPerStream, bool isNewData, ExprEvaluatorContext exprEvaluatorContext)
 {
     return(null);
 }
示例#28
0
 public ICollection <EventBean> GetEnumerableEvents(AggregationState state, EvaluateParams evalParams)
 {
     return(null);
 }
示例#29
0
 public void ApplyLeave(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext, AggregationState aggregationState)
 {
 }
示例#30
0
 public ICollection <object> GetEnumerableScalar(AggregationState state, EvaluateParams evalParams)
 {
     return(null);
 }