public bool VisitExprOutput(ExprOutput expr, TCtx arg) { var res = this.Visit(expr, "Output", arg, out var argOut) && this.Accept("Columns", expr.Columns, argOut); this._visitor.EndVisitExpr(expr, arg); return(res); }
public static ExprOutput WithColumns(this ExprOutput original, IReadOnlyList <IExprOutputColumn> newColumns) => new ExprOutput(columns: newColumns);
public static ExprMergeOutput WithOutput(this ExprMergeOutput original, ExprOutput newOutput) => new ExprMergeOutput(targetTable: original.TargetTable, source: original.Source, on: original.On, whenMatched: original.WhenMatched, whenNotMatchedByTarget: original.WhenNotMatchedByTarget, whenNotMatchedBySource: original.WhenNotMatchedBySource, output: newOutput);
public ExprMergeOutput(ExprTable targetTable, IExprTableSource source, ExprBoolean on, IExprMergeMatched?whenMatched, IExprMergeNotMatched?whenNotMatchedByTarget, IExprMergeMatched?whenNotMatchedBySource, ExprOutput output) : base(targetTable, source, @on, whenMatched, whenNotMatchedByTarget, whenNotMatchedBySource) { this.Output = output; }
public static ExprMergeOutput FromMerge(ExprMerge merge, ExprOutput output) => new ExprMergeOutput(merge.TargetTable, merge.Source, merge.On, merge.WhenMatched, merge.WhenNotMatchedByTarget, merge.WhenNotMatchedBySource, output);
public bool VisitExprOutput(ExprOutput exprOutput, IExpr?parent) { this.AssertNotEmptyList(exprOutput.Columns, "Output column list cannot be empty"); this.AcceptListComaSeparated(exprOutput.Columns, exprOutput); return(true); }