Class SqlAlterTableAdd

java.lang.Object
org.apache.calcite.sql.SqlNode
org.apache.calcite.sql.SqlCall
All Implemented Interfaces:
Cloneable, ExtendedSqlNode

public class SqlAlterTableAdd extends SqlAlterTableSchema
SqlNode to describe ALTER TABLE [IF EXISTS] table_name ADD column/constraint/watermark clause.

Example: DDL like the below for add column/constraint/watermark.


 -- add single column
 ALTER TABLE mytable ADD new_column STRING COMMENT 'new_column docs';

 -- add multiple columns, constraint, and watermark
 ALTER TABLE mytable ADD (
     log_ts STRING COMMENT 'log timestamp string' FIRST,
     ts AS TO_TIMESTAMP(log_ts) AFTER log_ts,
     col_meta int metadata from 'mk1' virtual AFTER col_b,
     PRIMARY KEY (id) NOT ENFORCED,
     WATERMARK FOR ts AS ts - INTERVAL '3' SECOND
 );
 
  • Constructor Details

    • SqlAlterTableAdd

      public SqlAlterTableAdd(org.apache.calcite.sql.parser.SqlParserPos pos, org.apache.calcite.sql.SqlIdentifier tableName, org.apache.calcite.sql.SqlNodeList addedColumns, List<SqlTableConstraint> constraint, @Nullable SqlWatermark sqlWatermark, @Nullable SqlDistribution distribution, boolean ifTableExists)
  • Method Details

    • unparse

      public void unparse(org.apache.calcite.sql.SqlWriter writer, int leftPrec, int rightPrec)
      Overrides:
      unparse in class SqlAlterTable