示例#1
0
 public AggregationState CreateAccess(
     int agentInstanceId,
     bool join,
     object groupKey,
     AggregationServicePassThru passThru)
 {
     if (Spec.OptionalFilter != null)
     {
         return(new AggregationStateMinMaxByEverWFilter(Spec));
     }
     return(new AggregationStateMinMaxByEver(Spec));
 }
示例#2
0
        public AggregationState CreateAccess(
            int agentInstanceId,
            bool join,
            object groupKey,
            AggregationServicePassThru passThru)
        {
            if (join)
            {
                return _optionalFilter != null 
                    ? new AggregationStateLinearJoinWFilter(_streamNum, _optionalFilter) 
                    : new AggregationStateLinearJoinImpl(_streamNum);
            }

            return _optionalFilter != null 
                ? new AggregationStateLinearWFilter(_streamNum, _optionalFilter) 
                : new AggregationStateLinearImpl(_streamNum);
        }
示例#3
0
 public AggregationState CreateAccess(
     MethodResolutionService methodResolutionService,
     int agentInstanceId,
     int groupId,
     int aggregationId,
     bool join,
     object groupKey,
     AggregationServicePassThru passThru)
 {
     return(ProcCreateAccess(
                methodResolutionService,
                agentInstanceId,
                groupId,
                aggregationId,
                join,
                groupKey,
                passThru));
 }
 public AggregationState MakeAccessAggMinMaxEver(int agentInstanceId, int groupId, int aggregationId, AggregationStateMinMaxByEverSpec spec, AggregationServicePassThru passThru)
 {
     return(new AggregationStateMinMaxByEver(spec));
 }
 public AggregationState MakeAccessAggSortedJoin(int agentInstanceId, int groupId, int aggregationId, AggregationStateSortedSpec spec, AggregationServicePassThru passThru)
 {
     return(new AggregationStateSortedJoin(spec));
 }
 public AggregationState MakeAccessAggLinearJoin(int agentInstanceId, int groupId, int aggregationId, int streamNum, AggregationServicePassThru passThru)
 {
     return(new AggregationStateJoinImpl(streamNum));
 }
        private AggregationState[] NewAccessInternal(int agentInstanceId, AggregationStateFactory[] accessAggSpecs, bool isJoin, object groupKey, AggregationServicePassThru passThru)
        {
            AggregationState[] row = new AggregationState[accessAggSpecs.Length];
            int i = 0;

            foreach (AggregationStateFactory spec in accessAggSpecs)
            {
                row[i] = spec.CreateAccess(this, agentInstanceId, 0, i, isJoin, groupKey, passThru);       // no group id assigned
                i++;
            }
            return(row);
        }
 public AggregationState[] NewAccesses(int agentInstanceId, bool isJoin, AggregationStateFactory[] accessAggSpecs, object groupKey, object groupKeyBinding, AggregationGroupByRollupLevel groupByRollupLevel, AggregationServicePassThru passThru)
 {
     return(NewAccessInternal(agentInstanceId, accessAggSpecs, isJoin, groupKey, passThru));
 }
示例#9
0
 public AggregationRowPair MakeAggs(int agentInstanceId, object groupByKey, object groupKeyBinding, AggregationServicePassThru passThru)
 {
     AggregationMethod[] methods = _methodResolutionService.NewAggregators(_methodFactories, agentInstanceId, groupByKey, groupKeyBinding, null);
     AggregationState[]  states  = _methodResolutionService.NewAccesses(agentInstanceId, false, _stateFactories, groupByKey, groupKeyBinding, null, passThru);
     return(new AggregationRowPair(methods, states));
 }
示例#10
0
 public AggregationState CreateAccess(MethodResolutionService methodResolutionService, int agentInstanceId, int groupId, int aggregationId, bool join, object groupKey, AggregationServicePassThru passThru)
 {
     return(methodResolutionService.MakeCountMinSketch(agentInstanceId, groupId, aggregationId, Specification));
 }
 public AggregationState CreateAccess(MethodResolutionService methodResolutionService, int agentInstanceId, int groupId, int aggregationId, bool join, Object groupBy, AggregationServicePassThru passThru)
 {
     return(methodResolutionService.MakeAccessAggPlugin(agentInstanceId, groupId, aggregationId, join, _stateFactory, groupBy));
 }
 public AggregationState CreateAccess(int agentInstanceId, bool join, object groupKey, AggregationServicePassThru passThru)
 {
     if (join)
     {
         return(new AggregationStateJoinImpl(StreamNum));
     }
     return(new AggregationStateImpl(StreamNum));
 }
示例#13
0
        public static AggregationState[] NewAccesses(int agentInstanceId, bool isJoin, AggregationStateFactory[] accessAggSpecs, object groupKey, AggregationServicePassThru passThru)
        {
            var row = new AggregationState[accessAggSpecs.Length];
            int i   = 0;

            foreach (AggregationStateFactory spec in accessAggSpecs)
            {
                row[i] = spec.CreateAccess(agentInstanceId, isJoin, groupKey, passThru);   // no group id assigned
                i++;
            }
            return(row);
        }
        public AggregationState CreateAccess(int agentInstanceId, bool join, object groupBy, AggregationServicePassThru passThru)
        {
            var context = new PlugInAggregationMultiFunctionStateContext(agentInstanceId, groupBy);

            return(StateFactory.MakeAggregationState(context));
        }
示例#15
0
 public AggregationState CreateAccess(int agentInstanceId, bool @join, object groupKey, AggregationServicePassThru passThru)
 {
     return(ProcCreateAccess(agentInstanceId, join, groupKey, passThru));
 }
示例#16
0
        public ObjectArrayBackedEventBean MakeOA(int agentInstanceId, object groupByKey, object groupKeyBinding, AggregationServicePassThru passThru)
        {
            var row  = MakeAggs(agentInstanceId, groupByKey, groupKeyBinding, passThru);
            var data = new object[_objectArrayEventType.PropertyDescriptors.Count];

            data[0] = row;

            if (_groupKeyIndexes.Length == 1)
            {
                data[_groupKeyIndexes[0]] = groupByKey;
            }
            else
            {
                if (_groupKeyIndexes.Length > 1)
                {
                    object[] keys = ((MultiKeyUntyped)groupByKey).Keys;
                    for (int i = 0; i < _groupKeyIndexes.Length; i++)
                    {
                        data[_groupKeyIndexes[i]] = keys[i];
                    }
                }
            }

            return((ObjectArrayBackedEventBean)_eventAdapterService.AdapterForType(data, _objectArrayEventType));
        }
 public AggregationState CreateAccess(int agentInstanceId, bool join, object groupKey, AggregationServicePassThru passThru)
 {
     return(new CountMinSketchAggState(CountMinSketchState.MakeState(Specification), Specification.Agent));
 }
示例#18
0
 public AggregationState CreateAccess(int agentInstanceId, bool join, object groupKey, AggregationServicePassThru passThru)
 {
     if (join)
     {
         return(new AggregationStateSortedJoin(Spec));
     }
     return(new AggregationStateSortedImpl(Spec));
 }
示例#19
0
 public AggregationState[] NewAccesses(int agentInstanceId, bool isJoin, AggregationStateFactory[] accessAggSpecs, AggregationServicePassThru passThru)
 {
     return(NewAccessInternal(agentInstanceId, accessAggSpecs, isJoin, null, passThru));
 }