Example #1
0
        private OnTriggerActivatorDesc ActivatorNamedWindow(
            NamedWindowConsumerStreamSpec namedSpec,
            StatementCompileTimeServices services)
        {
            NamedWindowMetaData namedWindow = namedSpec.NamedWindow;
            string triggerEventTypeName = namedSpec.NamedWindow.EventType.Name;

            var typesFilterValidation = new StreamTypeServiceImpl(
                namedWindow.EventType,
                namedSpec.OptionalStreamName,
                false);
            var filterSingle =
                ExprNodeUtilityMake.ConnectExpressionsByLogicalAndWhenNeeded(namedSpec.FilterExpressions);
            QueryGraphForge filterQueryGraph = EPLValidationUtil.ValidateFilterGetQueryGraphSafe(
                filterSingle,
                typesFilterValidation,
                @base.StatementRawInfo,
                services);
            var activator = new ViewableActivatorNamedWindowForge(
                namedSpec,
                namedWindow,
                filterSingle,
                filterQueryGraph,
                false,
                namedSpec.OptPropertyEvaluator);

            var activatorResultEventType = namedWindow.EventType;
            if (namedSpec.OptPropertyEvaluator != null) {
                activatorResultEventType = namedSpec.OptPropertyEvaluator.FragmentEventType;
            }

            return new OnTriggerActivatorDesc(activator, triggerEventTypeName, activatorResultEventType);
        }
 public SubSelectStrategyFactoryLocalViewPreloadedForge(
     IList <ViewFactoryForge> viewForges,
     ViewResourceDelegateDesc viewResourceDelegateDesc,
     Pair <EventTableFactoryFactoryForge, SubordTableLookupStrategyFactoryForge> lookupStrategy,
     ExprNode filterExprNode,
     bool correlatedSubquery,
     AggregationServiceForgeDesc aggregationServiceForgeDesc,
     int subqueryNumber,
     ExprNode[] groupKeys,
     NamedWindowMetaData namedWindow,
     ExprNode namedWindowFilterExpr,
     QueryGraphForge namedWindowFilterQueryGraph,
     MultiKeyClassRef groupByMultiKeyClasses)
 {
     _viewForges = viewForges;
     _viewResourceDelegateDesc    = viewResourceDelegateDesc;
     _lookupStrategy              = lookupStrategy;
     _filterExprNode              = filterExprNode;
     _correlatedSubquery          = correlatedSubquery;
     _aggregationServiceForgeDesc = aggregationServiceForgeDesc;
     _subqueryNumber              = subqueryNumber;
     _groupKeys                   = groupKeys;
     _namedWindow                 = namedWindow;
     _namedWindowFilterExpr       = namedWindowFilterExpr;
     _namedWindowFilterQueryGraph = namedWindowFilterQueryGraph;
     _groupByMultiKeyClasses      = groupByMultiKeyClasses;
 }