@@ -8034,89 +8034,107 @@ AlterExpression AlterExpression():
8034
8034
)
8035
8035
|
8036
8036
(
8037
- <K_CONSTRAINT> sk3=RelObjectName()
8037
+ <K_CONSTRAINT>
8038
8038
(
8039
- ( tk=<K_FOREIGN> tk2=<K_KEY>
8040
- columnNames=ColumnsNamesList()
8041
- {
8042
- fkIndex = new ForeignKeyIndex()
8043
- .withName(sk3)
8044
- .withType(tk.image + " " + tk2.image)
8045
- .withColumnsNames(columnNames);
8046
- columnNames = null;
8047
- }
8048
- <K_REFERENCES> fkTable=Table() [ LOOKAHEAD(2) columnNames=ColumnsNamesList() ]
8049
- {
8050
- fkIndex.withTable(fkTable).withReferencedColumnNames(columnNames);
8051
- alterExp.setIndex(fkIndex);
8052
- }
8053
-
8054
- [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
8055
- { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
8056
- )]
8057
- [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
8058
- { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
8059
- )]
8060
- constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8061
- )
8062
- |
8063
- ( tk=<K_PRIMARY> tk2=<K_KEY>
8064
- columnNames=ColumnsNamesList()
8065
- {
8066
- index = new NamedConstraint()
8067
- .withName(sk3)
8068
- .withType(tk.image + " " + tk2.image)
8069
- .withColumnsNames(columnNames);
8070
- alterExp.setIndex(index);
8071
- }
8072
- constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8073
- [ <K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
8074
- [ LOOKAHEAD(2) index = IndexWithComment(index) { alterExp.setIndex(index); } ]
8075
- )
8076
- |
8077
- LOOKAHEAD(2) (
8078
- { boolean enforced = true; }
8079
- [ tk = <K_NOT> { enforced = false; } ]
8080
- <K_ENFORCED> {
8081
- alterExp.setEnforced(enforced);
8082
- alterExp.setConstraintType("CONSTRAINT");
8083
- alterExp.setConstraintSymbol(sk3);
8084
- }
8085
- )
8086
- |
8039
+ LOOKAHEAD(2)
8087
8040
(
8088
- <K_CHECK> {Expression exp = null;} (LOOKAHEAD(2) "(" exp = Expression() ")")* {
8089
- CheckConstraint checkCs = new CheckConstraint().withName(sk3).withExpression(exp);
8090
- alterExp.setIndex(checkCs);
8041
+ <K_UNIQUE> (<K_KEY> { alterExp.setConstraintType("UNIQUE KEY"); }
8042
+ | <K_INDEX> { alterExp.setConstraintType("UNIQUE INDEX"); }
8043
+ | { alterExp.setConstraintType("UNIQUE"); } )
8044
+ sk3=RelObjectName() {
8045
+ alterExp.setConstraintSymbol(sk3);
8046
+ index = new Index();
8047
+ }
8048
+ columnNames=ColumnsNamesList() {
8049
+ index.setColumnsNames(columnNames);
8050
+ alterExp.setIndex(index);
8091
8051
}
8092
8052
)
8093
8053
|
8054
+ sk3=RelObjectName()
8094
8055
(
8095
- tk=<K_UNIQUE> ( tk2=<K_KEY> { alterExp.setUk(true); } | tk2=<K_INDEX>)?
8096
- columnNames=ColumnsNamesList()
8097
- {
8098
- index = new NamedConstraint ()
8056
+ ( tk=<K_FOREIGN> tk2=<K_KEY>
8057
+ columnNames=ColumnsNamesList()
8058
+ {
8059
+ fkIndex = new ForeignKeyIndex ()
8099
8060
.withName(sk3)
8100
- .withType(tk.image + (tk2!=null? " " + tk2.image:"") )
8061
+ .withType(tk.image + " " + tk2.image)
8101
8062
.withColumnsNames(columnNames);
8102
- alterExp.setIndex(index);
8103
- }
8104
- constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8105
- [ <K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
8106
- [ LOOKAHEAD(2) index = IndexWithComment(index) { alterExp.setIndex(index); } ]
8107
- )
8108
- |
8109
- (
8110
- tk=<K_KEY>
8111
- columnNames=ColumnsNamesList()
8112
- {
8113
- index = new NamedConstraint()
8114
- .withName(sk3)
8115
- .withType(tk.image)
8116
- .withColumnsNames(columnNames);
8117
- alterExp.setIndex(index);
8118
- }
8119
- constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8063
+ columnNames = null;
8064
+ }
8065
+ <K_REFERENCES> fkTable=Table() [ LOOKAHEAD(2) columnNames=ColumnsNamesList() ]
8066
+ {
8067
+ fkIndex.withTable(fkTable).withReferencedColumnNames(columnNames);
8068
+ alterExp.setIndex(fkIndex);
8069
+ }
8070
+
8071
+ [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
8072
+ { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
8073
+ )]
8074
+ [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
8075
+ { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
8076
+ )]
8077
+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8078
+ )
8079
+ |
8080
+ ( tk=<K_PRIMARY> tk2=<K_KEY>
8081
+ columnNames=ColumnsNamesList()
8082
+ {
8083
+ index = new NamedConstraint()
8084
+ .withName(sk3)
8085
+ .withType(tk.image + " " + tk2.image)
8086
+ .withColumnsNames(columnNames);
8087
+ alterExp.setIndex(index);
8088
+ }
8089
+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8090
+ [ <K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
8091
+ [ LOOKAHEAD(2) index = IndexWithComment(index) { alterExp.setIndex(index); } ]
8092
+ )
8093
+ |
8094
+ LOOKAHEAD(2) (
8095
+ { boolean enforced = true; }
8096
+ [ tk = <K_NOT> { enforced = false; } ]
8097
+ <K_ENFORCED> {
8098
+ alterExp.setEnforced(enforced);
8099
+ alterExp.setConstraintType("CONSTRAINT");
8100
+ alterExp.setConstraintSymbol(sk3);
8101
+ }
8102
+ )
8103
+ |
8104
+ (
8105
+ <K_CHECK> {Expression exp = null;} (LOOKAHEAD(2) "(" exp = Expression() ")")* {
8106
+ CheckConstraint checkCs = new CheckConstraint().withName(sk3).withExpression(exp);
8107
+ alterExp.setIndex(checkCs);
8108
+ }
8109
+ )
8110
+ |
8111
+ (
8112
+ tk=<K_UNIQUE> (tk2=<K_KEY> { alterExp.setUk(true); } | tk2=<K_INDEX>)?
8113
+ columnNames=ColumnsNamesList()
8114
+ {
8115
+ index = new NamedConstraint()
8116
+ .withName(sk3)
8117
+ .withType(tk.image + (tk2!=null?" " + tk2.image:""))
8118
+ .withColumnsNames(columnNames);
8119
+ alterExp.setIndex(index);
8120
+ }
8121
+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8122
+ [ <K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
8123
+ [ LOOKAHEAD(2) index = IndexWithComment(index) { alterExp.setIndex(index); } ]
8124
+ )
8125
+ |
8126
+ (
8127
+ tk=<K_KEY>
8128
+ columnNames=ColumnsNamesList()
8129
+ {
8130
+ index = new NamedConstraint()
8131
+ .withName(sk3)
8132
+ .withType(tk.image)
8133
+ .withColumnsNames(columnNames);
8134
+ alterExp.setIndex(index);
8135
+ }
8136
+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
8137
+ )
8120
8138
)
8121
8139
)
8122
8140
)
0 commit comments