Class ColumnDefaultValue

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

@Evolving public class ColumnDefaultValue extends DefaultValue
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

  • Method Details

    • getValue

      @Nullable public Literal<?> getValue()
      Returns the default value literal. This is the literal value corresponding to DefaultValue.getSql(). For example if the SQL is "current_date()", this literal value will be the evaluated current_date() at the time the column was added/altered. Spark always sets this value when passing ColumnDefaultValue to createTable/alterTable, but Table.columns() may not do so as some data sources have its own system to do column default value back-fill.
    • equals

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

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

      public String toString()
      Overrides:
      toString in class DefaultValue