public ExprTableEvalStrategyGroupedAggSimple( TableAndLockProviderGrouped provider, ExprTableEvalStrategyFactory factory) : base(provider, factory) { }
public ExprTableEvalStrategyGroupedBase( TableAndLockProviderGrouped provider, ExprTableEvalStrategyFactory factory) { this._provider = provider; this._factory = factory; }
private static ExprTableAccessEvalStrategy GetTableAccessSubprop( ExprTableAccessNodeSubprop subprop, TableMetadataColumn column, TableAndLockProviderUngrouped ungrouped, TableAndLockProviderGrouped grouped) { if (column is TableMetadataColumnPlain) { var plain = (TableMetadataColumnPlain)column; if (ungrouped != null) { return(new ExprTableEvalStrategyUngroupedProp( ungrouped, plain.IndexPlain, subprop.OptionalPropertyEnumEvaluator)); } if (subprop.GroupKeyEvaluators.Length > 1) { return(new ExprTableEvalStrategyGroupByPropMulti( grouped, plain.IndexPlain, subprop.OptionalPropertyEnumEvaluator, subprop.GroupKeyEvaluators)); } return(new ExprTableEvalStrategyGroupByPropSingle( grouped, plain.IndexPlain, subprop.OptionalPropertyEnumEvaluator, subprop.GroupKeyEvaluators[0])); } var aggcol = (TableMetadataColumnAggregation)column; if (ungrouped != null) { if (!aggcol.Factory.IsAccessAggregation) { return(new ExprTableEvalStrategyUngroupedMethod(ungrouped, aggcol.MethodOffset)); } var pair = aggcol.AccessAccessorSlotPair; return(new ExprTableEvalStrategyUngroupedAccess(ungrouped, pair.Slot, pair.Accessor)); } var columnAggregation = (TableMetadataColumnAggregation)column; if (!columnAggregation.Factory.IsAccessAggregation) { if (subprop.GroupKeyEvaluators.Length > 1) { return(new ExprTableEvalStrategyGroupByMethodMulti( grouped, columnAggregation.MethodOffset, subprop.GroupKeyEvaluators)); } return(new ExprTableEvalStrategyGroupByMethodSingle( grouped, columnAggregation.MethodOffset, subprop.GroupKeyEvaluators[0])); } if (subprop.GroupKeyEvaluators.Length > 1) { return(new ExprTableEvalStrategyGroupByAccessMulti( grouped, columnAggregation.AccessAccessorSlotPair, subprop.GroupKeyEvaluators)); } return(new ExprTableEvalStrategyGroupByAccessSingle( grouped, columnAggregation.AccessAccessorSlotPair, subprop.GroupKeyEvaluators[0])); }
public ExprTableEvalStrategyGroupByPropMulti(TableAndLockProviderGrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval, ExprEvaluator[] groupExpr) : base(provider, propertyIndex, optionalEnumEval) { this._groupExpr = groupExpr; }
protected ExprTableEvalStrategyGroupByAccessBase(TableAndLockProviderGrouped provider, AggregationAccessorSlotPair pair) : base(provider) { _pair = pair; }
public ExprTableEvalStrategyGroupByKeys(TableAndLockProviderGrouped provider) : base(provider) { }
public ExprTableEvalStrategyGroupByAccessSingle(TableAndLockProviderGrouped provider, AggregationAccessorSlotPair pair, ExprEvaluator groupExpr) : base(provider, pair) { this._groupExpr = groupExpr; }
public ExprTableEvalStrategyGroupByMethodSingle(TableAndLockProviderGrouped provider, int index, ExprEvaluator groupExpr) : base(provider, index) { _groupExpr = groupExpr; }
protected ExprTableEvalStrategyGroupByBase(TableAndLockProviderGrouped provider) { _provider = provider; }
public ExprTableEvalStrategyGroupByTopLevelMulti(TableAndLockProviderGrouped provider, IDictionary <String, TableMetadataColumn> items, ExprEvaluator[] groupExpr) : base(provider, items) { _groupExpr = groupExpr; }
protected ExprTableEvalStrategyGroupByMethodBase(TableAndLockProviderGrouped provider, int index) : base(provider) { _index = index; }
protected ExprTableEvalStrategyGroupByTopLevelBase(TableAndLockProviderGrouped provider, IDictionary <String, TableMetadataColumn> items) : base(provider) { _items = items; }
protected ExprTableEvalStrategyGroupByPropBase(TableAndLockProviderGrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval) : base(provider) { _propertyIndex = propertyIndex; _optionalEnumEval = optionalEnumEval; }
public ExprTableEvalStrategyGroupedTopLevel( TableAndLockProviderGrouped provider, ExprTableEvalStrategyFactory factory) : base(provider, factory) { }