File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed
java/net/sf/jsqlparser/statement/alter
jjtree/net/sf/jsqlparser/parser
test/java/net/sf/jsqlparser/statement/alter Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -232,8 +232,11 @@ public String toString() {
232232 } else if (pkColumns != null ) {
233233 b .append ("PRIMARY KEY (" ).append (PlainSelect .getStringList (pkColumns )).append (')' );
234234 } else if (ukColumns != null ) {
235- b .append ("UNIQUE KEY " ).append (ukName ).append (" (" ).append (PlainSelect .
236- getStringList (ukColumns )).append (")" );
235+ b .append ("UNIQUE" );
236+ if (ukName != null ) {
237+ b .append (" KEY " ).append (ukName );
238+ }
239+ b .append (" (" ).append (PlainSelect .getStringList (ukColumns )).append (")" );
237240 } else if (fkColumns != null ) {
238241 b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).
239242 append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (
Original file line number Diff line number Diff line change @@ -3782,7 +3782,7 @@ AlterExpression AlterExpression():
37823782 ("," alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); } )* ")"
37833783 )
37843784 |
3785- ( <K_UNIQUE> <K_KEY> (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>) columnNames=ColumnsNamesList() { alterExp.setUkName(tk.image); alterExp.setUkColumns(columnNames); } )
3785+ ( <K_UNIQUE> ( <K_KEY> (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>) { alterExp.setUkName(tk.image); } )? columnNames=ColumnsNamesList() { alterExp.setUkColumns(columnNames); } )
37863786 |
37873787//following two choices regarding foreign keys should be merged
37883788 ( <K_FOREIGN> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setFkColumns(columnNames); }
Original file line number Diff line number Diff line change @@ -102,6 +102,11 @@ public void testAlterTableAddConstraintWithConstraintState() throws JSQLParserEx
102102 public void testAlterTableAddConstraintWithConstraintState2 () throws JSQLParserException {
103103 assertSqlCanBeParsedAndDeparsed ("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT RESOURCELINKTYPE_PRIMARYKEY PRIMARY KEY (PRIMARYKEY) DEFERRABLE NOVALIDATE" );
104104 }
105+
106+ @ Test
107+ public void testAlterTableAddUniqueConstraint () throws JSQLParserException {
108+ assertSqlCanBeParsedAndDeparsed ("ALTER TABLE Persons ADD UNIQUE (ID)" );
109+ }
105110
106111 @ Test
107112 public void testAlterTableForgeignKey2 () throws JSQLParserException {
You can’t perform that action at this time.
0 commit comments