Beispiel #1
0
        public override InfraOnExprBaseViewResult MakeTable(
            SubordWMatchExprLookupStrategy lookupStrategy,
            TableInstance tableInstance,
            AgentInstanceContext agentInstanceContext)
        {
            var pair = StatementAgentInstanceFactoryUtil.StartResultSetAndAggregation(
                resultSetProcessorPrototype,
                agentInstanceContext,
                false,
                null);

            var audit = AuditEnum.INSERT.GetAudit(agentInstanceContext.Annotations) != null;
            TableInstance tableInstanceInsertInto = null;
            if (optionalInsertIntoTable != null) {
                tableInstanceInsertInto =
                    optionalInsertIntoTable.GetTableInstance(agentInstanceContext.AgentInstanceId);
            }

            var selectView = new OnExprViewTableSelect(
                lookupStrategy,
                tableInstance,
                agentInstanceContext,
                pair.First,
                this,
                audit,
                IsSelectAndDelete,
                tableInstanceInsertInto);
            return new InfraOnExprBaseViewResult(selectView, pair.Second);
        }
Beispiel #2
0
 public OnExprViewTableDelete(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance rootView,
     AgentInstanceContext agentInstanceContext)
     : base(lookupStrategy, rootView, agentInstanceContext, true)
 {
 }
        public override OnExprViewResult DetermineOnExprView(AgentInstanceContext agentInstanceContext, IList <StopCallback> stopCallbacks, bool isRecoveringResilient)
        {
            // get result set processor and aggregation services
            Pair <ResultSetProcessor, AggregationService> pair = EPStatementStartMethodHelperUtil.StartResultSetAndAggregation(_resultSetProcessorPrototype, agentInstanceContext, false, null);

            // get named window processor instance
            NamedWindowProcessorInstance processorInstance = _processor.GetProcessorInstance(agentInstanceContext);

            // obtain on-expr view
            EventTable[] indexes = null;
            if (_queryPlan.IndexDescs != null)
            {
                indexes = SubordinateQueryPlannerUtil.RealizeTables(
                    _queryPlan.IndexDescs,
                    _processor.NamedWindowType,
                    processorInstance.RootViewInstance.IndexRepository,
                    processorInstance.RootViewInstance.DataWindowContents,
                    processorInstance.TailViewInstance.AgentInstanceContext,
                    isRecoveringResilient);
            }
            SubordWMatchExprLookupStrategy strategy       = _queryPlan.Factory.Realize(indexes, agentInstanceContext, processorInstance.RootViewInstance.DataWindowContents, processorInstance.RootViewInstance.VirtualDataWindow);
            NamedWindowOnExprBaseView      onExprBaseView = _onExprFactory.Make(strategy, processorInstance.RootViewInstance, agentInstanceContext, pair.First);

            return(new OnExprViewResult(onExprBaseView, pair.Second));
        }
 public OnExprViewNamedWindowDelete(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     AgentInstanceContext agentInstanceContext)
     : base(lookupStrategy, rootView, agentInstanceContext)
 {
     IsSilentDelete = HintEnum.SILENT_DELETE.HasHint(agentInstanceContext.Annotations);
 }
Beispiel #5
0
 public override InfraOnExprBaseViewResult MakeTable(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext)
 {
     var view = new OnExprViewTableUpdate(lookupStrategy, tableInstance, agentInstanceContext, this);
     return new InfraOnExprBaseViewResult(view, null);
 }
 public override NamedWindowOnExprBaseView Make(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance namedWindowRootViewInstance,
     AgentInstanceContext agentInstanceContext,
     ResultSetProcessor resultSetProcessor)
 {
     return(new NamedWindowOnUpdateView(lookupStrategy, namedWindowRootViewInstance, agentInstanceContext, this));
 }
Beispiel #7
0
 protected TableOnViewBase(SubordWMatchExprLookupStrategy lookupStrategy, TableStateInstance tableStateInstance, ExprEvaluatorContext exprEvaluatorContext, TableMetadata metadata, bool acquireWriteLock)
 {
     this.LookupStrategy       = lookupStrategy;
     this.TableStateInstance   = tableStateInstance;
     this.exprEvaluatorContext = exprEvaluatorContext;
     this.Metadata             = metadata;
     this.AcquireWriteLock     = acquireWriteLock;
 }
Beispiel #8
0
 public TableOnViewBase Make(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableStateInstance tableState,
     AgentInstanceContext agentInstanceContext,
     ResultSetProcessor resultSetProcessor)
 {
     return(new TableOnMergeView(lookupStrategy, tableState, agentInstanceContext, TableMetadata, this));
 }
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="lookupStrategy">for handling trigger events to determine deleted events</param>
 /// <param name="rootView">to indicate which events to delete</param>
 /// <param name="agentInstanceContext">context for expression evalauation</param>
 public OnExprViewNameWindowBase(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     AgentInstanceContext agentInstanceContext)
 {
     this.lookupStrategy = lookupStrategy;
     this.rootView = rootView;
     this.agentInstanceContext = agentInstanceContext;
 }
Beispiel #10
0
 public override InfraOnExprBaseViewResult MakeTable(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext)
 {
     return new InfraOnExprBaseViewResult(
         new OnExprViewTableDelete(lookupStrategy, tableInstance, agentInstanceContext),
         null);
 }
Beispiel #11
0
 public override InfraOnExprBaseViewResult MakeNamedWindow(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance namedWindowRootViewInstance,
     AgentInstanceContext agentInstanceContext)
 {
     return new InfraOnExprBaseViewResult(
         new OnExprViewNamedWindowDelete(lookupStrategy, namedWindowRootViewInstance, agentInstanceContext),
         null);
 }
Beispiel #12
0
 public OnExprViewNamedWindowUpdate(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     AgentInstanceContext agentInstanceContext,
     InfraOnUpdateViewFactory parent)
     : base(lookupStrategy, rootView, agentInstanceContext)
 {
     this.parent = parent;
 }
Beispiel #13
0
 public OnExprViewTableMerge(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     InfraOnMergeViewFactory parent)
     : base(lookupStrategy, tableInstance, agentInstanceContext, parent.OnMergeHelper.IsRequiresTableWriteLock)
 {
     this.parent = parent;
 }
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="lookupStrategy">for handling trigger events to determine deleted events</param>
 /// <param name="rootView">to indicate which events to delete</param>
 /// <param name="exprEvaluatorContext">context for expression evalauation</param>
 protected NamedWindowOnExprBaseView(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     ExprEvaluatorContext exprEvaluatorContext)
 {
     _lookupStrategy       = lookupStrategy;
     RootView              = rootView;
     _exprEvaluatorContext = exprEvaluatorContext;
 }
Beispiel #15
0
 public TableOnSelectView(SubordWMatchExprLookupStrategy lookupStrategy, TableStateInstance rootView, ExprEvaluatorContext exprEvaluatorContext, TableMetadata metadata,
                          TableOnSelectViewFactory parent, ResultSetProcessor resultSetProcessor, bool audit, bool deleteAndSelect)
     : base(lookupStrategy, rootView, exprEvaluatorContext, metadata, deleteAndSelect)
 {
     _parent             = parent;
     _resultSetProcessor = resultSetProcessor;
     _audit           = audit;
     _deleteAndSelect = deleteAndSelect;
 }
Beispiel #16
0
 public NamedWindowOnSelectView(SubordWMatchExprLookupStrategy lookupStrategy, NamedWindowRootViewInstance rootView, ExprEvaluatorContext exprEvaluatorContext, NamedWindowOnSelectViewFactory parent, ResultSetProcessor resultSetProcessor, bool audit, bool isDelete, TableStateInstance tableStateInstanceInsertInto)
     : base(lookupStrategy, rootView, exprEvaluatorContext)
 {
     _parent             = parent;
     _resultSetProcessor = resultSetProcessor;
     _audit    = audit;
     _isDelete = isDelete;
     _tableStateInstanceInsertInto = tableStateInstanceInsertInto;
 }
Beispiel #17
0
 public TableOnMergeView(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableStateInstance rootView,
     ExprEvaluatorContext exprEvaluatorContext,
     TableMetadata metadata,
     TableOnMergeViewFactory parent)
     : base(lookupStrategy, rootView, exprEvaluatorContext, metadata, parent.OnMergeHelper.IsRequiresWriteLock)
 {
     this.parent = parent;
 }
Beispiel #18
0
 internal OnExprViewTableBase(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     bool acquireWriteLock)
 {
     this.lookupStrategy = lookupStrategy;
     this.tableInstance = tableInstance;
     this.agentInstanceContext = agentInstanceContext;
     this.acquireWriteLock = acquireWriteLock;
 }
Beispiel #19
0
        public override NamedWindowOnExprBaseView Make(SubordWMatchExprLookupStrategy lookupStrategy, NamedWindowRootViewInstance namedWindowRootViewInstance, AgentInstanceContext agentInstanceContext, ResultSetProcessor resultSetProcessor)
        {
            bool audit = AuditEnum.INSERT.GetAudit(agentInstanceContext.StatementContext.Annotations) != null;
            TableStateInstance tableStateInstance = null;

            if (_optionalInsertIntoTableName != null)
            {
                tableStateInstance = agentInstanceContext.StatementContext.TableService.GetState(_optionalInsertIntoTableName, agentInstanceContext.AgentInstanceId);
            }
            return(new NamedWindowOnSelectView(lookupStrategy, namedWindowRootViewInstance, agentInstanceContext, this, resultSetProcessor, audit, _deleteAndSelect, tableStateInstance));
        }
Beispiel #20
0
 public override InfraOnExprBaseViewResult MakeNamedWindow(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance namedWindowRootViewInstance,
     AgentInstanceContext agentInstanceContext)
 {
     var view = new OnExprViewNamedWindowUpdate(
         lookupStrategy,
         namedWindowRootViewInstance,
         agentInstanceContext,
         this);
     return new InfraOnExprBaseViewResult(view, null);
 }
Beispiel #21
0
 public OnExprViewTableUpdate(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     InfraOnUpdateViewFactory parent)
     : base(
         lookupStrategy,
         tableInstance,
         agentInstanceContext,
         true)
 {
     this.parent = parent;
 }
        public override InfraOnExprBaseViewResult MakeTable(
            SubordWMatchExprLookupStrategy lookupStrategy,
            TableInstance tableInstance,
            AgentInstanceContext agentInstanceContext)
        {
            View view;
            if (OnMergeHelper.InsertUnmatched != null) {
                view = new OnExprViewTableMergeInsertUnmatched(tableInstance, agentInstanceContext, this);
            }
            else {
                view = new OnExprViewTableMerge(lookupStrategy, tableInstance, agentInstanceContext, this);
            }

            return new InfraOnExprBaseViewResult(view, null);
        }
Beispiel #23
0
 public OnExprViewTableSelect(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext,
     ResultSetProcessor resultSetProcessor,
     InfraOnSelectViewFactory parent,
     bool audit,
     bool deleteAndSelect,
     TableInstance tableInstanceInsertInto)
     : base(lookupStrategy, tableInstance, agentInstanceContext, deleteAndSelect)
 {
     this.parent = parent;
     this.resultSetProcessor = resultSetProcessor;
     this.audit = audit;
     this.deleteAndSelect = deleteAndSelect;
     this.tableInstanceInsertInto = tableInstanceInsertInto;
 }
 public OnExprViewNamedWindowSelect(
     SubordWMatchExprLookupStrategy lookupStrategy,
     NamedWindowRootViewInstance rootView,
     AgentInstanceContext agentInstanceContext,
     InfraOnSelectViewFactory parent,
     ResultSetProcessor resultSetProcessor,
     bool audit,
     bool isDelete,
     TableInstance tableInstanceInsertInto)
     :
     base(lookupStrategy, rootView, agentInstanceContext)
 {
     this.parent = parent;
     this.resultSetProcessor = resultSetProcessor;
     this.audit = audit;
     this.isDelete = isDelete;
     this.tableInstanceInsertInto = tableInstanceInsertInto;
 }
        public override InfraOnExprBaseViewResult MakeNamedWindow(
            SubordWMatchExprLookupStrategy lookupStrategy,
            NamedWindowRootViewInstance namedWindowRootViewInstance,
            AgentInstanceContext agentInstanceContext)
        {
            View view;
            if (OnMergeHelper.InsertUnmatched != null) {
                view = new OnExprViewNamedWindowMergeInsertUnmatched(
                    namedWindowRootViewInstance,
                    agentInstanceContext,
                    this);
            }
            else {
                view = new OnExprViewNamedWindowMerge(
                    lookupStrategy,
                    namedWindowRootViewInstance,
                    agentInstanceContext,
                    this);
            }

            return new InfraOnExprBaseViewResult(view, null);
        }
 public NamedWindowOnDeleteView(SubordWMatchExprLookupStrategy lookupStrategy, NamedWindowRootViewInstance rootView, ExprEvaluatorContext exprEvaluatorContext, NamedWindowOnDeleteViewFactory parent)
     : base(lookupStrategy, rootView, exprEvaluatorContext)
 {
     _parent = parent;
 }
 public abstract InfraOnExprBaseViewResult MakeTable(
     SubordWMatchExprLookupStrategy lookupStrategy,
     TableInstance tableInstance,
     AgentInstanceContext agentInstanceContext);
 public TableOnViewBase Make(SubordWMatchExprLookupStrategy lookupStrategy, TableStateInstance tableState, AgentInstanceContext agentInstanceContext, ResultSetProcessor resultSetProcessor)
 {
     bool audit = AuditEnum.INSERT.GetAudit(agentInstanceContext.StatementContext.Annotations) != null;
     return new TableOnSelectView(lookupStrategy, tableState, agentInstanceContext, _tableMetadata, this, resultSetProcessor, audit, _deleteAndSelect);
 }
Beispiel #29
0
 public TableOnDeleteView(SubordWMatchExprLookupStrategy lookupStrategy, TableStateInstance rootView, ExprEvaluatorContext exprEvaluatorContext, TableMetadata metadata, TableOnDeleteViewFactory parent)
     : base(lookupStrategy, rootView, exprEvaluatorContext, metadata, true)
 {
     this.parent = parent;
 }
Beispiel #30
0
 public abstract NamedWindowOnExprBaseView Make(SubordWMatchExprLookupStrategy lookupStrategy, NamedWindowRootViewInstance namedWindowRootViewInstance, AgentInstanceContext agentInstanceContext, ResultSetProcessor resultSetProcessor);