using Strata.SqlTools.Rules.Rule.Expression; namespace Strata.SqlTools.Rules.Rule.Groups; /// /// Represents a rule group with sequential rule evaluation (WITH semantics). /// public class With : Base { // TODO: revisit whether ordering should be applied here before delegating // to the base GetExpressions(); inherit base behavior for now. /// /// Merges two BoolExpr expressions using WITH semantics. /// /// The left BoolExpr expression. /// The right BoolExpr expression. /// A WITH expression combining both expressions. protected override BoolExpr Merge(BoolExpr left, BoolExpr right) => new Expression.With(left, right); /// /// Initializes a new instance of the class. /// /// The collection of rules to include in this WITH group. public With(IEnumerable rules) : base(rules) { } }