Table of Contents

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, Chain<ReadOnlyArray<SqlOrderByNode>>, SqlExpressionNode?, SqlExpressionNode?, Chain<SqlTraitNode>)

Represents a collection of traits attached to an SqlExtendableQueryExpressionNode.

public SqlQueryTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions, bool ContainsRecursiveCommonTableExpression, 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.

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

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>

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>>