@@ -6160,6 +6160,18 @@ List<ConstraintState> AlterExpressionConstraintState():
6160
6160
}
6161
6161
}
6162
6162
6163
+ Index IndexWithComment(Index index):
6164
+ {
6165
+ Token tk = null;
6166
+ }
6167
+ {
6168
+ <K_COMMENT> tk=<S_CHAR_LITERAL> {
6169
+ index.setCommentText(tk.image);
6170
+ }
6171
+ {
6172
+ return index;
6173
+ }
6174
+ }
6163
6175
6164
6176
/**
6165
6177
* This production needs refactoring to multiple smaller productions. The target class should
@@ -6191,17 +6203,15 @@ AlterExpression AlterExpression():
6191
6203
(
6192
6204
(
6193
6205
(
6194
- <K_ADD> { alterExp.setOperation(AlterOperation.ADD); }
6206
+ <K_ADD> { alterExp.setOperation(AlterOperation.ADD); }
6195
6207
|
6196
- <K_ALTER> { alterExp.setOperation(AlterOperation.ALTER); }
6208
+ <K_ALTER> { alterExp.setOperation(AlterOperation.ALTER); }
6197
6209
|
6198
6210
<K_MODIFY> { alterExp.setOperation(AlterOperation.MODIFY); }
6199
6211
)
6200
6212
6201
6213
(
6202
- LOOKAHEAD(2) (
6203
- <K_PRIMARY> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setPkColumns(columnNames); }
6204
- )
6214
+ LOOKAHEAD(2) (<K_PRIMARY> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setPkColumns(columnNames); })
6205
6215
6206
6216
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6207
6217
[<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
@@ -6214,6 +6224,7 @@ AlterExpression AlterExpression():
6214
6224
index = new Index().withType(tk.image).withName(sk3).withColumnsNames(columnNames);
6215
6225
alterExp.setIndex(index);
6216
6226
}
6227
+ [ index = IndexWithComment(index) { alterExp.setIndex(index); } ]
6217
6228
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6218
6229
[<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
6219
6230
)
@@ -6223,47 +6234,50 @@ AlterExpression AlterExpression():
6223
6234
6224
6235
(
6225
6236
LOOKAHEAD(4) (
6226
- "(" { alterExp.useBrackets(true);}
6237
+ "("
6238
+ { alterExp.useBrackets(true);}
6227
6239
alterExpressionColumnDataType = AlterExpressionColumnDataType() {
6228
6240
alterExp.addColDataType(alterExpressionColumnDataType);
6229
6241
}
6230
6242
(
6231
6243
","
6232
6244
alterExpressionColumnDataType = AlterExpressionColumnDataType() {
6233
- alterExp.addColDataType(alterExpressionColumnDataType);
6234
- }
6245
+ alterExp.addColDataType(alterExpressionColumnDataType);
6246
+ }
6235
6247
)*
6236
- ")"
6237
- )
6248
+ ")"
6249
+ )
6238
6250
|
6239
- LOOKAHEAD(2) alterExpressionColumnDataType = AlterExpressionColumnDataType() {
6240
- alterExp.addColDataType(alterExpressionColumnDataType);
6241
- }
6251
+ LOOKAHEAD(2) alterExpressionColumnDataType = AlterExpressionColumnDataType()
6252
+ { alterExp.addColDataType(alterExpressionColumnDataType); }
6242
6253
|
6243
- LOOKAHEAD(3) alterExpressionColumnDropNotNull = AlterExpressionColumnDropNotNull() {
6244
- alterExp.addColDropNotNull( alterExpressionColumnDropNotNull);
6245
- }
6254
+ LOOKAHEAD(3) alterExpressionColumnDropNotNull = AlterExpressionColumnDropNotNull()
6255
+ { alterExp.addColDropNotNull( alterExpressionColumnDropNotNull);}
6246
6256
|
6247
- alterExpressionColumnDropDefault = AlterExpressionColumnDropDefault() {
6248
- alterExp.addColDropDefault( alterExpressionColumnDropDefault);
6249
- }
6257
+ alterExpressionColumnDropDefault = AlterExpressionColumnDropDefault()
6258
+ { alterExp.addColDropDefault( alterExpressionColumnDropDefault); }
6250
6259
)
6251
6260
)
6252
6261
|
6253
6262
(
6254
6263
"(" alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); }
6255
- ("," alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); } )* ")"
6264
+ (","
6265
+ alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); }
6266
+ )*
6267
+ ")"
6256
6268
)
6257
6269
|
6258
6270
( <K_UNIQUE> ((<K_KEY> { alterExp.setUk(true); } | <K_INDEX>) (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>) { alterExp.setUkName(tk.image); } )?
6259
6271
columnNames=ColumnsNamesList() { alterExp.setUkColumns(columnNames); }
6260
- [<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }])
6272
+ [<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
6273
+ [ index = IndexWithComment(index) { alterExp.setIndex(index); } ]
6274
+ )
6261
6275
|
6262
6276
//following two choices regarding foreign keys should be merged
6263
6277
( <K_FOREIGN> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setFkColumns(columnNames); columnNames = null; }
6264
6278
/*
6265
6279
<K_REFERENCES> tk=<S_IDENTIFIER> [ columnNames=ColumnsNamesList() ]
6266
- { alterExp.setFkSourceTable(tk.image); alterExp.setFkSourceColumns(columnNames); }
6280
+ { alterExp.setFkSourceTable(tk.image); alterExp.setFkSourceColumns(columnNames); }
6267
6281
*/
6268
6282
<K_REFERENCES> fkTable=Table() [ columnNames=ColumnsNamesList() ]
6269
6283
{
@@ -6273,17 +6287,17 @@ AlterExpression AlterExpression():
6273
6287
}
6274
6288
6275
6289
[LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6276
- { alterExp.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6277
- )]
6290
+ { alterExp.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6291
+ )]
6278
6292
[LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6279
- { alterExp.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6280
- )]
6293
+ { alterExp.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6294
+ )]
6281
6295
)
6282
6296
|
6283
6297
(
6284
6298
<K_CONSTRAINT> sk3=RelObjectName()
6285
-
6286
- ( ( tk=<K_FOREIGN> tk2=<K_KEY>
6299
+ (
6300
+ ( tk=<K_FOREIGN> tk2=<K_KEY>
6287
6301
columnNames=ColumnsNamesList()
6288
6302
{
6289
6303
fkIndex = new ForeignKeyIndex()
@@ -6298,12 +6312,12 @@ AlterExpression AlterExpression():
6298
6312
alterExp.setIndex(fkIndex);
6299
6313
}
6300
6314
6301
- [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6302
- { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6303
- )]
6304
- [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6305
- { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6306
- )]
6315
+ [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6316
+ { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6317
+ )]
6318
+ [LOOKAHEAD(2) (<K_ON> (tk=<K_DELETE> | tk=<K_UPDATE>) action = Action()
6319
+ { fkIndex.setReferentialAction(ReferentialAction.Type.from(tk.image), action); }
6320
+ )]
6307
6321
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6308
6322
)
6309
6323
|
@@ -6318,13 +6332,14 @@ AlterExpression AlterExpression():
6318
6332
}
6319
6333
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6320
6334
[<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
6335
+ [ index = IndexWithComment(index) { alterExp.setIndex(index); } ]
6321
6336
)
6322
6337
|
6323
6338
(
6324
6339
<K_CHECK> {Expression exp = null;} ("(" exp = Expression() ")")* {
6325
- CheckConstraint checkCs = new CheckConstraint().withName(sk3).withExpression(exp);
6326
- alterExp.setIndex(checkCs);
6327
- }
6340
+ CheckConstraint checkCs = new CheckConstraint().withName(sk3).withExpression(exp);
6341
+ alterExp.setIndex(checkCs);
6342
+ }
6328
6343
)
6329
6344
|
6330
6345
(
@@ -6339,28 +6354,25 @@ AlterExpression AlterExpression():
6339
6354
}
6340
6355
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6341
6356
[<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }]
6357
+ [ index = IndexWithComment(index) { alterExp.setIndex(index); } ]
6342
6358
)
6343
6359
|
6344
6360
(
6345
6361
tk=<K_KEY>
6346
- columnNames=ColumnsNamesList()
6347
- {
6348
- index = new NamedConstraint()
6349
- .withName(sk3)
6350
- .withType(tk.image)
6351
- .withColumnsNames(columnNames);
6352
- alterExp.setIndex(index);
6353
- }
6354
- constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6362
+ columnNames=ColumnsNamesList()
6363
+ {
6364
+ index = new NamedConstraint()
6365
+ .withName(sk3)
6366
+ .withType(tk.image)
6367
+ .withColumnsNames(columnNames);
6368
+ alterExp.setIndex(index);
6369
+ }
6370
+ constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
6355
6371
)
6356
- )
6372
+ )
6357
6373
)
6358
6374
|
6359
- ( sk3=RelObjectName() <K_COMMENT>
6360
- tk=<S_CHAR_LITERAL> {
6361
- alterExp.withColumnName(sk3).withCommentText(tk.image);
6362
- }
6363
- )
6375
+ ( sk3=RelObjectName() <K_COMMENT> tk=<S_CHAR_LITERAL> { alterExp.withColumnName(sk3).withCommentText(tk.image); } )
6364
6376
)
6365
6377
)
6366
6378
|
@@ -6373,7 +6385,7 @@ AlterExpression AlterExpression():
6373
6385
)
6374
6386
)
6375
6387
|
6376
- <K_DROP> { alterExp.setOperation(AlterOperation.DROP); }
6388
+ <K_DROP> { alterExp.setOperation(AlterOperation.DROP); }
6377
6389
(
6378
6390
(
6379
6391
(
@@ -6406,9 +6418,9 @@ AlterExpression AlterExpression():
6406
6418
(
6407
6419
( tk=<K_INDEX> | tk=<K_KEY> )
6408
6420
( tk2=<S_IDENTIFIER> | tk2=<S_QUOTED_IDENTIFIER> ) {
6409
- index = new Index().withType(tk.image).withName(tk2.image);
6410
- alterExp.setIndex(index);
6411
- }
6421
+ index = new Index().withType(tk.image).withName(tk2.image);
6422
+ alterExp.setIndex(index);
6423
+ }
6412
6424
)
6413
6425
|
6414
6426
(
@@ -6435,18 +6447,18 @@ AlterExpression AlterExpression():
6435
6447
)
6436
6448
)
6437
6449
|
6438
- (<K_ALGORITHM>
6439
- {
6450
+ (
6451
+ <K_ALGORITHM> {
6440
6452
alterExp.setOperation(AlterOperation.ALGORITHM);
6441
6453
}
6442
6454
["=" { alterExp.setUseEqual(true);} ]
6443
6455
sk3 = RelObjectName() {alterExp.addParameters(sk3); }
6444
- )
6456
+ )
6445
6457
|
6446
- LOOKAHEAD(2) <K_RENAME> { alterExp.setOperation(AlterOperation.RENAME); } [ <K_COLUMN> { alterExp.hasColumn(true);} ]
6447
- ( tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> ) { alterExp.setColOldName(tk.image); }
6458
+ LOOKAHEAD(2) <K_RENAME> { alterExp.setOperation(AlterOperation.RENAME); } [ <K_COLUMN> { alterExp.hasColumn(true);} ]
6459
+ ( tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> ) { alterExp.setColOldName(tk.image); }
6448
6460
<K_TO>
6449
- (tk2=<S_IDENTIFIER> | tk2=<S_QUOTED_IDENTIFIER>) { alterExp.setColumnName(tk2.image); }
6461
+ (tk2=<S_IDENTIFIER> | tk2=<S_QUOTED_IDENTIFIER>) { alterExp.setColumnName(tk2.image); }
6450
6462
|
6451
6463
(
6452
6464
<K_RENAME> <K_TO> {alterExp.setOperation(AlterOperation.RENAME_TABLE);}
@@ -6471,7 +6483,7 @@ AlterExpression AlterExpression():
6471
6483
}
6472
6484
6473
6485
alterExp.setOptionalSpecifier( optionalSpecifier.toString() );
6474
- }
6486
+ }
6475
6487
)
6476
6488
6477
6489
{
0 commit comments