public override OnExprViewResult DetermineOnExprView(AgentInstanceContext agentInstanceContext, IList <StopCallback> stopCallbacks, bool isRecoveringResilient) { var processors = new ResultSetProcessor[_splitDesc.ProcessorFactories.Length]; for (var i = 0; i < processors.Length; i++) { var factory = _splitDesc.ProcessorFactories[i]; var processor = factory.ResultSetProcessorFactory.Instantiate(null, null, agentInstanceContext); processors[i] = processor; } var tableStateInstances = new TableStateInstance[processors.Length]; for (var i = 0; i < _insertIntoTableNames.Length; i++) { var tableName = _insertIntoTableNames[i]; if (tableName != null) { tableStateInstances[i] = agentInstanceContext.StatementContext.TableService.GetState(tableName, agentInstanceContext.AgentInstanceId); } } var desc = (OnTriggerSplitStreamDesc)StatementSpec.OnTriggerDesc; View view = new RouteResultView( desc.IsFirst, _activatorResultEventType, StatementContext.EpStatementHandle, Services.InternalEventRouter, tableStateInstances, _splitDesc.NamedWindowInsert, processors, _splitDesc.WhereClauses, agentInstanceContext); return(new OnExprViewResult(view, null)); }
public override OnExprViewResult DetermineOnExprView( AgentInstanceContext agentInstanceContext, IList <StopCallback> stopCallbacks, bool isRecoveringReslient) { var processors = new ResultSetProcessor[_items.Length]; for (int i = 0; i < processors.Length; i++) { ResultSetProcessorFactoryDesc factory = _items[i].FactoryDesc; ResultSetProcessor processor = factory.ResultSetProcessorFactory.Instantiate( null, null, agentInstanceContext); processors[i] = processor; } var tableStateInstances = new TableStateInstance[processors.Length]; for (int i = 0; i < _items.Length; i++) { string tableName = _items[i].InsertIntoTableNames; if (tableName != null) { tableStateInstances[i] = agentInstanceContext.StatementContext.TableService.GetState( tableName, agentInstanceContext.AgentInstanceId); } } var whereClauseEvals = new ExprEvaluator[_items.Length]; for (int i = 0; i < _items.Length; i++) { whereClauseEvals[i] = _items[i].WhereClause == null ? null : _items[i].WhereClause.ExprEvaluator; } var desc = (OnTriggerSplitStreamDesc)base.StatementSpec.OnTriggerDesc; var view = new RouteResultView( desc.IsFirst, _activatorResultEventType, base.StatementContext.EpStatementHandle, base.Services.InternalEventRouter, tableStateInstances, _items, processors, whereClauseEvals, agentInstanceContext); return(new OnExprViewResult(view, null)); }