Struct SqlQueryTraits
- Namespace
- LfrlAnvil.Sql.Expressions.Visitors
- Assembly
- LfrlAnvil.Sql.Core.dll
Represents a collection of traits attached to an SqlExtendableQueryExpressionNode.
public readonly record struct SqlQueryTraits : IEquatable<SqlQueryTraits>
- Implements
- Inherited Members
Constructors
SqlQueryTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>, bool, SqlSortTraitInfo, SqlExpressionNode?, SqlExpressionNode?, Chain<SqlTraitNode>)
Represents a collection of traits attached to an SqlExtendableQueryExpressionNode.
public SqlQueryTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions, bool ContainsRecursiveCommonTableExpression, SqlSortTraitInfo 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 any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
OrderingSqlSortTraitInfoExtracted information about all parsed sort traits.
LimitSqlExpressionNodeUnderlying value of the last SqlLimitTraitNode instance.
OffsetSqlExpressionNodeUnderlying value of the last SqlOffsetTraitNode instance.
CustomChain<SqlTraitNode>Collection of all unrecognized SqlTraitNode instances.
Properties
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 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
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
Extracted information about all parsed sort traits.
public SqlSortTraitInfo Ordering { get; init; }