protected override void ValidateBindingInternal(ExprValidationContext validationContext, TableMetadata tableMetadata)
        {
            ValidateGroupKeys(tableMetadata);
            var column = ValidateSubpropertyGetCol(tableMetadata, _subpropName);

            if (column is TableMetadataColumnPlain)
            {
                _bindingReturnType = tableMetadata.InternalEventType.GetPropertyType(_subpropName);
                var enumerationSource = ExprDotNodeUtility.GetPropertyEnumerationSource(_subpropName, 0, tableMetadata.InternalEventType, true, true);
                _optionalEnumerationType       = enumerationSource.ReturnType;
                _optionalPropertyEnumEvaluator = enumerationSource.EnumerationGivenEvent;
            }
            else
            {
                var aggcol = (TableMetadataColumnAggregation)column;
                _optionalEnumerationType = aggcol.OptionalEnumerationType;
                _bindingReturnType       = aggcol.Factory.ResultType;
            }
        }
Esempio n. 2
0
 public ExprTableEvalStrategyGroupByPropMulti(TableAndLockProviderGrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval, ExprEvaluator[] groupExpr)
     : base(provider, propertyIndex, optionalEnumEval)
 {
     this._groupExpr = groupExpr;
 }
 public ExprDotEnumerationSourceForProps(ExprEvaluatorEnumeration enumeration, EPType returnType, int?streamOfProviderIfApplicable, ExprEvaluatorEnumerationGivenEvent enumerationGivenEvent)
     : base(returnType, streamOfProviderIfApplicable, enumeration)
 {
     EnumerationGivenEvent = enumerationGivenEvent;
 }
 public ExprTableEvalStrategyUngroupedProp(TableAndLockProviderUngrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval)
     : base(provider)
 {
     _propertyIndex    = propertyIndex;
     _optionalEnumEval = optionalEnumEval;
 }
Esempio n. 5
0
 public ExprTableEvalStrategyGroupByPropMulti(ILockable @lock, IDictionary <Object, ObjectArrayBackedEventBean> aggregationState, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval, ExprEvaluator[] groupExpr)
     : base(@lock, aggregationState, propertyIndex, optionalEnumEval)
 {
     this._groupExpr = groupExpr;
 }
 protected ExprTableEvalStrategyGroupByPropBase(TableAndLockProviderGrouped provider, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval)
     : base(provider)
 {
     _propertyIndex    = propertyIndex;
     _optionalEnumEval = optionalEnumEval;
 }
Esempio n. 7
0
 public ExprTableEvalStrategyUngroupedProp(ILockable @lock, Atomic <ObjectArrayBackedEventBean> aggregationState, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval)
     : base(@lock, aggregationState)
 {
     _propertyIndex    = propertyIndex;
     _optionalEnumEval = optionalEnumEval;
 }
Esempio n. 8
0
 protected ExprTableEvalStrategyGroupByPropBase(ILockable @lock, IDictionary <Object, ObjectArrayBackedEventBean> aggregationState, int propertyIndex, ExprEvaluatorEnumerationGivenEvent optionalEnumEval)
     : base(@lock, aggregationState)
 {
     _propertyIndex    = propertyIndex;
     _optionalEnumEval = optionalEnumEval;
 }