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() {
232
232
} else if (pkColumns != null ) {
233
233
b .append ("PRIMARY KEY (" ).append (PlainSelect .getStringList (pkColumns )).append (')' );
234
234
} 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 (")" );
237
240
} else if (fkColumns != null ) {
238
241
b .append ("FOREIGN KEY (" ).append (PlainSelect .getStringList (fkColumns )).
239
242
append (") REFERENCES " ).append (fkSourceTable ).append (" (" ).append (
Original file line number Diff line number Diff line change @@ -3782,7 +3782,7 @@ AlterExpression AlterExpression():
3782
3782
("," alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); } )* ")"
3783
3783
)
3784
3784
|
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); } )
3786
3786
|
3787
3787
//following two choices regarding foreign keys should be merged
3788
3788
( <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
102
102
public void testAlterTableAddConstraintWithConstraintState2 () throws JSQLParserException {
103
103
assertSqlCanBeParsedAndDeparsed ("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT RESOURCELINKTYPE_PRIMARYKEY PRIMARY KEY (PRIMARYKEY) DEFERRABLE NOVALIDATE" );
104
104
}
105
+
106
+ @ Test
107
+ public void testAlterTableAddUniqueConstraint () throws JSQLParserException {
108
+ assertSqlCanBeParsedAndDeparsed ("ALTER TABLE Persons ADD UNIQUE (ID)" );
109
+ }
105
110
106
111
@ Test
107
112
public void testAlterTableForgeignKey2 () throws JSQLParserException {
You can’t perform that action at this time.
0 commit comments