Show / Hide Table of Contents

Class ScopeTable

Writes a string representation of the metric table to the input text writer.

Inheritance
Object
LoggingTableVisitorBase
TableEmitterBase
ScopeTable
Implements
ITableVisitor
Inherited Members
TableEmitterBase.Output
TableEmitterBase.TableToExpressionsMap
TableEmitterBase.ColumnReferences(Table)
TableEmitterBase.Emit(TokenOrExpression)
TableEmitterBase.Emit(Expression)
TableEmitterBase.ExtensionExpressions(Table)
TableEmitterBase.FilterStatement(Table)
TableEmitterBase.FilterString(Filter)
LoggingTableVisitorBase.Logger
LoggingTableVisitorBase.VisitorName
LoggingTableVisitorBase.Visit(Aggregation)
LoggingTableVisitorBase.Visit(DataSource)
LoggingTableVisitorBase.Visit(ExternTable)
LoggingTableVisitorBase.Visit(Join)
LoggingTableVisitorBase.Visit(TableReference)
LoggingTableVisitorBase.Visit(Union)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Mangrove.MetricSetEmitters
Assembly: MetricSetEmitters.dll
Syntax
public class ScopeTable : TableEmitterBase, ITableVisitor
Remarks

This visitor makes some assumptions about the structure of a ExternTable. It optionally give places in its string literal for the name of an input table via ${input}, and the string content of its Extern expression via ${expression}.

Constructors

View Source

ScopeTable(ILogger, TextWriter, IReadOnlyDictionary<Table, ISet<Expression>>, IGenericExpressionVisitor<String>)

Construct a scope table visitor.

Declaration
public ScopeTable(ILogger logger, TextWriter output, IReadOnlyDictionary<Table, ISet<Expression>> tableToExpressionsMap, IGenericExpressionVisitor<string> expressionVisitor = null)
Parameters
Type Name Description
ILogger logger
TextWriter output
IReadOnlyDictionary<Table, ISet<Expression>> tableToExpressionsMap
IGenericExpressionVisitor<String> expressionVisitor

Properties

View Source

ExpressionVisitor

Declaration
protected override IGenericExpressionVisitor<string> ExpressionVisitor { get; }
Property Value
Type Description
IGenericExpressionVisitor<String>
Overrides
TableEmitterBase.ExpressionVisitor

Methods

View Source

CreateExpressionVisitor(ILogger)

Declaration
protected override IGenericExpressionVisitor<string> CreateExpressionVisitor(ILogger logger)
Parameters
Type Name Description
ILogger logger
Returns
Type Description
IGenericExpressionVisitor<String>
Overrides
TableEmitterBase.CreateExpressionVisitor(ILogger)
View Source

FindLowDistinctnessAggregandsNames(IReadOnlyDictionary<Table, ISet<Expression>>)

Find the names of the low distinctness aggregands. These names will be used in Mangrove.MetricSetEmitters.ScopeTable.LowDistinctnessTag(Mangrove.MetricSetSyntaxTree.Table) as the keys in the LOWDISTINCTNESS Scope hint.

Declaration
public static IReadOnlyList<string> FindLowDistinctnessAggregandsNames(IReadOnlyDictionary<Table, ISet<Expression>> tableToExpressionsMap)
Parameters
Type Name Description
IReadOnlyDictionary<Table, ISet<Expression>> tableToExpressionsMap
Returns
Type Description
IReadOnlyList<String>
Remarks

To determine whether the aggregands are of low distinctness, we use the names of the aggregands from the output (leaf) tables. These are exactly the aggregands that come from segmentation, and we assume segments don't have too many values (at least when compared to the data size).

NOTE: In mangrove, FLIGHT is a segment, so it will automatically be included into the LOWDISTINCTNESS tag.

View Source

GenerateWhereClause(IEnumerable<String>, Table)

Declaration
protected override string GenerateWhereClause(IEnumerable<string> filters, Table _)
Parameters
Type Name Description
IEnumerable<String> filters
Table _
Returns
Type Description
String
Overrides
TableEmitterBase.GenerateWhereClause(IEnumerable<String>, Table)
View Source

VisitWithTracing(Aggregation)

Declaration
public override void VisitWithTracing(Aggregation table)
Parameters
Type Name Description
Aggregation table
Overrides
LoggingTableVisitorBase.VisitWithTracing(Aggregation)
View Source

VisitWithTracing(DataSource)

Declaration
public override void VisitWithTracing(DataSource table)
Parameters
Type Name Description
DataSource table
Overrides
LoggingTableVisitorBase.VisitWithTracing(DataSource)
View Source

VisitWithTracing(ExternTable)

Declaration
public override void VisitWithTracing(ExternTable table)
Parameters
Type Name Description
ExternTable table
Overrides
LoggingTableVisitorBase.VisitWithTracing(ExternTable)
View Source

VisitWithTracing(Join)

Declaration
public override void VisitWithTracing(Join table)
Parameters
Type Name Description
Join table
Overrides
LoggingTableVisitorBase.VisitWithTracing(Join)
View Source

VisitWithTracing(TableReference)

Declaration
public override void VisitWithTracing(TableReference table)
Parameters
Type Name Description
TableReference table
Overrides
LoggingTableVisitorBase.VisitWithTracing(TableReference)
View Source

VisitWithTracing(Union)

Declaration
public override void VisitWithTracing(Union table)
Parameters
Type Name Description
Union table
Overrides
LoggingTableVisitorBase.VisitWithTracing(Union)

Implements

ITableVisitor

Extension Methods

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