Class ColumnReferenceExpression

java.lang.Object
dev.frostlake.executor.expressions.ColumnReferenceExpression
All Implemented Interfaces:
Expression
Direct Known Subclasses:
ConnectByRootExpression, PriorExpression

public class ColumnReferenceExpression extends Object implements Expression
Represents a column reference (e.g., "name", "users.id", "u.name")
  • Constructor Details

    • ColumnReferenceExpression

      public ColumnReferenceExpression(String columnName)
    • ColumnReferenceExpression

      public ColumnReferenceExpression(String tableName, String columnName)
    • ColumnReferenceExpression

      public ColumnReferenceExpression(String tableName, String columnName, SourcePosition position)
      A reference that remembers where it sat in the text it was parsed from, so a message about it can carry the position Snowflake always reports. See SourcePosition for why the place is fragment-relative and not absolute.
    • ColumnReferenceExpression

      public ColumnReferenceExpression(String tableName, String columnName, SourcePosition position, int positionalOrdinal)
      The $N flavour — see getPositionalOrdinal().
  • Method Details

    • getWrittenName

      public String getWrittenName()
      How this reference was written, or null when it was synthesised.
    • setWrittenName

      public void setWrittenName(String written)
      Records the written spelling; see getWrittenName().
    • getPositionalOrdinal

      public int getPositionalOrdinal()
      N when this reference was written $N, 0 when it was written as a name.
    • getPosition

      public SourcePosition getPosition()
      Where this reference sat in its fragment, or null when nobody wrote it.
    • getTableName

      public String getTableName()
    • getColumnName

      public String getColumnName()
    • isQualified

      public boolean isQualified()
    • getStarArgument

      public StarArgument getStarArgument()
      The star — qualifier, EXCLUDE and ILIKE — when this reference is a star written beside other function arguments, which the evaluator splices into the list as the columns it names.
    • describeStar

      public void describeStar(StarArgument star)
      Marks this reference as the star argument star; see getStarArgument().
    • accept

      public <T> T accept(ExpressionVisitor<T> visitor)
      Description copied from interface: Expression
      Accept a visitor for the visitor pattern
      Specified by:
      accept in interface Expression
    • toString

      public String toString()
      Overrides:
      toString in class Object