You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Jiajun Xie (Jira)" <ji...@apache.org> on 2023/05/07 06:03:00 UTC
[jira] [Commented] (CALCITE-5688) Support TRUNCATE TABLE DDL statement in Babel parser
[ https://issues.apache.org/jira/browse/CALCITE-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17720280#comment-17720280 ]
Jiajun Xie commented on CALCITE-5688:
-------------------------------------
From your PR, core parser support rather than babel parser.
We should change JIRA title and commit message.
Here is truncate syntax in SQL2011:
{code:java}
<truncate table statement> ::=
TRUNCATE TABLE <target table> [ <identity column restart option> ]
<identity column restart option> ::=
CONTINUE IDENTITY
| RESTART IDENTITY{code}
[PostgreSQL|https://www.postgresql.org/docs/current/sql-truncate.html] Similar to it.
{code:java}
TRUNCATE [ TABLE ] [ ONLY ] name [ * ] [, ... ]
[ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ] {code}
[Oracle|https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/TRUNCATE-TABLE.html#GUID-B76E5846-75B5-4876-98EC-439E15E4D8A4] more complicated.
{code:java}
TRUNCATE TABLE [schema.] table
[ {PRESERVE | PURGE} MATERIALIZED VIEW LOG ]
[ {DROP [ ALL ] | REUSE} STORAGE ] [ CASCADE ] ; {code}
[SQL Server|https://learn.microsoft.com/en-us/sql/t-sql/statements/truncate-table-transact-sql?view=sql-server-ver16] allow partitions.
{code:java}
TRUNCATE TABLE
{ database_name.schema_name.table_name | schema_name.table_name | table_name }
[ WITH ( PARTITIONS ( { <partition_number_expression> | <range> }
[ , ...n ] ) ) ]
[ ; ]
<range> ::=
<partition_number_expression> TO <partition_number_expression> {code}
[Hive|https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TruncateTable] also allow partitions.
{code:java}
TRUNCATE [TABLE] table_name [PARTITION partition_spec];
partition_spec:
: (partition_column = partition_col_value, partition_column = partition_col_value, ...) {code}
I suggest we add ` CONTINUE IDENTITY` and `RESTART IDENTITY`, core parser should follow standard SQL as much as possible.
> Support TRUNCATE TABLE DDL statement in Babel parser
> ----------------------------------------------------
>
> Key: CALCITE-5688
> URL: https://issues.apache.org/jira/browse/CALCITE-5688
> Project: Calcite
> Issue Type: Task
> Components: babel, core
> Reporter: Sumeet
> Priority: Minor
> Labels: pull-request-available
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)