public bool VisitExprCrossedTable(ExprCrossedTable expr, TCtx arg) { var res = this.Visit(expr, "CrossedTable", arg, out var argOut) && this.Accept("Left", expr.Left, argOut) && this.Accept("Right", expr.Right, argOut); this._visitor.EndVisitExpr(expr, arg); return(res); }
public bool VisitExprCrossedTable(ExprCrossedTable exprCrossedTable, IExpr?parent) { exprCrossedTable.Left.Accept(this, exprCrossedTable); this.Builder.Append(" CROSS JOIN "); exprCrossedTable.Right.Accept(this, exprCrossedTable); return(true); }
public static ExprQuerySpecification WithCrossJoin(this ExprQuerySpecification querySpecification, IExprTableSource tableSource) { if (querySpecification.From == null) { throw new SqExpressException("Query Specification \"From\" cannot be null"); } var newJoin = new ExprCrossedTable(querySpecification.From, tableSource); return(querySpecification.WithFrom(newJoin)); }
public static ExprCrossedTable WithRight(this ExprCrossedTable original, IExprTableSource newRight) => new ExprCrossedTable(left: original.Left, right: newRight);