@@ -70,6 +70,7 @@ final class Tokenizer
7070 'CONVERT ' ,
7171 'CREATE ' ,
7272 'CROSS ' ,
73+ 'CURRENT ROW ' ,
7374 'CURRENT_TIMESTAMP ' ,
7475 'DATABASE ' ,
7576 'DATABASES ' ,
@@ -108,19 +109,22 @@ final class Tokenizer
108109 'FAST ' ,
109110 'FIELDS ' ,
110111 'FILE ' ,
112+ 'FILTER ' ,
111113 'FIRST ' ,
112114 'FIXED ' ,
113115 'FLUSH ' ,
114116 'FOR ' ,
115117 'FORCE ' ,
118+ 'FOLLOWING ' ,
116119 'FOREIGN ' ,
117120 'FULL ' ,
118121 'FULLTEXT ' ,
119122 'FUNCTION ' ,
120123 'GLOBAL ' ,
121124 'GRANT ' ,
122125 'GRANTS ' ,
123- 'GROUP_CONCAT ' ,
126+ 'GROUP ' ,
127+ 'GROUPS ' ,
124128 'HEAP ' ,
125129 'HIGH_PRIORITY ' ,
126130 'HOSTS ' ,
@@ -180,6 +184,7 @@ final class Tokenizer
180184 'MYISAM ' ,
181185 'NAMES ' ,
182186 'NATURAL ' ,
187+ 'NO OTHERS ' ,
183188 'NOT ' ,
184189 'NOW() ' ,
185190 'NULL ' ,
@@ -192,12 +197,14 @@ final class Tokenizer
192197 'ON UPDATE ' ,
193198 'ON DELETE ' ,
194199 'OUTFILE ' ,
200+ 'OVER ' ,
195201 'PACK_KEYS ' ,
196202 'PAGE ' ,
197203 'PARTIAL ' ,
198204 'PARTITION ' ,
199205 'PARTITIONS ' ,
200206 'PASSWORD ' ,
207+ 'PRECEDING ' ,
201208 'PRIMARY ' ,
202209 'PRIVILEGES ' ,
203210 'PROCEDURE ' ,
@@ -213,6 +220,7 @@ final class Tokenizer
213220 'READ ' ,
214221 'READ_ONLY ' ,
215222 'READ_WRITE ' ,
223+ 'RECURSIVE ' ,
216224 'REFERENCES ' ,
217225 'REGEXP ' ,
218226 'RELOAD ' ,
@@ -277,13 +285,15 @@ final class Tokenizer
277285 'TEMPORARY ' ,
278286 'TERMINATED ' ,
279287 'THEN ' ,
288+ 'TIES ' ,
280289 'TO ' ,
281290 'TRAILING ' ,
282291 'TRANSACTIONAL ' ,
283292 'TRUE ' ,
284293 'TRUNCATE ' ,
285294 'TYPE ' ,
286295 'TYPES ' ,
296+ 'UNBOUNDED ' ,
287297 'UNCOMMITTED ' ,
288298 'UNIQUE ' ,
289299 'UNLOCK ' ,
@@ -307,6 +317,7 @@ final class Tokenizer
307317 * @var string[]
308318 */
309319 private $ reservedToplevel = [
320+ 'WITH ' ,
310321 'SELECT ' ,
311322 'FROM ' ,
312323 'WHERE ' ,
@@ -327,6 +338,11 @@ final class Tokenizer
327338 'UNION ' ,
328339 'EXCEPT ' ,
329340 'INTERSECT ' ,
341+ 'PARTITION BY ' ,
342+ 'ROWS ' ,
343+ 'RANGE ' ,
344+ 'GROUPS ' ,
345+ 'WINDOW ' ,
330346 ];
331347
332348 /** @var string[] */
@@ -341,6 +357,7 @@ final class Tokenizer
341357 'XOR ' ,
342358 'OR ' ,
343359 'AND ' ,
360+ 'EXCLUDE ' ,
344361 ];
345362
346363 /** @var string[] */
@@ -351,6 +368,7 @@ final class Tokenizer
351368 'ADDTIME ' ,
352369 'AES_DECRYPT ' ,
353370 'AES_ENCRYPT ' ,
371+ 'APPROX_COUNT_DISTINCT ' ,
354372 'AREA ' ,
355373 'ASBINARY ' ,
356374 'ASCII ' ,
@@ -380,6 +398,7 @@ final class Tokenizer
380398 'CHARACTER_LENGTH ' ,
381399 'CHARSET ' ,
382400 'CHAR_LENGTH ' ,
401+ 'CHECKSUM_AGG ' ,
383402 'COALESCE ' ,
384403 'COERCIBILITY ' ,
385404 'COLLATION ' ,
@@ -395,8 +414,10 @@ final class Tokenizer
395414 'COS ' ,
396415 'COT ' ,
397416 'COUNT ' ,
417+ 'COUNT_BIG ' ,
398418 'CRC32 ' ,
399419 'CROSSES ' ,
420+ 'CUME_DIST ' ,
400421 'CURDATE ' ,
401422 'CURRENT_DATE ' ,
402423 'CURRENT_TIME ' ,
@@ -418,6 +439,7 @@ final class Tokenizer
418439 'DECODE ' ,
419440 'DEFAULT ' ,
420441 'DEGREES ' ,
442+ 'DENSE_RANK ' ,
421443 'DES_DECRYPT ' ,
422444 'DES_ENCRYPT ' ,
423445 'DIFFERENCE ' ,
@@ -437,6 +459,7 @@ final class Tokenizer
437459 'EXTRACTVALUE ' ,
438460 'FIELD ' ,
439461 'FIND_IN_SET ' ,
462+ 'FIRST_VALUE ' ,
440463 'FLOOR ' ,
441464 'FORMAT ' ,
442465 'FOUND_ROWS ' ,
@@ -457,6 +480,8 @@ final class Tokenizer
457480 'GET_LOCK ' ,
458481 'GLENGTH ' ,
459482 'GREATEST ' ,
483+ 'GROUPING ' ,
484+ 'GROUPING_ID ' ,
460485 'GROUP_CONCAT ' ,
461486 'GROUP_UNIQUE_USERS ' ,
462487 'HEX ' ,
@@ -478,9 +503,12 @@ final class Tokenizer
478503 'ISSIMPLE ' ,
479504 'IS_FREE_LOCK ' ,
480505 'IS_USED_LOCK ' ,
506+ 'LAG ' ,
481507 'LAST_DAY ' ,
482508 'LAST_INSERT_ID ' ,
509+ 'LAST_VALUE ' ,
483510 'LCASE ' ,
511+ 'LEAD ' ,
484512 'LEAST ' ,
485513 'LEFT ' ,
486514 'LENGTH ' ,
@@ -489,6 +517,7 @@ final class Tokenizer
489517 'LINESTRING ' ,
490518 'LINESTRINGFROMTEXT ' ,
491519 'LINESTRINGFROMWKB ' ,
520+ 'LISTAGG ' ,
492521 'LN ' ,
493522 'LOAD_FILE ' ,
494523 'LOCALTIME ' ,
@@ -536,6 +565,8 @@ final class Tokenizer
536565 'MULTIPOLYGONFROMTEXT ' ,
537566 'MULTIPOLYGONFROMWKB ' ,
538567 'NAME_CONST ' ,
568+ 'NTH_VALUE ' ,
569+ 'NTILE ' ,
539570 'NULLIF ' ,
540571 'NUMGEOMETRIES ' ,
541572 'NUMINTERIORRINGS ' ,
@@ -546,6 +577,9 @@ final class Tokenizer
546577 'ORD ' ,
547578 'OVERLAPS ' ,
548579 'PASSWORD ' ,
580+ 'PERCENT_RANK ' ,
581+ 'PERCENTILE_CONT ' ,
582+ 'PERCENTILE_DISC ' ,
549583 'PERIOD_ADD ' ,
550584 'PERIOD_DIFF ' ,
551585 'PI ' ,
@@ -566,6 +600,7 @@ final class Tokenizer
566600 'QUOTE ' ,
567601 'RADIANS ' ,
568602 'RAND ' ,
603+ 'RANK ' ,
569604 'RELATED ' ,
570605 'RELEASE_LOCK ' ,
571606 'REPEAT ' ,
@@ -574,6 +609,7 @@ final class Tokenizer
574609 'RIGHT ' ,
575610 'ROUND ' ,
576611 'ROW_COUNT ' ,
612+ 'ROW_NUMBER ' ,
577613 'RPAD ' ,
578614 'RTRIM ' ,
579615 'SCHEMA ' ,
@@ -591,9 +627,12 @@ final class Tokenizer
591627 'SRID ' ,
592628 'STARTPOINT ' ,
593629 'STD ' ,
630+ 'STDEV ' ,
631+ 'STDEVP ' ,
594632 'STDDEV ' ,
595633 'STDDEV_POP ' ,
596634 'STDDEV_SAMP ' ,
635+ 'STRING_AGG ' ,
597636 'STRCMP ' ,
598637 'STR_TO_DATE ' ,
599638 'SUBDATE ' ,
@@ -630,7 +669,9 @@ final class Tokenizer
630669 'UTC_TIME ' ,
631670 'UTC_TIMESTAMP ' ,
632671 'UUID ' ,
672+ 'VAR ' ,
633673 'VARIANCE ' ,
674+ 'VARP ' ,
634675 'VAR_POP ' ,
635676 'VAR_SAMP ' ,
636677 'VERSION ' ,
0 commit comments