001package gudusoft.gsqlparser.ir.logical.rex;
002
003import gudusoft.gsqlparser.ir.common.SourceAnchor;
004import gudusoft.gsqlparser.ir.logical.RelNode;
005import gudusoft.gsqlparser.ir.logical.RexNode;
006import gudusoft.gsqlparser.ir.logical.RexNodeVisitor;
007
008/**
009 * Scalar subquery expression.
010 */
011public final class RexSubquery extends RexNode {
012    private final RelNode subquery;
013
014    public RexSubquery(RelNode subquery, SourceAnchor anchor) {
015        super(RexKind.SUBQUERY, anchor);
016        this.subquery = subquery;
017    }
018
019    public RelNode getSubquery() { return subquery; }
020
021    @Override
022    public <R> R accept(RexNodeVisitor<R> visitor) { return visitor.visitSubquery(this); }
023
024    @Override
025    public String toString() { return "(subquery)"; }
026}