Show / Hide Table of Contents

Class DeduplicateExpressions

Optimize the computation described by a MetricsPlan by de-duplicating Expression nodes when possible. This is not guaranteed to de-duplicate all duplicate nodes.

Inheritance
Object
LoggingTransformerBase
DeduplicateExpressions
Implements
IMetricsPlanTransformer
Inherited Members
LoggingTransformerBase.Logger
LoggingTransformerBase.TransformerName
LoggingTransformerBase.Transform(MetricsPlan, IMetricsPlanValidator)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Mangrove.MetricSetTransformers
Assembly: MetricSetTransformers.dll
Syntax
public class DeduplicateExpressions : LoggingTransformerBase, IMetricsPlanTransformer
Remarks

While the current implementation of this logic is not especially comprehensive, it (and any more robust implementations in the future) will all guarantee to satisfy the following set of assumptions:

  1. Not create new ColumnReference nodes.
  2. Never create a less computationally efficient MetricsPlan.
  3. For at least some compute fabrics, create a more computationally efficient MetricsPlan.

Constructors

View Source

DeduplicateExpressions(ILogger)

Declaration
public DeduplicateExpressions(ILogger logger)
Parameters
Type Name Description
ILogger logger

Methods

View Source

TransformWithTracing(MetricsPlan, IMetricsPlanValidator)

Declaration
public override MetricsPlan TransformWithTracing(MetricsPlan metricsPlan, IMetricsPlanValidator validator)
Parameters
Type Name Description
MetricsPlan metricsPlan
IMetricsPlanValidator validator
Returns
Type Description
MetricsPlan
Overrides
LoggingTransformerBase.TransformWithTracing(MetricsPlan, IMetricsPlanValidator)

Implements

IMetricsPlanTransformer

Extension Methods

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