Example #1
0
 public ExprTableEvalStrategyUngroupedBase(
     TableAndLockProviderUngrouped provider,
     ExprTableEvalStrategyFactory factory)
 {
     this._provider = provider;
     this._factory = factory;
 }
Example #2
0
        public ExprTableEvalStrategyUngroupedAggSimple(
            TableAndLockProviderUngrouped provider,
            ExprTableEvalStrategyFactory factory)
            : base(provider, factory)

        {
        }
Example #3
0
 public ExprTableEvalStrategyUngroupedTopLevel(
     TableAndLockProviderUngrouped provider,
     IDictionary <string, TableMetadataColumn> items)
     : base(provider)
 {
     this.items = items;
 }
Example #4
0
        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]));
        }
Example #5
0
 public ExprTableEvalStrategyUngroupedAccess(TableAndLockProviderUngrouped provider, int slot, AggregationAccessor accessor)
     : base(provider)
 {
     _slot     = slot;
     _accessor = accessor;
 }
 public ExprTableEvalStrategyUngroupedProp(TableAndLockProviderUngrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval)
     : base(provider)
 {
     _propertyIndex    = propertyIndex;
     _optionalEnumEval = optionalEnumEval;
 }
Example #7
0
 public ExprTableEvalStrategyUngroupedMethod(TableAndLockProviderUngrouped provider, int methodOffset)
     : base(provider)
 {
     this._methodOffset = methodOffset;
 }
 public ExprTableEvalStrategyUngroupedTopLevel(
     TableAndLockProviderUngrouped provider,
     ExprTableEvalStrategyFactory factory)
     : base(provider, factory)
 {
 }
 protected ExprTableEvalStrategyUngroupedBase(TableAndLockProviderUngrouped provider)
 {
     _provider = provider;
 }