@@ -1152,7 +1152,7 @@ String RelObjectName() :
11521152{ Token tk = null; String result = null; }
11531153{
11541154 (result = RelObjectNameWithoutValue() | tk=<K_TOP> | tk=<K_VALUE> | tk=<K_VALUES>
1155- | tk=<K_INTERVAL> | tk=<K_START>)
1155+ | tk=<K_INTERVAL> | tk=<K_START> | tk=<K_ON> )
11561156
11571157 {
11581158 if (tk!=null) result=tk.image;
@@ -1182,7 +1182,7 @@ String RelObjectNameExt():
11821182{
11831183 ( result=RelObjectName() | tk=<K_LEFT> | tk=<K_RIGHT> | tk=<K_SET>
11841184 | tk=<K_DOUBLE> | tk=<K_IF> | <K_OPTIMIZE> | tk=<K_LIMIT>
1185- | tk=<K_OFFSET>)
1185+ | tk=<K_OFFSET> )
11861186 {
11871187 if (tk!=null) result=tk.image;
11881188 return result;
@@ -1296,7 +1296,7 @@ PlainSelect PlainSelect() #PlainSelect:
12961296 |
12971297 (
12981298 <K_DISTINCT> { Distinct distinct = new Distinct(); plainSelect.setDistinct(distinct); }
1299- [ "ON" "(" distinctOn=SelectItemsList() { plainSelect.getDistinct().setOnSelectItems(distinctOn); } ")" ]
1299+ [ LOOKAHEAD(2) "ON" "(" distinctOn=SelectItemsList() { plainSelect.getDistinct().setOnSelectItems(distinctOn); } ")" ]
13001300 )
13011301 |
13021302 (
@@ -3688,22 +3688,6 @@ CreateTable CreateTable():
36883688 ("("
36893689 coldef = ColumnDefinition()
36903690
3691- /*
3692- colDataType = ColDataType()
3693- {
3694- columnSpecs = new ArrayList();
3695- }
3696-
3697- ( parameter=CreateParameter() { columnSpecs.addAll(parameter); } )*
3698-
3699- {
3700- coldef = new ColumnDefinition();
3701- coldef.setColumnName(columnName);
3702- coldef.setColDataType(colDataType);
3703- if (columnSpecs.size() > 0)
3704- coldef.setColumnSpecStrings(columnSpecs);
3705- columnDefinitions.add(coldef);
3706- }*/
37073691 { columnDefinitions.add(coldef); }
37083692
37093693 (
@@ -3862,7 +3846,8 @@ ColDataType ColDataType():
38623846 (
38633847 (tk=<K_CHARACTER> | tk=<K_BIT>) [tk2=<K_VARYING>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
38643848 | tk=<K_DOUBLE> [LOOKAHEAD(2) tk2=<K_PRECISION>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
3865- | ( tk=<S_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_DATE_LITERAL> | tk=<K_XML> | tk=<K_INTERVAL> | tk=<DT_ZONE> | tk=<K_CHAR> | tk=<K_SET> )
3849+ | ( tk=<S_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_DATE_LITERAL> | tk=<K_XML> | tk=<K_INTERVAL>
3850+ | tk=<DT_ZONE> | tk=<K_CHAR> | tk=<K_SET> | tk=<K_BINARY> )
38663851 { colDataType.setDataType(tk.image); }
38673852 | tk=<K_UNSIGNED> tk2=<S_IDENTIFIER> {colDataType.setDataType(tk.image + " " + tk2.image);}
38683853 | LOOKAHEAD(2) tk=<K_SIGNED> tk2=<S_IDENTIFIER> {colDataType.setDataType(tk.image + " " + tk2.image);}
@@ -4245,8 +4230,8 @@ AlterExpression AlterExpression():
42454230 [<K_USING> sk4=RelObjectName() { alterExp.addParameters("USING", sk4); }])
42464231 |
42474232//following two choices regarding foreign keys should be merged
4248- ( <K_FOREIGN> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setFkColumns(columnNames); }
4249- <K_REFERENCES> tk=<S_IDENTIFIER> columnNames=ColumnsNamesList()
4233+ ( <K_FOREIGN> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setFkColumns(columnNames); columnNames = null; }
4234+ <K_REFERENCES> tk=<S_IDENTIFIER> [ columnNames=ColumnsNamesList() ]
42504235 { alterExp.setFkSourceTable(tk.image); alterExp.setFkSourceColumns(columnNames); }
42514236 [<K_ON> <K_DELETE>
42524237 (<K_CASCADE> { alterExp.setOnDeleteCascade(true); }
@@ -4264,8 +4249,9 @@ AlterExpression AlterExpression():
42644249 fkIndex.setName(sk3);
42654250 fkIndex.setType(tk.image + " " + tk2.image);
42664251 fkIndex.setColumnsNames(columnNames);
4252+ columnNames = null;
42674253 }
4268- <K_REFERENCES> fkTable=Table() columnNames=ColumnsNamesList()
4254+ <K_REFERENCES> fkTable=Table() [ columnNames=ColumnsNamesList() ]
42694255 {
42704256 fkIndex.setTable(fkTable);
42714257 fkIndex.setReferencedColumnNames(columnNames);
@@ -4399,7 +4385,7 @@ Alter AlterTable():
43994385
44004386}
44014387{
4402- <K_ALTER> <K_TABLE> table=Table() { alter.setTable(table); }
4388+ <K_ALTER> <K_TABLE> [ <K_ONLY> { alter.setUseOnly(true); } ] table=Table() { alter.setTable(table); }
44034389 ( alterExp=AlterExpression() { alter.addAlterExpression(alterExp); }
44044390 ("," alterExp=AlterExpression() { alter.addAlterExpression(alterExp); } )*
44054391 )
0 commit comments