Esempio n. 1
0
 public AggSvcGroupByWTableRollupMultiKeyImpl(
     TableInstanceGrouped tableInstance,
     TableColumnMethodPairEval[] methodPairs,
     AggregationMultiFunctionAgent[] accessAgents,
     int[] accessColumnsZeroOffset,
     AggregationGroupByRollupDesc groupByRollupDesc)
     : base(
         tableInstance,
         methodPairs,
         accessAgents,
         accessColumnsZeroOffset)
 {
     this.groupByRollupDesc = groupByRollupDesc;
     numKeys = tableInstance.Table.MetaData.KeyTypes.Length;
 }
Esempio n. 2
0
        /// <summary>
        ///     NOTE: Code-generation-invoked method, method name and parameter order matters
        /// </summary>
        /// <param name="resultSetProcessorHelperFactory">helper factory</param>
        /// <param name="agentInstanceContext">context</param>
        /// <param name="groupKeyTypes">types</param>
        /// <param name="groupByRollupDesc">rollup into</param>
        /// <param name="outputConditionPolledFactory">condition factory</param>
        /// <returns>helpers</returns>
        public static ResultSetProcessorGroupedOutputFirstHelper[] InitializeOutputFirstHelpers(
            ResultSetProcessorHelperFactory resultSetProcessorHelperFactory,
            AgentInstanceContext agentInstanceContext,
            Type[] groupKeyTypes,
            AggregationGroupByRollupDesc groupByRollupDesc,
            OutputConditionPolledFactory outputConditionPolledFactory)
        {
            var outputFirstHelpers = new ResultSetProcessorGroupedOutputFirstHelper[groupByRollupDesc.Levels.Length];
            for (var i = 0; i < groupByRollupDesc.Levels.Length; i++) {
                outputFirstHelpers[i] = resultSetProcessorHelperFactory.MakeRSGroupedOutputFirst(
                    agentInstanceContext,
                    groupKeyTypes,
                    outputConditionPolledFactory,
                    groupByRollupDesc,
                    i,
                    null);
            }

            return outputFirstHelpers;
        }
Esempio n. 3
0
 public object GetGroupKeyBinding(ExprNode[] groupKeyExpressions, AggregationGroupByRollupDesc groupByRollupDesc)
 {
     return(null);       // no bindings
 }
Esempio n. 4
0
 public GroupByRollupPlanDesc(ExprNode[] expressions, AggregationGroupByRollupDesc rollupDesc)
 {
     Expressions = expressions;
     RollupDesc  = rollupDesc;
 }
 public ResultSetProcessorGroupedOutputFirstHelper MakeRSGroupedOutputFirst(AgentInstanceContext agentInstanceContext, ExprEvaluator[] groupKeyNodes, OutputConditionPolledFactory optionalOutputFirstConditionFactory, AggregationGroupByRollupDesc optionalGroupByRollupDesc, int optionalRollupLevel)
 {
     return(new ResultSetProcessorGroupedOutputFirstHelperImpl());
 }
Esempio n. 6
0
 public GroupByRollupInfo(ExprNode[] exprNodes, AggregationGroupByRollupDesc rollupDesc)
 {
     ExprNodes = exprNodes;
     RollupDesc = rollupDesc;
 }