public StatementAgentInstanceFactorySelect(
     int numStreams,
     ViewableActivator[] eventStreamParentViewableActivators,
     StatementContext statementContext,
     StatementSpecCompiled statementSpec,
     EPServicesContext services,
     StreamTypeService typeService,
     ViewFactoryChain[] unmaterializedViewChain,
     ResultSetProcessorFactoryDesc resultSetProcessorFactoryDesc,
     StreamJoinAnalysisResult joinAnalysisResult,
     bool recoveringResilient,
     JoinSetComposerPrototype joinSetComposerPrototype,
     SubSelectStrategyCollection subSelectStrategyCollection,
     ViewResourceDelegateVerified viewResourceDelegate,
     OutputProcessViewFactory outputProcessViewFactory) :
     base(statementSpec.Annotations)
 {
     _numStreams = numStreams;
     _eventStreamParentViewableActivators = eventStreamParentViewableActivators;
     _statementContext              = statementContext;
     _statementSpec                 = statementSpec;
     _services                      = services;
     _typeService                   = typeService;
     _unmaterializedViewChain       = unmaterializedViewChain;
     _resultSetProcessorFactoryDesc = resultSetProcessorFactoryDesc;
     _joinAnalysisResult            = joinAnalysisResult;
     _joinSetComposerPrototype      = joinSetComposerPrototype;
     _subSelectStrategyCollection   = subSelectStrategyCollection;
     _viewResourceDelegate          = viewResourceDelegate;
     _outputProcessViewFactory      = outputProcessViewFactory;
 }
 public SubSelectStrategyFactoryLocalViewPreloaded(int subqueryNumber, SubSelectActivationHolder subSelectHolder, Pair <EventTableFactory, SubordTableLookupStrategyFactory> pair, ExprNode filterExprNode, ExprEvaluator filterExprEval, bool correlatedSubquery, AggregationServiceFactoryDesc aggregationServiceFactory, ViewResourceDelegateVerified viewResourceDelegate, ExprEvaluator[] groupKeys)
 {
     _subqueryNumber            = subqueryNumber;
     _subSelectHolder           = subSelectHolder;
     _pair                      = pair;
     _filterExprNode            = filterExprNode;
     _filterExprEval            = filterExprEval;
     _correlatedSubquery        = correlatedSubquery;
     _aggregationServiceFactory = aggregationServiceFactory;
     _viewResourceDelegate      = viewResourceDelegate;
     _groupKeys                 = groupKeys;
 }
Пример #3
0
        public static IDictionary <ExprPreviousNode, ExprPreviousEvalStrategy> CompilePreviousNodeStrategies(ViewResourceDelegateVerified viewResourceDelegate, AgentInstanceViewFactoryChainContext[] contexts)
        {
            if (!viewResourceDelegate.HasPrevious)
            {
                return(EmptyMap);
            }

            IDictionary <ExprPreviousNode, ExprPreviousEvalStrategy> strategies = new Dictionary <ExprPreviousNode, ExprPreviousEvalStrategy>();

            for (int streamNum = 0; streamNum < contexts.Length; streamNum++)
            {
                // get stream-specific info
                ViewResourceDelegateVerifiedStream @delegate = viewResourceDelegate.PerStream[streamNum];

                // obtain getter
                HandlePrevious(@delegate.PreviousRequests, contexts[streamNum].PreviousNodeGetter, strategies);
            }

            return(strategies);
        }
Пример #4
0
        public static IDictionary <ExprPriorNode, ExprPriorEvalStrategy> CompilePriorNodeStrategies(ViewResourceDelegateVerified viewResourceDelegate, AgentInstanceViewFactoryChainContext[] viewFactoryChainContexts)
        {
            if (!viewResourceDelegate.HasPrior)
            {
                return(new Dictionary <ExprPriorNode, ExprPriorEvalStrategy>());
            }

            IDictionary <ExprPriorNode, ExprPriorEvalStrategy> strategies = new Dictionary <ExprPriorNode, ExprPriorEvalStrategy>();

            for (var streamNum = 0; streamNum < viewResourceDelegate.PerStream.Length; streamNum++)
            {
                var viewUpdatedCollection = viewFactoryChainContexts[streamNum].PriorViewUpdatedCollection;
                var callbacksPerIndex     = viewResourceDelegate.PerStream[streamNum].PriorRequests;
                HandlePrior(viewUpdatedCollection, callbacksPerIndex, strategies);
            }

            return(strategies);
        }