You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "hongyu guo (Jira)" <ji...@apache.org> on 2023/09/22 09:29:00 UTC

[jira] [Created] (CALCITE-6022) Support "CREATE TABLE ... LIKE" DDL

hongyu guo created CALCITE-6022:
-----------------------------------

             Summary: Support "CREATE TABLE ... LIKE" DDL
                 Key: CALCITE-6022
                 URL: https://issues.apache.org/jira/browse/CALCITE-6022
             Project: Calcite
          Issue Type: New Feature
          Components: server
    Affects Versions: 1.35.0
            Reporter: hongyu guo
             Fix For: 1.36.0


"CREATE TABLE ... LIKE" is SQL standard syntax, and some other dbms(mysql, postgresql, sparksql) support it. So I think it is worth implementing.

 

syntax:

 
{code:java}
CREATE TABLE [IF NOT EXISTS] table_name 
LIKE source_table [ like_option ... ]{code}
 

 

And for the `like_option`,  I think the syntax of postgreSQL is more flexible and powerful, and I believe it is reasonable to be similar to postgreSQL. But there are not so many attributes in calcite, just keep CONSTRAINTS DEFAULTS and ALL.
{code:java}
{ INCLUDING | EXCLUDING } { CONSTRAINTS | DEFAULTS | ALL }{code}
Some related link

[https://www.postgresql.org/docs/current/sql-createtable.html]

[https://ronsavage.github.io/SQL/sql-2003-2.bnf.html#table%20definition] 

[https://dev.mysql.com/doc/refman/8.0/en/create-table-like.html] 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)