@@ -282,6 +282,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
282282| <K_TOP:"TOP">
283283| <K_TRAILING:"TRAILING">
284284| <K_TRUNCATE:"TRUNCATE">
285+ | <K_TYPE:"TYPE">
285286| <K_UNBOUNDED: "UNBOUNDED">
286287| <K_UNION:"UNION">
287288| <K_UNIQUE:"UNIQUE">
@@ -1049,7 +1050,7 @@ String RelObjectNameWithoutValue() :
10491050 | tk=<K_TABLE> | tk=<K_DATETIMELITERAL> | tk=<K_COMMIT> | tk=<K_PRECISION>
10501051 | tk=<K_INSERT> | tk=<K_INDEX> | tk=<K_PRIMARY> | tk=<K_ENABLE>
10511052 | tk=<K_UNSIGNED>
1052- | tk=<K_TEMP> | tk=<K_TEMPORARY> | tk=<K_ISNULL>
1053+ | tk=<K_TEMP> | tk=<K_TEMPORARY> | tk=<K_TYPE> | tk=< K_ISNULL>
10531054 | tk=<K_ZONE>
10541055/* | tk=<K_PLACING> | tk=<K_BOTH> | tk=<K_LEADING> | tk=<K_TRAILING> */
10551056 )
@@ -3567,6 +3568,8 @@ List<String> CreateParameter():
35673568 tk=<K_BY> { param.add(tk.image); }
35683569 |
35693570 tk=<K_IN> { param.add(tk.image); }
3571+ |
3572+ tk=<K_TYPE> { param.add(tk.image); }
35703573 )
35713574 {return param;}
35723575}
@@ -3596,7 +3599,7 @@ String ColumnsNamesListItem():
35963599 String item = null;
35973600}
35983601{
3599- (tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>) { item = tk.image; }
3602+ ( item = RelObjectName() )
36003603 [ "(" tk = <S_LONG> ")" { item = item + "(" + tk.image + ")"; } ]
36013604 {
36023605 return item;
@@ -3668,16 +3671,18 @@ Truncate Truncate():
36683671AlterExpression.ColumnDataType AlterExpressionColumnDataType():
36693672{
36703673 String columnName = null;
3674+ boolean withType = false;
36713675 ColDataType dataType = null;
36723676 List<String> columnSpecs = null;
36733677 List<String> parameter = null;
36743678}
36753679{
36763680 columnName = RelObjectName()
3681+ (<K_TYPE> { withType = true; } )?
36773682 dataType = ColDataType() { columnSpecs = new ArrayList(); }
36783683 ( parameter = CreateParameter() { columnSpecs.addAll(parameter); } )*
36793684 {
3680- return new AlterExpression.ColumnDataType(columnName, dataType, columnSpecs);
3685+ return new AlterExpression.ColumnDataType(columnName, withType, dataType, columnSpecs);
36813686 }
36823687}
36833688
@@ -3735,7 +3740,7 @@ AlterExpression AlterExpression():
37353740{
37363741
37373742 (
3738- ((<K_ADD> { alterExp.setOperation(AlterOperation.ADD); } | <K_MODIFY> { alterExp.setOperation(AlterOperation.MODIFY); })
3743+ ((<K_ADD> { alterExp.setOperation(AlterOperation.ADD); } | <K_ALTER> { alterExp.setOperation(AlterOperation.ALTER); } | < K_MODIFY> { alterExp.setOperation(AlterOperation.MODIFY); })
37393744 (
37403745 LOOKAHEAD(2) ( <K_PRIMARY> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setPkColumns(columnNames); } ) constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
37413746 |
0 commit comments