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
CommonTableExpressionsChain<ReadOnlyArray<SqlCommonTableExpressionNode>>Collection of common table expressions that is the result of parsing of all SqlCommonTableExpressionTraitNode instances.
ContainsRecursiveCommonTableExpressionboolSpecifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
DistinctSqlDistinctTraitNodeSqlDistinctTraitNode instance.
FilterSqlConditionNodePredicate that is the result of parsing all SqlFilterTraitNode instances.
AggregationsChain<ReadOnlyArray<SqlExpressionNode>>Collection of aggregation expressions that is the result of parsing of all SqlAggregationTraitNode instances.
AggregationFilterSqlConditionNodePredicate that is the result of parsing all SqlAggregationFilterTraitNode instances.
WindowsChain<ReadOnlyArray<SqlWindowDefinitionNode>>Collection of window definitions that is the result of parsing of all SqlWindowDefinitionTraitNode instances.
OrderingChain<ReadOnlyArray<SqlOrderByNode>>Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.
LimitSqlExpressionNodeUnderlying value of the last SqlLimitTraitNode instance.
OffsetSqlExpressionNodeUnderlying value of the last SqlOffsetTraitNode instance.
CustomChain<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; }