Cuong Nguyen created SPARK-50883: ------------------------------------ Summary: Support altering multiple columns in the same ALTER TABLE command Key: SPARK-50883 URL: https://issues.apache.org/jira/browse/SPARK-50883 Project: Spark Issue Type: New Feature Components: SQL Affects Versions: 3.5.4 Reporter: Cuong Nguyen
Current ALTER TABLE ... ALTER COLUMN syntax only allows altering one column at a time. For a large table with many columns, we need to run a command for every column, which can be slow since we need to incur the preprocessing and IO cost repeatedly. A new syntax that allows specifying multiple columns can open door for sharing such cost across multiple column changes. We propose this new syntax {code:java} ALTER TABLE table_name ALTER COLUMN { { column_identifier | field_name } { COMMENT comment | { FIRST | AFTER identifier } | { SET | DROP } NOT NULL | TYPE data_type | SET DEFAULT clause | DROP DEFAULT } }{code} For example: {code:java} ALTER TABLE test_table ALTER COLUMN a COMMENT "new comment", b TYPE BIGINT, x.y.z FIRST{code} This new syntax is backward compatible with the current syntax. To bound the complexity of the initial support of this syntax we place the following restrictions: * Altering the same column multiple times is not allowed * Altering a parent and a child column (for nested data type) is not allowed. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org