Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Semantic
-
Low Hanging Fruit
-
All
-
None
-
Description
It would make sense to add support for IF EXISTS and IF NOT EXISTS in the different ALTER statements.
For example:
- ALTER TABLE IF EXISTS myTable ...
- ALTER TABLE myTable ADD IF NOT EXISTS ...
- ALTER TABLE myTable DROP IF EXISTS ...
- ALTER TYPE IF EXISTS myType ...
- ALTER TYPE myType ADD IF NOT EXISTS ...
Additional info for newcomers:
In order to implement this change you will need to change the Parser.g ANTLR file located in the src/antlr directory and the java classes corresponding to the different alter statements located in the org.apache.cassandra.cql3.statements.schema package. You can look at the CreateTableStatement class to see how it was done there.
The unit test for the CQL logic are located under org.apache.cassandra.cql3.validation
Attachments
Issue Links
- causes
-
CASSANDRA-19749 ALTER USER | ROLE IF EXISTS creates a user / role if it does not exist
- Resolved
- is duplicated by
-
CASSANDRA-14706 Support "IF EXISTS/IF NOT EXISTS" for all clauses of "ALTER TABLE"
- Resolved
- links to