Are they consistent with the current syntax defined in SqlBase.g4? I think
we are following the Hive DDL syntax:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/Partition/Column

Ryan Blue <rb...@netflix.com.invalid> 于2018年9月28日周五 下午3:47写道:

> Hi everyone,
>
> I’m currently working on new table DDL statements for v2 tables. For
> context, the new logical plans for DataSourceV2 require a catalog interface
> so that Spark can create tables for operations like CTAS. The proposed
> TableCatalog API also includes an API for altering those tables so we can
> make ALTER TABLE statements work. I’m implementing those DDL statements,
> which will make it into upstream Spark when the TableCatalog PR is merged.
>
> Since I’m adding new SQL statements that don’t yet exist in Spark, I want
> to make sure that the syntax I’m using in our branch will match the syntax
> we add to Spark later. I’m basing this proposed syntax on PostgreSQL
> <https://www.postgresql.org/docs/current/static/ddl-alter.html>.
>
>    - *Update data type*: ALTER TABLE tableIdentifier ALTER COLUMN
>    qualifiedName TYPE dataType.
>    - *Rename column*: ALTER TABLE tableIdentifier RENAME COLUMN
>    qualifiedName TO qualifiedName
>    - *Drop column*: ALTER TABLE tableIdentifier DROP (COLUMN | COLUMNS)
>    qualifiedNameList
>
> A few notes:
>
>    - Using qualifiedName in these rules allows updating nested types,
>    like point.x.
>    - Updates and renames can only alter one column, but drop can drop a
>    list.
>    - Rename can’t move types and will validate that if the TO name is
>    qualified, that the prefix matches the original field.
>    - I’m also changing ADD COLUMN to support adding fields to nested
>    columns by using qualifiedName instead of identifier.
>
> Please reply to this thread if you have suggestions based on a different
> SQL engine or want this syntax to be different for another reason. Thanks!
>
> rb
> --
> Ryan Blue
> Software Engineer
> Netflix
>

Reply via email to