@@ -33,7 +33,7 @@ private static Stream<Arguments> expressions()
33
33
{
34
34
return Stream .of (
35
35
Arguments .of ("" , "line 1:1: mismatched input '<EOF>'. Expecting: <expression>" ),
36
- Arguments .of ("1 + 1 x" , "line 1:7: mismatched input 'x'. Expecting: '%', '*', '+', '-', '.', '/', 'AND', 'AT', 'OR', '[', '||', <EOF>, <predicate>" ));
36
+ Arguments .of ("1 + 1 x" , "line 1:7: mismatched input 'x'. Expecting: '%', '*', '+', '-', '.', '/', '::', ' AND', 'AT', 'OR', '[', '||', <EOF>, <predicate>" ));
37
37
}
38
38
39
39
private static Stream <Arguments > statements ()
@@ -67,7 +67,7 @@ private static Stream<Arguments> statements()
67
67
Arguments .of ("select 1x from dual" ,
68
68
"line 1:8: identifiers must not start with a digit; surround the identifier with double quotes" ),
69
69
Arguments .of ("select fuu from dual order by fuu order by fuu" ,
70
- "line 1:35: mismatched input 'order'. Expecting: '%', '*', '+', ',', '-', '.', '/', 'AND', 'ASC', 'AT', 'DESC', 'FETCH', 'LIMIT', 'NULLS', 'OFFSET', 'OR', '[', '||', <EOF>, <predicate>" ),
70
+ "line 1:35: mismatched input 'order'. Expecting: '%', '*', '+', ',', '-', '.', '/', '::', ' AND', 'ASC', 'AT', 'DESC', 'FETCH', 'LIMIT', 'NULLS', 'OFFSET', 'OR', '[', '||', <EOF>, <predicate>" ),
71
71
Arguments .of ("select fuu from dual limit 10 order by fuu" ,
72
72
"line 1:31: mismatched input 'order'. Expecting: <EOF>" ),
73
73
Arguments .of ("select CAST(12223222232535343423232435343 AS BIGINT)" ,
@@ -99,7 +99,7 @@ private static Stream<Arguments> statements()
99
99
Arguments .of ("SELECT x() over (ROWS select) FROM t" ,
100
100
"line 1:23: mismatched input 'select'. Expecting: ')', 'BETWEEN', 'CURRENT', 'GROUPS', 'MEASURES', 'ORDER', 'PARTITION', 'RANGE', 'ROWS', 'UNBOUNDED', <expression>" ),
101
101
Arguments .of ("SELECT X() OVER (ROWS UNBOUNDED) FROM T" ,
102
- "line 1:32: mismatched input ')'. Expecting: '%', '(', '*', '+', '-', '->', '.', '/', 'AND', 'AT', 'FOLLOWING', 'OR', 'OVER', 'PRECEDING', '[', '||', <predicate>, <string>" ),
102
+ "line 1:32: mismatched input ')'. Expecting: '%', '(', '*', '+', '-', '->', '.', '/', '::', ' AND', 'AT', 'FOLLOWING', 'OR', 'OVER', 'PRECEDING', '[', '||', <predicate>, <string>" ),
103
103
Arguments .of ("SELECT a FROM x ORDER BY (SELECT b FROM t WHERE " ,
104
104
"line 1:49: mismatched input '<EOF>'. Expecting: <expression>" ),
105
105
Arguments .of ("SELECT a FROM a AS x TABLESAMPLE x " ,
@@ -134,7 +134,7 @@ private static Stream<Arguments> statements()
134
134
Arguments .of ("SELECT a FROM \" \" .s.t" ,
135
135
"line 1:15: Zero-length delimited identifier not allowed" ),
136
136
Arguments .of ("WITH t AS (SELECT 1 SELECT t.* FROM t" ,
137
- "line 1:21: mismatched input 'SELECT'. Expecting: '%', ')', '*', '+', ',', '-', '.', '/', 'AND', 'AS', 'AT', 'EXCEPT', 'FETCH', 'FROM', " +
137
+ "line 1:21: mismatched input 'SELECT'. Expecting: '%', ')', '*', '+', ',', '-', '.', '/', '::', ' AND', 'AS', 'AT', 'EXCEPT', 'FETCH', 'FROM', " +
138
138
"'GROUP', 'HAVING', 'INTERSECT', 'LIMIT', 'OFFSET', 'OR', 'ORDER', 'UNION', 'WHERE', 'WINDOW', '[', '||', " +
139
139
"<identifier>, <predicate>" ),
140
140
Arguments .of ("SHOW CATALOGS LIKE '%$_%' ESCAPE" ,
@@ -160,9 +160,9 @@ private static Stream<Arguments> statements()
160
160
Arguments .of ("SELECT * FROM t FOR VERSION AS OF TIMESTAMP WHERE" ,
161
161
"line 1:50: mismatched input '<EOF>'. Expecting: <expression>" ),
162
162
Arguments .of ("SELECT ROW(DATE '2022-10-10', DOUBLE 12.0)" ,
163
- "line 1:38: mismatched input '12.0'. Expecting: '%', '(', ')', '*', '+', ',', '-', '->', '.', '/', 'AND', 'AT', 'OR', 'ORDER', 'OVER', 'PRECISION', '[', '||', <predicate>, <string>" ),
163
+ "line 1:38: mismatched input '12.0'. Expecting: '%', '(', ')', '*', '+', ',', '-', '->', '.', '/', '::', ' AND', 'AT', 'OR', 'ORDER', 'OVER', 'PRECISION', '[', '||', <predicate>, <string>" ),
164
164
Arguments .of ("VALUES(DATE 2)" ,
165
- "line 1:13: mismatched input '2'. Expecting: '%', '(', ')', '*', '+', ',', '-', '->', '.', '/', 'AND', 'AT', 'OR', 'OVER', '[', '||', <predicate>, <string>" ),
165
+ "line 1:13: mismatched input '2'. Expecting: '%', '(', ')', '*', '+', ',', '-', '->', '.', '/', '::', ' AND', 'AT', 'OR', 'OVER', '[', '||', <predicate>, <string>" ),
166
166
Arguments .of ("SELECT count(DISTINCT *) FROM (VALUES 1)" ,
167
167
"line 1:23: mismatched input '*'. Expecting: <expression>" ));
168
168
}
@@ -182,7 +182,7 @@ public void testPossibleExponentialBacktracking()
182
182
"1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * " +
183
183
"1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * " +
184
184
"1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9" ,
185
- "line 1:375: mismatched input '<EOF>'. Expecting: '%', '*', '+', '-', '.', '/', 'AND', 'AT', 'OR', 'THEN', '[', '||', <predicate>" );
185
+ "line 1:375: mismatched input '<EOF>'. Expecting: '%', '*', '+', '-', '.', '/', '::', ' AND', 'AT', 'OR', 'THEN', '[', '||', <predicate>" );
186
186
}
187
187
188
188
@ Test
@@ -212,7 +212,7 @@ public void testPossibleExponentialBacktracking2()
212
212
"OR (f()\n " +
213
213
"OR (f()\n " +
214
214
"GROUP BY id" ,
215
- "line 24:1: mismatched input 'GROUP'. Expecting: '%', ')', '*', '+', ',', '-', '.', '/', 'AND', 'AT', 'FILTER', 'IGNORE', 'OR', 'OVER', 'RESPECT', '[', '||', <predicate>" );
215
+ "line 24:1: mismatched input 'GROUP'. Expecting: '%', ')', '*', '+', ',', '-', '.', '/', '::', ' AND', 'AT', 'FILTER', 'IGNORE', 'OR', 'OVER', 'RESPECT', '[', '||', <predicate>" );
216
216
}
217
217
218
218
@ ParameterizedTest
0 commit comments