Show / Hide Table of Contents

Namespace Mangrove.MetricSetTransformers.Validation

This namespace contains transformers and visitors for verifying that various assumptions about metrics plans hold.

Classes

AggregationLevelRange

Checks that there are a max number of aggregation levels in a plan This validator only prints the output tables in the errors. There can be multiple tables at the same aggregation level, and those don't count toward the limit. This validator checks the maximum depth of aggregation stack.

AggregationParentsAreInDifferentTables

Verify that for each aggregation, it has no ancestor aggregations on the same table.

BasicExpressionValidation

Perform Expression-specific validation.

ColumnReferenceDependency

Checks that no column reference depends on another column reference in the same table.

ColumnTableNamesAreUnique

Verifies that (ColumnReference name, Table name) pairs are unique.

ComputationIsNonTrivial

Verifies that all Aggregation tables have at least one aggregation expression.

DataSourceColumnIndicesAppearOnce

Verify that either: all DataSourceColumn objects have null indices, or that: each pair (DataSource, non-null DataSourceColumn index) appears at most once in a MetricsPlan.

DefaultMetricsPlanValidator

Instantiate an AggregateValidator that has the standard validations that should run on all Transformers.

EnoughAggregandLevels

Verifies that the MetricsPlan has the minimum required number of available Aggregand levels, as determined by Mangrove.MetricSetTransformers.Hacks.RollupDimensionsFinder.FindDimensions(Mangrove.MetricSetSyntaxTree.MetricsPlan).

ExpressionDependenciesExist

Validate that all expression dependencies exist in a MetricsPlans expression list.

ExpressionDependenciesPassThroughColumnReferences

Checks that for each expression, any immediate parent in a different table is correctly wrapped in a ColumnReference.

ExpressionLeafDependencies

Validate that a MetricsPlan's expressions don't depend on expressions in leaf tables unless they are of both in the same leaf table.

ExternExpressionsAreOfOneKind

JoinKeysAreColumnReferences

JoinSanity

Verifies that each Join table satisfies the following assumptions:

  • It has at least one corresponding JoinKey expression.
  • There is a JoinKey for each (left, right) pair.

NoAggregationsOfUnknownType

Some emitters require knowing all data types of Expressions being aggregated. This validator finds all metrics that depend on aggregations applied to Unknown.

OnlySupportedRuntimeVariables

Verify that all RuntimeVariables present in the MetricsPlan have names from from a given set.

SingleAggregationPath

Checks whether there is a single aggregation path till the output.

SingleLeafBaseTable

Check that base-level tables (as defined by BaseTables(MetricsPlan)) have a unique leaf table.

TableDependenciesExist

Validate that dependencies for every table exist in the Tables array.

UnionsCombineIdenticalTables

Validate that Union tables and their union expressions are accurate.

  • Improve this Doc
Back to top Generated by DocFX