Class SqlNumericLiteral

All Implemented Interfaces:
Cloneable

public class SqlNumericLiteral extends SqlLiteral
A numeric SQL literal.
  • Constructor Details

  • Method Details

    • getPrec

      public @Nullable Integer getPrec()
    • getScale

      @Pure public @Nullable Integer getScale()
    • isExact

      public boolean isExact()
    • clone

      public SqlNumericLiteral clone(SqlParserPos pos)
      Description copied from class: SqlNode
      Clones a SqlNode with a different position.
      Overrides:
      clone in class SqlLiteral
    • unparse

      public void unparse(SqlWriter writer, int leftPrec, int rightPrec)
      Description copied from class: SqlNode
      Writes a SQL representation of this node to a writer.

      The leftPrec and rightPrec parameters give us enough context to decide whether we need to enclose the expression in parentheses. For example, we need parentheses around "2 + 3" if preceded by "5 *". This is because the precedence of the "*" operator is greater than the precedence of the "+" operator.

      The algorithm handles left- and right-associative operators by giving them slightly different left- and right-precedence.

      If SqlWriter.isAlwaysUseParentheses() is true, we use parentheses even when they are not required by the precedence rules.

      For the details of this algorithm, see SqlCall.unparse(org.apache.calcite.sql.SqlWriter, int, int).

      Overrides:
      unparse in class SqlLiteral
      Parameters:
      writer - Target writer
      leftPrec - The precedence of the SqlNode immediately preceding this node in a depth-first scan of the parse tree
      rightPrec - The precedence of the SqlNode immediately
    • toValue

      public String toValue()
      Description copied from class: SqlLiteral
      For calc program builder - value may be different than SqlLiteral.unparse(org.apache.calcite.sql.SqlWriter, int, int). Typical values:
      • Hello, world!
      • 12.34
      • {null}
      • 1969-04-29
      Overrides:
      toValue in class SqlLiteral
      Returns:
      string representation of the value
    • createSqlType

      public RelDataType createSqlType(RelDataTypeFactory typeFactory)
      Overrides:
      createSqlType in class SqlLiteral
    • isInteger

      public boolean isInteger()