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
boolSpecifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
Distinct
SqlDistinctTraitNodeSqlDistinctTraitNode instance.
Filter
SqlConditionNodePredicate 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
SqlConditionNodePredicate 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
SqlExpressionNodeUnderlying value of the last SqlLimitTraitNode instance.
Offset
SqlExpressionNodeUnderlying 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
Aggregations
Collection of aggregation expressions that is the result of parsing of all SqlAggregationTraitNode instances.
public Chain<ReadOnlyArray<SqlExpressionNode>> Aggregations { get; init; }
Property Value
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
ContainsRecursiveCommonTableExpression
Specifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
public bool ContainsRecursiveCommonTableExpression { get; init; }
Property Value
Custom
Collection of all unrecognized SqlTraitNode instances.
public Chain<SqlTraitNode> Custom { get; init; }
Property Value
Distinct
SqlDistinctTraitNode instance.
public SqlDistinctTraitNode? Distinct { get; init; }
Property Value
Filter
Predicate that is the result of parsing all SqlFilterTraitNode instances.
public SqlConditionNode? Filter { get; init; }
Property Value
Limit
Underlying value of the last SqlLimitTraitNode instance.
public SqlExpressionNode? Limit { get; init; }
Property Value
Offset
Underlying value of the last SqlOffsetTraitNode instance.
public SqlExpressionNode? Offset { get; init; }
Property Value
Ordering
Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.
public Chain<ReadOnlyArray<SqlOrderByNode>> Ordering { get; init; }
Property Value
Windows
Collection of window definitions that is the result of parsing of all SqlWindowDefinitionTraitNode instances.
public Chain<ReadOnlyArray<SqlWindowDefinitionNode>> Windows { get; init; }