Table of Contents

Struct SqlDataSourceTraits

Namespace
LfrlAnvil.Sql.Expressions.Visitors
Assembly
LfrlAnvil.Sql.Core.dll

Represents a collection of traits attached to an SqlDataSourceNode.

public readonly record struct SqlDataSourceTraits : IEquatable<SqlDataSourceTraits>
Implements
Inherited Members

Constructors

SqlDataSourceTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>, bool, SqlDistinctTraitNode?, SqlConditionNode?, Chain<ReadOnlyArray<SqlExpressionNode>>, SqlConditionNode?, Chain<ReadOnlyArray<SqlWindowDefinitionNode>>, Chain<ReadOnlyArray<SqlOrderByNode>>, SqlExpressionNode?, SqlExpressionNode?, Chain<SqlTraitNode>)

Represents a collection of traits attached to an SqlDataSourceNode.

public SqlDataSourceTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions, bool ContainsRecursiveCommonTableExpression, SqlDistinctTraitNode? Distinct, SqlConditionNode? Filter, Chain<ReadOnlyArray<SqlExpressionNode>> Aggregations, SqlConditionNode? AggregationFilter, Chain<ReadOnlyArray<SqlWindowDefinitionNode>> Windows, Chain<ReadOnlyArray<SqlOrderByNode>> Ordering, SqlExpressionNode? Limit, SqlExpressionNode? Offset, Chain<SqlTraitNode> Custom)

Parameters

CommonTableExpressions Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>

Collection of common table expressions that is the result of parsing of all SqlCommonTableExpressionTraitNode instances.

ContainsRecursiveCommonTableExpression bool

Specifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.

Distinct SqlDistinctTraitNode

SqlDistinctTraitNode instance.

Filter SqlConditionNode

Predicate that is the result of parsing all SqlFilterTraitNode instances.

Aggregations Chain<ReadOnlyArray<SqlExpressionNode>>

Collection of aggregation expressions that is the result of parsing of all SqlAggregationTraitNode instances.

AggregationFilter SqlConditionNode

Predicate that is the result of parsing all SqlAggregationFilterTraitNode instances.

Windows Chain<ReadOnlyArray<SqlWindowDefinitionNode>>

Collection of window definitions that is the result of parsing of all SqlWindowDefinitionTraitNode instances.

Ordering Chain<ReadOnlyArray<SqlOrderByNode>>

Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.

Limit SqlExpressionNode

Underlying value of the last SqlLimitTraitNode instance.

Offset SqlExpressionNode

Underlying value of the last SqlOffsetTraitNode instance.

Custom Chain<SqlTraitNode>

Collection of all unrecognized SqlTraitNode instances.

Properties

AggregationFilter

Predicate that is the result of parsing all SqlAggregationFilterTraitNode instances.

public SqlConditionNode? AggregationFilter { get; init; }

Property Value

SqlConditionNode

Aggregations

Collection of aggregation expressions that is the result of parsing of all SqlAggregationTraitNode instances.

public Chain<ReadOnlyArray<SqlExpressionNode>> Aggregations { get; init; }

Property Value

Chain<ReadOnlyArray<SqlExpressionNode>>

CommonTableExpressions

Collection of common table expressions that is the result of parsing of all SqlCommonTableExpressionTraitNode instances.

public Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions { get; init; }

Property Value

Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>

ContainsRecursiveCommonTableExpression

Specifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.

public bool ContainsRecursiveCommonTableExpression { get; init; }

Property Value

bool

Custom

Collection of all unrecognized SqlTraitNode instances.

public Chain<SqlTraitNode> Custom { get; init; }

Property Value

Chain<SqlTraitNode>

Distinct

public SqlDistinctTraitNode? Distinct { get; init; }

Property Value

SqlDistinctTraitNode

Filter

Predicate that is the result of parsing all SqlFilterTraitNode instances.

public SqlConditionNode? Filter { get; init; }

Property Value

SqlConditionNode

Limit

Underlying value of the last SqlLimitTraitNode instance.

public SqlExpressionNode? Limit { get; init; }

Property Value

SqlExpressionNode

Offset

Underlying value of the last SqlOffsetTraitNode instance.

public SqlExpressionNode? Offset { get; init; }

Property Value

SqlExpressionNode

Ordering

Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.

public Chain<ReadOnlyArray<SqlOrderByNode>> Ordering { get; init; }

Property Value

Chain<ReadOnlyArray<SqlOrderByNode>>

Windows

Collection of window definitions that is the result of parsing of all SqlWindowDefinitionTraitNode instances.

public Chain<ReadOnlyArray<SqlWindowDefinitionNode>> Windows { get; init; }

Property Value

Chain<ReadOnlyArray<SqlWindowDefinitionNode>>