protected internal static ResultSetProcessor ProcessorWithAssign( ResultSetProcessorFactoryProvider processorProvider, AgentInstanceContext agentInstanceContext, FAFQueryMethodAssignerSetter assignerSetter, IDictionary<int, ExprTableEvalStrategyFactory> tableAccesses, IDictionary<int, SubSelectFactory> subselects) { // start table-access var tableAccessEvals = ExprTableEvalHelperStart.StartTableAccess(tableAccesses, agentInstanceContext); // get RSP var pair = StatementAgentInstanceFactoryUtil.StartResultSetAndAggregation( processorProvider, agentInstanceContext, false, null); // start subselects var subselectStopCallbacks = new List<AgentInstanceMgmtCallback>(2); IDictionary<int, SubSelectFactoryResult> subselectActivations = SubSelectHelperStart.StartSubselects( subselects, agentInstanceContext, subselectStopCallbacks, false); // assign assignerSetter.Assign( new StatementAIFactoryAssignmentsImpl( pair.Second, null, null, subselectActivations, tableAccessEvals, null)); return pair.First; }
protected internal static ResultSetProcessor ProcessorWithAssign( ResultSetProcessorFactoryProvider processorProvider, AgentInstanceContext agentInstanceContext, FAFQueryMethodAssignerSetter assignerSetter, IDictionary<int, ExprTableEvalStrategyFactory> tableAccesses) { // start table-access var tableAccessEvals = ExprTableEvalHelperStart.StartTableAccess(tableAccesses, agentInstanceContext); // get RSP var pair = StatementAgentInstanceFactoryUtil.StartResultSetAndAggregation( processorProvider, agentInstanceContext, false, null); // assign assignerSetter.Assign( new StatementAIFactoryAssignmentsImpl( pair.Second, null, null, Collections.GetEmptyMap<int, SubSelectFactoryResult>(), tableAccessEvals, null)); return pair.First; }
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); }