Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,6 @@ public String toString() {
b.append("CONSTRAINT ").append(constraintName);
} else if (pkColumns != null) {
b.append("PRIMARY KEY (").append(PlainSelect.getStringList(pkColumns)).append(')');
if (getConstraints() != null && !getConstraints().isEmpty()) {
b.append(' ').append(PlainSelect.getStringList(constraints, false, false));
}
} else if (ukColumns != null) {
b.append("UNIQUE KEY ").append(ukName).append(" (").append(PlainSelect.
getStringList(ukColumns)).append(")");
Expand All @@ -225,6 +222,9 @@ public String toString() {
} else if (index != null) {
b.append(index);
}
if (getConstraints() != null && !getConstraints().isEmpty()) {
b.append(' ').append(PlainSelect.getStringList(constraints, false, false));
}

return b.toString();
}
Expand Down
2 changes: 2 additions & 0 deletions src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt
Original file line number Diff line number Diff line change
Expand Up @@ -3186,6 +3186,7 @@ AlterExpression AlterExpression():
fkIndex.setReferencedColumnNames(columnNames);
alterExp.setIndex(fkIndex);
}
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
)
|
( tk=<K_PRIMARY> tk2=<K_KEY>
Expand All @@ -3197,6 +3198,7 @@ AlterExpression AlterExpression():
index.setColumnsNames(columnNames);
alterExp.setIndex(index);
}
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
)
|
(
Expand Down
8 changes: 8 additions & 0 deletions src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,14 @@ public void testAlterTableAddConstraint() throws JSQLParserException {
assertSqlCanBeParsedAndDeparsed("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT FK_RESOURCELINKTYPE_PARENTTYPE_PRIMARYKEY FOREIGN KEY (PARENTTYPE_PRIMARYKEY) REFERENCES RESOURCETYPE(PRIMARYKEY)");
}

public void testAlterTableAddConstraintWithConstraintState() throws JSQLParserException {
assertSqlCanBeParsedAndDeparsed("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT FK_RESOURCELINKTYPE_PARENTTYPE_PRIMARYKEY FOREIGN KEY (PARENTTYPE_PRIMARYKEY) REFERENCES RESOURCETYPE(PRIMARYKEY) DEFERRABLE DISABLE NOVALIDATE");
}

public void testAlterTableAddConstraintWithConstraintState2() throws JSQLParserException {
assertSqlCanBeParsedAndDeparsed("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT RESOURCELINKTYPE_PRIMARYKEY PRIMARY KEY (PRIMARYKEY) DEFERRABLE NOVALIDATE");
}

public void testAlterTableForgeignKey2() throws JSQLParserException {
assertSqlCanBeParsedAndDeparsed("ALTER TABLE test ADD FOREIGN KEY (user_id) REFERENCES ra_user (id)");
}
Expand Down