001package gudusoft.gsqlparser.ir.logical.rex; 002 003import gudusoft.gsqlparser.ir.common.SourceAnchor; 004import gudusoft.gsqlparser.ir.logical.RexNode; 005import gudusoft.gsqlparser.ir.logical.RexNodeVisitor; 006 007/** 008 * Column reference expression. 009 */ 010public final class RexColumnRef extends RexNode { 011 private final String tableName; 012 private final String columnName; 013 014 public RexColumnRef(String tableName, String columnName, SourceAnchor anchor) { 015 super(RexKind.COLUMN_REF, anchor); 016 this.tableName = tableName; 017 this.columnName = columnName; 018 } 019 020 public String getTableName() { return tableName; } 021 public String getColumnName() { return columnName; } 022 023 @Override 024 public <R> R accept(RexNodeVisitor<R> visitor) { return visitor.visitColumnRef(this); } 025 026 @Override 027 public String toString() { return tableName != null ? tableName + "." + columnName : columnName; } 028}