Show / Hide Table of Contents

Class ReplaceNonRecursiveAggregations

Replace unit aggregations of non-recursive type (e.g. AVG, COUNT, ...) with recursive aggregations.

Inheritance
Object
ChangeDag<Expression, Table, IExpressionVisitor>
ChangeExpressions
ReplaceNonRecursiveAggregations
Implements
IGenericExpressionVisitor<IEnumerable<Expression>>
IExpressionVisitor
IGenericVisitor<IEnumerable<Expression>>
Inherited Members
ChangeExpressions.CreatedExpressions
ChangeExpressions.Result
ChangeExpressions.Identifier(Expression)
ChangeExpressions.ChangeIdentifier(Expression)
ChangeExpressions.Change(Aggregand)
ChangeExpressions.Change(BinaryOperation)
ChangeExpressions.Change(ColumnReference)
ChangeExpressions.Change(DataSourceColumn)
ChangeExpressions.Change(Extern)
ChangeExpressions.Change(Filter)
ChangeExpressions.Change(JoinKey)
ChangeExpressions.Change(Literal)
ChangeExpressions.Change(RuntimeVariable)
ChangeExpressions.Change(TernaryOperation)
ChangeExpressions.Change(UnaryOperation)
ChangeExpressions.Change(UnionExpression)
ChangeExpressions.Change(VectorOperation)
ChangeExpressions.Change(UnaryWindowFunction)
ChangeExpressions.Visit(Aggregand)
ChangeExpressions.Visit(BinaryAggregation)
ChangeExpressions.Visit(BinaryOperation)
ChangeExpressions.Visit(ColumnReference)
ChangeExpressions.Visit(DataSourceColumn)
ChangeExpressions.Visit(Extern)
ChangeExpressions.Visit(Filter)
ChangeExpressions.Visit(JoinKey)
ChangeExpressions.Visit(Literal)
ChangeExpressions.Visit(RuntimeVariable)
ChangeExpressions.Visit(TernaryOperation)
ChangeExpressions.Visit(UnaryAggregation)
ChangeExpressions.Visit(UnaryOperation)
ChangeExpressions.Visit(UnionExpression)
ChangeExpressions.Visit(VectorOperation)
ChangeExpressions.Visit(UnaryWindowFunction)
ChangeDag<Expression, Table, IExpressionVisitor>.Mapping
ChangeDag<Expression, Table, IExpressionVisitor>.Reset()
ChangeDag<Expression, Table, IExpressionVisitor>.Identifier(Expression)
ChangeDag<Expression, Table, IExpressionVisitor>.ChangeIdentifier(Expression)
ChangeDag<Expression, Table, IExpressionVisitor>.ReplaceParent(Expression, Expression, Expression)
ChangeDag<Expression, Table, IExpressionVisitor>.UberVisit<TSubnode>(TSubnode, Func<TSubnode, Expression>)
ChangeDag<Expression, Table, IExpressionVisitor>.UberVisit<TSubnode, TSubidentifier>(TSubnode, Func<TSubnode, Expression>)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Mangrove.MetricSetTransformers.Normalization
Assembly: MetricSetTransformers.dll
Syntax
public class ReplaceNonRecursiveAggregations : ChangeExpressions, IGenericExpressionVisitor<IEnumerable<Expression>>, IExpressionVisitor, IGenericVisitor<IEnumerable<Expression>>
Remarks

For examle, COUNT(x) gets replaced by SUM(x != null ? 1 : 0), AVG gets replaced by SUM / SUM (with the appropriate null value checks)

Constructors

View Source

ReplaceNonRecursiveAggregations(ReplaceNonRecursiveAggregations.ReplacementFlags)

Declaration
public ReplaceNonRecursiveAggregations(ReplaceNonRecursiveAggregations.ReplacementFlags flags)
Parameters
Type Name Description
ReplaceNonRecursiveAggregations.ReplacementFlags flags

Methods

View Source

Change(BinaryAggregation)

Declaration
protected override Expression Change(BinaryAggregation bagg)
Parameters
Type Name Description
BinaryAggregation bagg
Returns
Type Description
Expression
Overrides
ChangeExpressions.Change(BinaryAggregation)
View Source

Change(UnaryAggregation)

Declaration
protected override Expression Change(UnaryAggregation uagg)
Parameters
Type Name Description
UnaryAggregation uagg
Returns
Type Description
Expression
Overrides
ChangeExpressions.Change(UnaryAggregation)

Implements

IGenericExpressionVisitor<T>
IExpressionVisitor
IGenericVisitor<T>

Extension Methods

ObjectExtensions.EventId(Object)
  • View Source
Back to top Generated by DocFX