Show / Hide Table of Contents

Class UnionExpression

UnionExpressions contain ColumnReferences in the tables that feed a Union that should map to the same Expression in the Union. A UNION operation combines rows from different tables that all have same schema. The expressions in a Union table are pointers to the individual columnReferences that are unioned together in a particular column.

Inheritance
Object
Expression
Expression<UnionExpression, Union>
UnionExpression
Implements
IVisitable<IExpressionVisitor>
ICloneable<UnionExpression, Union, Expression>
ICloneable<Expression>
IDirectedAcyclicGraph<Expression>
Inherited Members
Expression<UnionExpression, Union>.Table
Expression<UnionExpression, Union>.Clone(Union, IReadOnlyList<Expression>)
Expression<UnionExpression, Union>.Clone(IReadOnlyList<Expression>)
Expression.Table
Expression.ToString()
Expression.Clone(IReadOnlyList<Expression>)
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Namespace: Mangrove.MetricSetSyntaxTree.ExpressionNodes
Assembly: MetricSetSyntaxTree.dll
Syntax
public class UnionExpression : Expression<UnionExpression, Union>, IVisitable<IExpressionVisitor>, ICloneable<UnionExpression, Union, Expression>, ICloneable<Expression>, IDirectedAcyclicGraph<Expression>

Constructors

View Source

UnionExpression(Union, IReadOnlyList<ColumnReference>)

Declaration
public UnionExpression(Union table, IReadOnlyList<ColumnReference> columnReferences)
Parameters
Type Name Description
Union table
IReadOnlyList<ColumnReference> columnReferences

Properties

View Source

ColumnReferences

List of references from tables that feed the Union.

Declaration
public IReadOnlyList<ColumnReference> ColumnReferences { get; }
Property Value
Type Description
IReadOnlyList<ColumnReference>
Remarks

Generally, a well-formed UnionExpression will have exactly one ColumnReference in each of the tables that feeds the Union table.

No validation for this requirement is provided in this class.

View Source

Parents

Declaration
[JsonIgnore]
public override IReadOnlyList<Expression> Parents { get; }
Property Value
Type Description
IReadOnlyList<Expression>
Overrides
Expression.Parents

Methods

View Source

Accept(IExpressionVisitor)

Declaration
public override void Accept(IExpressionVisitor visitor)
Parameters
Type Name Description
IExpressionVisitor visitor
Overrides
Expression.Accept(IExpressionVisitor)
View Source

Clone(Union, IReadOnlyList<Expression>)

Declaration
public override UnionExpression Clone(Union table, IReadOnlyList<Expression> parents)
Parameters
Type Name Description
Union table
IReadOnlyList<Expression> parents
Returns
Type Description
UnionExpression
Overrides
Mangrove.MetricSetSyntaxTree.Expression<Mangrove.MetricSetSyntaxTree.ExpressionNodes.UnionExpression, Mangrove.MetricSetSyntaxTree.TableNodes.Union>.Clone(Mangrove.MetricSetSyntaxTree.TableNodes.Union, System.Collections.Generic.IReadOnlyList<Mangrove.MetricSetSyntaxTree.Expression>)

Implements

IVisitable<TVisitor>
ICloneable<TSubnode, TIdentifier, TNode>
ICloneable<T>
IDirectedAcyclicGraph<T>

Extension Methods

ExpressionExtensions.WrapUniqueName(Expression, String)
ExpressionExtensions.WrapName(Expression, String)
ExpressionExtensions.Unwrap(Expression, Boolean)
ExpressionExtensions.UnwrapParentheses(Expression)
ExpressionExtensions.NeedsColumnReferenceWrap(Expression)
ExpressionExtensions.TopParentsOfType<TParent>(Expression)
ExpressionExtensions.References(Expression, ISet<Table>)
ExpressionExtensions.IsAggregation(Expression)
ExpressionExtensions.IsOperation(Expression)
ExpressionExtensions.IsConstant(Expression)
ExpressionExtensions.Type(Expression)
ExpressionExtensions.IsOfNullableType(Expression)
ExpressionExtensions.IsOfNonNullableType(Expression)
IDirectedAcyclicGraphExtensions.Ancestors(Expression, Boolean)
IDirectedAcyclicGraphExtensions.Closure(Expression)
ObjectExtensions.EventId(Object)
  • View Source
Back to top Generated by DocFX