Class ColumnDefaultValue

Object
org.apache.spark.sql.connector.catalog.ColumnDefaultValue

@Evolving public class ColumnDefaultValue extends Object
A class representing the default value of a column. It contains both the SQL string and literal value of the user-specified default value expression. The SQL string should be re-evaluated for each table writing command, which may produce different values if the default value expression is something like CURRENT_DATE(). The literal value is used to back-fill existing data if new columns with default value are added. Note: the back-fill can be lazy. The data sources can remember the column default value and let the reader fill the column value when reading existing data that do not have these new columns.
  • Constructor Details

    • ColumnDefaultValue

      public ColumnDefaultValue(String sql, Literal<?> value)
  • Method Details

    • getSql

      @Nonnull public String getSql()
      Returns the SQL string (Spark SQL dialect) of the default value expression. This is the original string contents of the SQL expression specified at the time the column was created in a CREATE TABLE, REPLACE TABLE, or ADD COLUMN command. For example, for "CREATE TABLE t (col INT DEFAULT 40 + 2)", this returns the string literal "40 + 2" (without quotation marks).
    • getValue

      @Nonnull public Literal<?> getValue()
      Returns the default value literal. This is the literal value corresponding to getSql(). For the example in the doc of getSql(), this returns a literal integer with a value of 42.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object