Class SqlReplaceTableAs

java.lang.Object
org.apache.calcite.sql.SqlNode
org.apache.calcite.sql.SqlCall
org.apache.calcite.sql.SqlDdl
org.apache.calcite.sql.SqlCreate
org.apache.flink.sql.parser.ddl.SqlReplaceTableAs
All Implemented Interfaces:
Cloneable, ExtendedSqlNode

public class SqlReplaceTableAs extends org.apache.calcite.sql.SqlCreate implements ExtendedSqlNode
SqlNode to describe the [CREATE OR] REPLACE TABLE AS (RTAS) syntax. The RTAS would create a pipeline to compute the result of the given query and create or replace the derived table.

Notes: REPLACE TABLE AS: the derived table must exist. CREATE OR REPLACE TABLE AS: create the derived table if it does not exist, otherwise replace it.

Example:


 CREATE TABLE base_table (
     id BIGINT,
     name STRING,
     time TIMESTAMP,
     PRIMARY KEY(id)
 ) WITH (
     ‘connector’ = ‘kafka’,
     ‘connector.starting-offset’: ‘12345’,
     ‘format’ =  ‘json’
 )

 CREATE OR REPLACE TABLE derived_table
 WITH (
   'connector' = 'jdbc',
   'url' = 'http://localhost:10000',
   'table-name' = 'syncedTable'
 )
 AS SELECT * FROM base_table;
 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.apache.calcite.sql.SqlSpecialOperator
     
    static final org.apache.calcite.sql.SqlSpecialOperator
     

    Fields inherited from class org.apache.calcite.sql.SqlCreate

    ifNotExists

    Fields inherited from class org.apache.calcite.sql.SqlDdl

    DDL_OPERATOR

    Fields inherited from class org.apache.calcite.sql.SqlNode

    EMPTY_ARRAY, pos
  • Constructor Summary

    Constructors
    Constructor
    Description
    SqlReplaceTableAs(org.apache.calcite.sql.parser.SqlParserPos pos, org.apache.calcite.sql.SqlIdentifier tableName, org.apache.calcite.sql.SqlNodeList columnList, List<SqlTableConstraint> tableConstraints, org.apache.calcite.sql.SqlNodeList propertyList, SqlDistribution distribution, org.apache.calcite.sql.SqlNodeList partitionKeyList, SqlWatermark watermark, org.apache.calcite.sql.SqlCharStringLiteral comment, org.apache.calcite.sql.SqlNode asQuery, boolean isTemporary, boolean ifNotExists, boolean isCreateOrReplace)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    org.apache.calcite.sql.SqlNode
     
    org.apache.calcite.sql.SqlNodeList
     
    Optional<org.apache.calcite.sql.SqlCharStringLiteral>
     
     
    Returns the column constraints plus the table constraints.
    List<org.apache.calcite.sql.SqlNode>
     
    org.apache.calcite.sql.SqlNodeList
     
    org.apache.calcite.sql.SqlNodeList
     
     
    org.apache.calcite.sql.SqlIdentifier
     
     
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    void
    unparse(org.apache.calcite.sql.SqlWriter writer, int leftPrec, int rightPrec)
     
    void
     

    Methods inherited from class org.apache.calcite.sql.SqlCreate

    getReplace, setReplace

    Methods inherited from class org.apache.calcite.sql.SqlDdl

    getOperator

    Methods inherited from class org.apache.calcite.sql.SqlCall

    accept, clone, equalsDeep, findValidOptions, getCallSignature, getFunctionQuantifier, getKind, getMonotonicity, isCountStar, isExpanded, operand, operandCount, setOperand, validate

    Methods inherited from class org.apache.calcite.sql.SqlNode

    clone, clone, cloneArray, equalDeep, equalDeep, equalsDeep, getParserPosition, isA, toList, toList, toSqlString, toSqlString, toSqlString, toString, unparseWithParentheses, validateExpr

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • REPLACE_OPERATOR

      public static final org.apache.calcite.sql.SqlSpecialOperator REPLACE_OPERATOR
    • CREATE_OR_REPLACE_OPERATOR

      public static final org.apache.calcite.sql.SqlSpecialOperator CREATE_OR_REPLACE_OPERATOR
  • Constructor Details

    • SqlReplaceTableAs

      public SqlReplaceTableAs(org.apache.calcite.sql.parser.SqlParserPos pos, org.apache.calcite.sql.SqlIdentifier tableName, org.apache.calcite.sql.SqlNodeList columnList, List<SqlTableConstraint> tableConstraints, org.apache.calcite.sql.SqlNodeList propertyList, SqlDistribution distribution, org.apache.calcite.sql.SqlNodeList partitionKeyList, @Nullable SqlWatermark watermark, @Nullable org.apache.calcite.sql.SqlCharStringLiteral comment, org.apache.calcite.sql.SqlNode asQuery, boolean isTemporary, boolean ifNotExists, boolean isCreateOrReplace)
  • Method Details

    • getDistribution

      public SqlDistribution getDistribution()
    • getOperandList

      @Nonnull public List<org.apache.calcite.sql.SqlNode> getOperandList()
      Specified by:
      getOperandList in class org.apache.calcite.sql.SqlCall
    • validate

      public void validate() throws SqlValidateException
      Specified by:
      validate in interface ExtendedSqlNode
      Throws:
      SqlValidateException
    • getAsQuery

      public org.apache.calcite.sql.SqlNode getAsQuery()
    • isCreateOrReplace

      public boolean isCreateOrReplace()
    • getTableName

      public org.apache.calcite.sql.SqlIdentifier getTableName()
    • getColumnList

      public org.apache.calcite.sql.SqlNodeList getColumnList()
    • getPropertyList

      public org.apache.calcite.sql.SqlNodeList getPropertyList()
    • getPartitionKeyList

      public org.apache.calcite.sql.SqlNodeList getPartitionKeyList()
    • getTableConstraints

      public List<SqlTableConstraint> getTableConstraints()
    • getWatermark

      public Optional<SqlWatermark> getWatermark()
    • getComment

      public Optional<org.apache.calcite.sql.SqlCharStringLiteral> getComment()
    • isIfNotExists

      public boolean isIfNotExists()
    • isTemporary

      public boolean isTemporary()
    • isSchemaWithColumnsIdentifiersOnly

      public boolean isSchemaWithColumnsIdentifiersOnly()
    • getFullConstraints

      public List<SqlTableConstraint> getFullConstraints()
      Returns the column constraints plus the table constraints.
    • unparse

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

      public String[] fullTableName()