File tree Expand file tree Collapse file tree 3 files changed +13
-3
lines changed
java/net/sf/jsqlparser/statement/alter
jjtree/net/sf/jsqlparser/parser
test/java/net/sf/jsqlparser/test/alter Expand file tree Collapse file tree 3 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -205,9 +205,6 @@ public String toString() {
205205 b .append ("CONSTRAINT " ).append (constraintName );
206206 } else if (pkColumns != null ) {
207207 b .append ("PRIMARY KEY (" ).append (PlainSelect .getStringList (pkColumns )).append (')' );
208- if (getConstraints () != null && !getConstraints ().isEmpty ()) {
209- b .append (' ' ).append (PlainSelect .getStringList (constraints , false , false ));
210- }
211208 } else if (ukColumns != null ) {
212209 b .append ("UNIQUE KEY " ).append (ukName ).append (" (" ).append (PlainSelect .
213210 getStringList (ukColumns )).append (")" );
@@ -225,6 +222,9 @@ public String toString() {
225222 } else if (index != null ) {
226223 b .append (index );
227224 }
225+ if (getConstraints () != null && !getConstraints ().isEmpty ()) {
226+ b .append (' ' ).append (PlainSelect .getStringList (constraints , false , false ));
227+ }
228228
229229 return b .toString ();
230230 }
Original file line number Diff line number Diff line change @@ -3186,6 +3186,7 @@ AlterExpression AlterExpression():
31863186 fkIndex.setReferencedColumnNames(columnNames);
31873187 alterExp.setIndex(fkIndex);
31883188 }
3189+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
31893190 )
31903191 |
31913192 ( tk=<K_PRIMARY> tk2=<K_KEY>
@@ -3197,6 +3198,7 @@ AlterExpression AlterExpression():
31973198 index.setColumnsNames(columnNames);
31983199 alterExp.setIndex(index);
31993200 }
3201+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
32003202 )
32013203 |
32023204 (
Original file line number Diff line number Diff line change @@ -85,6 +85,14 @@ public void testAlterTableAddConstraint() throws JSQLParserException {
8585 assertSqlCanBeParsedAndDeparsed ("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT FK_RESOURCELINKTYPE_PARENTTYPE_PRIMARYKEY FOREIGN KEY (PARENTTYPE_PRIMARYKEY) REFERENCES RESOURCETYPE(PRIMARYKEY)" );
8686 }
8787
88+ public void testAlterTableAddConstraintWithConstraintState () throws JSQLParserException {
89+ assertSqlCanBeParsedAndDeparsed ("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT FK_RESOURCELINKTYPE_PARENTTYPE_PRIMARYKEY FOREIGN KEY (PARENTTYPE_PRIMARYKEY) REFERENCES RESOURCETYPE(PRIMARYKEY) DEFERRABLE DISABLE NOVALIDATE" );
90+ }
91+
92+ public void testAlterTableAddConstraintWithConstraintState2 () throws JSQLParserException {
93+ assertSqlCanBeParsedAndDeparsed ("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT RESOURCELINKTYPE_PRIMARYKEY PRIMARY KEY (PRIMARYKEY) DEFERRABLE NOVALIDATE" );
94+ }
95+
8896 public void testAlterTableForgeignKey2 () throws JSQLParserException {
8997 assertSqlCanBeParsedAndDeparsed ("ALTER TABLE test ADD FOREIGN KEY (user_id) REFERENCES ra_user (id)" );
9098 }
You can’t perform that action at this time.
0 commit comments