| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -412,6 +412,9 @@ public String toString() { | |||
| 412 | 412 | if (hasColumn) { | |
| 413 | 413 | b.append("COLUMN "); | |
| 414 | 414 | } | |
| 415 | + if (usingIfExists) { | ||
| 416 | + b.append("IF EXISTS "); | ||
| 417 | + } | ||
| 415 | 418 | if (operation == AlterOperation.RENAME) { | |
| 416 | 419 | b.append(columnOldName).append(" TO "); | |
| 417 | 420 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -5991,6 +5991,7 @@ AlterExpression AlterExpression(): | |||
| 5991 | 5991 | | | |
| 5992 | 5992 | ( | |
| 5993 | 5993 | ( LOOKAHEAD(2) <K_COLUMN> { alterExp.hasColumn(true); } )? | |
| 5994 | + [<K_IF> <K_EXISTS> { alterExp.setUsingIfExists(true); } ] | ||
| 5994 | 5995 | (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>) { alterExp.setColumnName(tk.image); } | |
| 5995 | 5996 | ||
| 5996 | 5997 | [ "INVALIDATE" { alterExp.addParameters("INVALIDATE"); } ] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -789,4 +789,18 @@ public void testAlterTableChangeColumnDropDefault() throws JSQLParserException { | |||
| 789 | 789 | assertSqlCanBeParsedAndDeparsed("ALTER TABLE a MODIFY (COLUMN b DROP DEFAULT, COLUMN b DROP NOT NULL)", true); | |
| 790 | 790 | } | |
| 791 | 791 | ||
| 792 | + @Test | ||
| 793 | + public void testAlterTableDropColumnIfExists() throws JSQLParserException { | ||
| 794 | + assertSqlCanBeParsedAndDeparsed("ALTER TABLE test DROP COLUMN IF EXISTS name"); | ||
| 795 | + } | ||
| 796 | + | ||
| 797 | + @Test | ||
| 798 | + public void testAlterTableDropMultipleColumnsIfExists() throws JSQLParserException { | ||
| 799 | + assertSqlCanBeParsedAndDeparsed("ALTER TABLE test DROP COLUMN IF EXISTS name, DROP COLUMN IF EXISTS surname"); | ||
| 800 | + } | ||
| 801 | + | ||
| 802 | + @Test | ||
| 803 | + public void testAlterTableDropMultipleColumnsIfExistsWithParams() throws JSQLParserException { | ||
| 804 | + assertSqlCanBeParsedAndDeparsed("ALTER TABLE test DROP COLUMN IF EXISTS name CASCADE, DROP COLUMN IF EXISTS surname CASCADE"); | ||
| 805 | + } | ||
| 792 | 806 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments