From c661e3a15c143de21bc56a1040ffc34492fcd0ad Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 11:38:01 +0200 Subject: [PATCH 01/11] Fix typos in README of ContextGenerator. --- tools/contexts/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/contexts/README.md b/tools/contexts/README.md index a065f211f..21526336b 100644 --- a/tools/contexts/README.md +++ b/tools/contexts/README.md @@ -1,6 +1,6 @@ # Context files -This files are used to generate `src/Contexts/*.php` files. +These files are used to generate `src/Contexts/*.php` files. You need to run `./tools/run_generators.sh` to generate/update them. The file `src/Tools/ContextGenerator.php` is responsible for building them. And the generated files are loaded and used by `src/Context.php`. @@ -18,7 +18,7 @@ For example: `tests/data/parser/parseSelectOverAlias_mariadb_100600.in`. ## Files structure The file `tools/contexts/_common.txt` contains all the data -that exists in all of the MariaDB and MySQL versions currently supported. +that exists in all the MariaDB and MySQL versions currently supported. Each `tools/contexts/_functions[MariaDb|MySql].txt` contains the functions supported in this version. From dc349990d949fc0b714ea7be71510cfe5c038b27 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 11:38:46 +0200 Subject: [PATCH 02/11] Generate context files with Token const instead of hard-coded numbers. --- src/Token.php | 1 + src/Tools/ContextGenerator.php | 135 ++++++++++++++------------------- 2 files changed, 60 insertions(+), 76 deletions(-) diff --git a/src/Token.php b/src/Token.php index 0e2698bb5..e4a2f45d2 100644 --- a/src/Token.php +++ b/src/Token.php @@ -129,6 +129,7 @@ class Token // Flags that describe the tokens in more detail. // All keywords must have flag 1 so `Context::isKeyword` method doesn't // require strict comparison. + public const FLAG_KEYWORD = 1; public const FLAG_KEYWORD_RESERVED = 2; public const FLAG_KEYWORD_COMPOSED = 4; public const FLAG_KEYWORD_DATA_TYPE = 8; diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 29a7e675b..1cfe01d6f 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -4,6 +4,8 @@ namespace PhpMyAdmin\SqlParser\Tools; +use PhpMyAdmin\SqlParser\Token; + use function array_map; use function array_merge; use function array_slice; @@ -15,11 +17,9 @@ use function implode; use function ksort; use function preg_match; -use function round; use function scandir; use function sort; use function sprintf; -use function str_repeat; use function str_replace; use function str_split; use function strlen; @@ -43,10 +43,10 @@ class ContextGenerator * @var array */ public static $LABELS_FLAGS = [ - '(R)' => 2, // reserved - '(D)' => 8, // data type - '(K)' => 16, // keyword - '(F)' => 32, // function name + '(R)' => Token::FLAG_KEYWORD_RESERVED, + '(D)' => Token::FLAG_KEYWORD_DATA_TYPE, + '(K)' => Token::FLAG_KEYWORD_KEY, + '(F)' => Token::FLAG_KEYWORD_FUNCTION, ]; /** @@ -83,6 +83,20 @@ class ContextGenerator 'MariaDb110400' => 'https://mariadb.com/kb/en/reserved-words/', ]; + /** + * Reversed const <=> int from {@see Token} class to write the constant name instead of its value. + * + * @var array + */ + private static $typesNumToConst = [ + 1 => 'Token::FLAG_KEYWORD', + 2 => 'Token::FLAG_KEYWORD_RESERVED', + 4 => 'Token::FLAG_KEYWORD_COMPOSED', + 8 => 'Token::FLAG_KEYWORD_DATA_TYPE', + 16 => 'Token::FLAG_KEYWORD_KEY', + 32 => 'Token::FLAG_KEYWORD_FUNCTION', + ]; + /** * The template of a context. * @@ -117,9 +131,7 @@ class %2$s extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array @@ -140,12 +152,9 @@ class %2$s extends Context public static function sortWords(array &$arr) { ksort($arr); - foreach ($arr as &$wordsByLen) { - ksort($wordsByLen); - foreach ($wordsByLen as &$words) { - sort($words, SORT_STRING); - } - } + foreach ($arr as &$words) { + sort($words, SORT_STRING); + } unset($words); return $arr; } @@ -159,17 +168,23 @@ public static function sortWords(array &$arr) */ public static function readWords(array $files) { - $words = []; - foreach ($files as $file) { - $words = array_merge($words, file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)); - } + $wordsByFile = array_map( + static function (string $file): array { + return file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + }, + $files + ); + $words = array_merge(...$wordsByFile); /** @var array $types */ $types = []; for ($i = 0, $count = count($words); $i !== $count; ++$i) { - $type = 1; $value = trim($words[$i]); + if ($value === '') { + continue; + } + $type = Token::FLAG_KEYWORD; // Reserved, data types, keys, functions, etc. keywords. foreach (static::$LABELS_FLAGS as $label => $flags) { @@ -183,13 +198,8 @@ public static function readWords(array $files) // Composed keyword. if (strstr($value, ' ') !== false) { - $type |= 2; // Reserved keyword. - $type |= 4; // Composed keyword. - } - - $len = strlen($words[$i]); - if ($len === 0) { - continue; + $type |= Token::FLAG_KEYWORD_RESERVED; + $type |= Token::FLAG_KEYWORD_COMPOSED; } $value = strtoupper($value); @@ -200,18 +210,10 @@ public static function readWords(array $files) } } + // Prepare an array in a way to sort by type, then by word. $ret = []; foreach ($types as $word => $type) { - $len = strlen($word); - if (! isset($ret[$type])) { - $ret[$type] = []; - } - - if (! isset($ret[$type][$len])) { - $ret[$type][$len] = []; - } - - $ret[$type][$len][] = $word; + $ret[$type][] = $word; } return static::sortWords($ret); @@ -220,53 +222,34 @@ public static function readWords(array $files) /** * Prints an array of a words in PHP format. * - * @param array>> $words the list of words to be formatted - * @param int $spaces the number of spaces that starts every line - * @param int $line the length of a line - * - * @return string + * @param array> $words the list of words to be formatted */ - public static function printWords($words, $spaces = 8, $line = 140) + public static function printWords(array $words): string { - $typesCount = count($words); $ret = ''; - $j = 0; - foreach ($words as $type => $wordsByType) { - foreach ($wordsByType as $len => $wordsByLen) { - $count = round(($line - $spaces) / ($len + 9)); // strlen("'' => 1, ") = 9 - $i = 0; - - foreach ($wordsByLen as $word) { - if ($i === 0) { - $ret .= str_repeat(' ', $spaces); - } - - $ret .= sprintf('\'%s\' => %s, ', $word, $type); - if (++$i !== $count && ++$i <= $count) { - continue; - } - - $ret .= "\n"; - $i = 0; - } - - if ($i === 0) { - continue; - } - - $ret .= "\n"; + foreach ($wordsByType as $word) { + $ret .= sprintf(" '%s' => %s,\n", $word, self::numTypeToConst($type)); } + } + return $ret; + } - if (++$j >= $typesCount) { - continue; + /** + * Convert a numeric value representing a set of const to a textual const value. + * + * @param int $type The numeric value. + * @return string The text to write considering the given numeric value. + */ + private static function numTypeToConst(int $type): string + { + $matchingFlags = []; + foreach (self::$typesNumToConst as $num => $value) { + if ($type & $num) { + $matchingFlags[] = $value; } - - $ret .= "\n"; } - - // Trim trailing spaces and return. - return str_replace(" \n", "\n", $ret); + return implode(' | ', $matchingFlags); } /** From a18dea1d077fd9fbed1e678914a804a3f80f8e9b Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 11:43:21 +0200 Subject: [PATCH 03/11] Fix OFFSET reserved keyword from MariaDB 10.3 and add new missing reserved keywords from MariaDB 10.6. --- tools/contexts/MariaDb100600.txt | 2 +- tools/contexts/MariaDb100700.txt | 3 ++- tools/contexts/MariaDb100800.txt | 3 ++- tools/contexts/MariaDb100900.txt | 3 ++- tools/contexts/MariaDb101000.txt | 3 ++- tools/contexts/MariaDb101100.txt | 3 ++- tools/contexts/MariaDb110000.txt | 3 ++- tools/contexts/MariaDb110100.txt | 3 ++- tools/contexts/MariaDb110200.txt | 3 ++- tools/contexts/MariaDb110300.txt | 3 ++- tools/contexts/MariaDb110400.txt | 3 ++- 11 files changed, 21 insertions(+), 11 deletions(-) diff --git a/tools/contexts/MariaDb100600.txt b/tools/contexts/MariaDb100600.txt index 02e421548..b72b0a0c8 100644 --- a/tools/contexts/MariaDb100600.txt +++ b/tools/contexts/MariaDb100600.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE diff --git a/tools/contexts/MariaDb100700.txt b/tools/contexts/MariaDb100700.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb100700.txt +++ b/tools/contexts/MariaDb100700.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb100800.txt b/tools/contexts/MariaDb100800.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb100800.txt +++ b/tools/contexts/MariaDb100800.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb100900.txt b/tools/contexts/MariaDb100900.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb100900.txt +++ b/tools/contexts/MariaDb100900.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb101000.txt b/tools/contexts/MariaDb101000.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb101000.txt +++ b/tools/contexts/MariaDb101000.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb101100.txt b/tools/contexts/MariaDb101100.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb101100.txt +++ b/tools/contexts/MariaDb101100.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb110000.txt b/tools/contexts/MariaDb110000.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb110000.txt +++ b/tools/contexts/MariaDb110000.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb110100.txt b/tools/contexts/MariaDb110100.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb110100.txt +++ b/tools/contexts/MariaDb110100.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb110200.txt b/tools/contexts/MariaDb110200.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb110200.txt +++ b/tools/contexts/MariaDb110200.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb110300.txt b/tools/contexts/MariaDb110300.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb110300.txt +++ b/tools/contexts/MariaDb110300.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT diff --git a/tools/contexts/MariaDb110400.txt b/tools/contexts/MariaDb110400.txt index 02e421548..5e0346e4c 100644 --- a/tools/contexts/MariaDb110400.txt +++ b/tools/contexts/MariaDb110400.txt @@ -358,7 +358,7 @@ NULL (R) NUMBER NUMERIC (R) NVARCHAR -OFFSET +OFFSET (R) OLD_PASSWORD ON (R) ON COMPLETION NOT PRESERVE @@ -466,6 +466,7 @@ ROUTINE ROW ROW_COUNT ROW_FORMAT +ROW_NUMBER (R) ROWS (R) RTREE SAVEPOINT From 1d61ab0b9a3a73564124e7b5867ed0454c020be4 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 11:54:27 +0200 Subject: [PATCH 04/11] Add MySQL 8.4 context. --- psalm-baseline.xml | 3 + src/Contexts/ContextMySql80400.php | 1084 +++++++++++++++++++++++ src/Tools/ContextGenerator.php | 1 + tools/contexts/MySql80400.txt | 615 +++++++++++++ tools/contexts/_functionsMySql80400.txt | 419 +++++++++ 5 files changed, 2122 insertions(+) create mode 100644 src/Contexts/ContextMySql80400.php create mode 100644 tools/contexts/MySql80400.txt create mode 100644 tools/contexts/_functionsMySql80400.txt diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 80d5bdb4a..11ac550b1 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -656,6 +656,9 @@ + + + $this->last diff --git a/src/Contexts/ContextMySql80400.php b/src/Contexts/ContextMySql80400.php new file mode 100644 index 000000000..d70cf5e4e --- /dev/null +++ b/src/Contexts/ContextMySql80400.php @@ -0,0 +1,1084 @@ + + * @psalm-var non-empty-array + * @phpstan-var non-empty-array + */ + public static array $keywords = [ + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTO' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BERNOULLI' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'GTIDS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARSE_TREE' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSIST' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PERSIST_ONLY' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'S3' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MANUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARALLEL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'QUALIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLESAMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LANGUAGE SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN_TO_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_TO_BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + ]; +} diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 1cfe01d6f..48e4659a2 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -64,6 +64,7 @@ class ContextGenerator 'MySql80100' => 'https://dev.mysql.com/doc/refman/8.1/en/keywords.html', 'MySql80200' => 'https://dev.mysql.com/doc/refman/8.2/en/keywords.html', 'MySql80300' => 'https://dev.mysql.com/doc/refman/8.3/en/keywords.html', + 'MySql80400' => 'https://dev.mysql.com/doc/refman/8.4/en/keywords.html', 'MariaDb100000' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb100100' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb100200' => 'https://mariadb.com/kb/en/reserved-words/', diff --git a/tools/contexts/MySql80400.txt b/tools/contexts/MySql80400.txt new file mode 100644 index 000000000..f670a7781 --- /dev/null +++ b/tools/contexts/MySql80400.txt @@ -0,0 +1,615 @@ +ACCESSIBLE (R) +ACCOUNT +ACTION +ADD (R) +AFTER +AGAINST +AGGREGATE +ALGORITHM +ALL (R) +ALTER (R) +ALWAYS +ANALYSE +ANALYZE (R) +AND (R) +ANY +AS (R) +ASC (R) +ASCII +ASENSITIVE (R) +AT +AUTO +AUTO_INCREMENT +AUTOEXTEND_SIZE +AVG +AVG_ROW_LENGTH +BACKUP +BEFORE (R) +BEGIN +BERNOULLI +BETWEEN (R) +BIGINT (R) +BINARY (R) +BINLOG +BIT +BLOB (R) +BLOCK +BOOL +BOOLEAN +BOTH (R) +BTREE +BY (R) +BYTE +CACHE +CALL (R) +CASCADE (R) +CASCADED +CASE (R) +CATALOG_NAME +CHAIN +CHANGE (R) +CHANGED +CHANNEL +CHAR (R) +CHARACTER (R) +CHARSET +CHECK (R) +CHECKSUM +CIPHER +CLASS_ORIGIN +CLIENT +CLOSE +COALESCE +CODE +COLLATE (R) +COLLATION +COLUMN (R) +COLUMN_FORMAT +COLUMN_NAME +COLUMNS +COMMENT +COMMIT +COMMITTED +COMPACT +COMPLETION +COMPRESSED +COMPRESSION +CONCURRENT +CONDITION (R) +CONNECTION +CONSISTENT +CONSTRAINT (R) +CONSTRAINT_CATALOG +CONSTRAINT_NAME +CONSTRAINT_SCHEMA +CONTAINS +CONTEXT +CONTINUE (R) +CONVERT (R) +CPU +CREATE (R) +CROSS (R) +CUBE +CURRENT +CURRENT_DATE (R) +CURRENT_TIME (R) +CURRENT_TIMESTAMP (R) +CURRENT_USER (R) +CURSOR (R) +CURSOR_NAME +DATA +DATABASE (R) +DATABASES (R) +DATAFILE +DATE +DATETIME +DAY +DAY_HOUR (R) +DAY_MICROSECOND (R) +DAY_MINUTE (R) +DAY_SECOND (R) +DEALLOCATE +DEC (R) +DECIMAL (R) +DECLARE (R) +DEFAULT (R) +DEFAULT_AUTH +DEFINER +DELAY_KEY_WRITE +DELAYED (R) +DELETE (R) +DES_KEY_FILE +DESC (R) +DESCRIBE (R) +DETERMINISTIC (R) +DIAGNOSTICS +DIRECTORY +DISABLE +DISABLE ON SLAVE +DISCARD +DISK +DISTINCT (R) +DISTINCTROW (R) +DIV (R) +DO +DOUBLE (R) +DROP (R) +DUAL (R) +DUMPFILE +DUPLICATE +DYNAMIC +EACH (R) +ELSE (R) +ELSEIF (R) +ENABLE +ENCLOSED (R) +END +ENDS +ENGINE +ENGINES +ENUM +ERROR +ERRORS +ESCAPE +ESCAPED (R) +EVENT +EVENTS +EVERY +EXCHANGE +EXECUTE +EXISTS (R) +EXIT (R) +EXPANSION +EXPIRE +EXPLAIN (R) +EXPORT +EXTENDED +EXTENT_SIZE +FALSE (R) +FAST +FAULTS +FETCH (R) +FIELDS +FILE +FILE_BLOCK_SIZE +FILTER +FIRST +FIXED +FLOAT (R) +FLOAT4 (R) +FLOAT8 (R) +FLUSH +FOLLOWS +FOR (R) +FORCE (R) +FOREIGN (R) +FORMAT +FOUND +FROM (R) +FULL +FULLTEXT (R) +FUNCTION +GENERAL +GENERATED (R) +GEOMETRY +GEOMETRYCOLLECTION +GET (R) +GET_FORMAT +GLOBAL +GRANT (R) +GRANTS +GROUP (R) +GROUP_REPLICATION +GTIDS +HANDLER +HASH +HAVING (R) +HELP +HIGH_PRIORITY (R) +HOST +HOSTS +HOUR +HOUR_MICROSECOND (R) +HOUR_MINUTE (R) +HOUR_SECOND (R) +IDENTIFIED +IDENTIFIED WITH (K) +IF (R) +IGNORE (R) +IGNORE_SERVER_IDS +IMPORT +IN (R) +INDEX (R) +INDEXES +INFILE (R) +INITIAL_SIZE +INNER (R) +INOUT (R) +INSENSITIVE (R) +INSERT (R) +INSERT_METHOD +INSTALL +INT (R) +INT1 (R) +INT2 (R) +INT3 (R) +INT4 (R) +INT8 (R) +INTEGER (R) +INTERVAL (R) +INTO (R) +INVOKER +INVISIBLE +IO +IO_AFTER_GTIDS (R) +IO_BEFORE_GTIDS (R) +IO_THREAD +IPC +IS (R) +ISOLATION +ISSUER +ITERATE (R) +JOIN (R) +KEY (R) +KEY_BLOCK_SIZE +KEYS (R) +KILL (R) +LANGUAGE +LAST +LEADING (R) +LEAVE (R) +LEAVES +LEFT (R) +LESS +LEVEL +LIKE (R) +LIMIT (R) +LINEAR (R) +LINES (R) +LINESTRING +LIST +LOAD (R) +LOCAL +LOCALTIME (R) +LOCALTIMESTAMP (R) +LOCK (R) +LOCKS +LOG +LOGFILE +LOGS +LONG (R) +LONGBLOB (R) +LONGTEXT (R) +LOOP (R) +LOW_PRIORITY (R) +MANUAL (R) +MASTER +MASTER_SERVER_ID +MATCH (R) +MAX_CONNECTIONS_PER_HOUR +MAX_QUERIES_PER_HOUR +MAX_ROWS +MAX_SIZE +MAX_STATEMENT_TIME +MAX_UPDATES_PER_HOUR +MAX_USER_CONNECTIONS +MAXVALUE (R) +MEDIUM +MEDIUMBLOB (R) +MEDIUMINT (R) +MEDIUMTEXT (R) +MEMORY +MERGE +MESSAGE_TEXT +MICROSECOND +MIDDLEINT (R) +MIGRATE +MIN_ROWS +MINUTE +MINUTE_MICROSECOND (R) +MINUTE_SECOND (R) +MOD (R) +MODE +MODIFIES (R) +MODIFY +MONTH +MULTILINESTRING +MULTIPOINT +MULTIPOLYGON +MUTEX +MYSQL_ERRNO +NAME +NAMES +NATIONAL +NATURAL (R) +NCHAR +NDB +NDBCLUSTER +NEVER +NEW +NEXT +NO +NO_WAIT +NO_WRITE_TO_BINLOG (R) +NODEGROUP +NONBLOCKING +NONE +NOT (R) +NULL (R) +NUMBER +NUMERIC (R) +NVARCHAR +OFFSET +OLD_PASSWORD +ON (R) +ON COMPLETION NOT PRESERVE +ON COMPLETION PRESERVE +ON SCHEDULE +ONE +ONLY +OPEN +OPTIMIZE (R) +OPTIMIZER_COSTS (R) +OPTION (R) +OPTIONALLY (R) +OPTIONS +OR (R) +ORDER (R) +OUT (R) +OUTER (R) +OUTFILE (R) +OVER (R) +OWNER +PACK_KEYS +PAGE +PARALLEL (R) +PARSE_GCOL_EXPR +PARSE_TREE +PARSER +PARTIAL +PARTITION (R) +PARTITIONING +PARTITIONS +PASSWORD +PERSIST +PERSIST_ONLY +PHASE +PLUGIN +PLUGIN_DIR +PLUGINS +POINT +POLYGON +PORT +PRECEDES +PRECISION (R) +PREPARE +PRESERVE +PREV +PRIMARY (R) +PRIVILEGES +PROCEDURE (R) +PROCESSLIST +PROFILE +PROFILES +PROXY +PURGE (R) +QUALIFY (R) +QUARTER +QUERY +QUICK +RANGE (R) +READ (R) +READ_ONLY +READ_WRITE (R) +READS (R) +REAL (R) +REBUILD +RECOVER +REDO_BUFFER_SIZE +REDOFILE +REDUNDANT +REFERENCES (R) +REGEXP (R) +RELAY +RELAY_LOG_FILE +RELAY_LOG_POS +RELAY_THREAD +RELAYLOG +RELEASE (R) +RELOAD +REMOVE +RENAME (R) +REORGANIZE +REPAIR +REPEAT (R) +REPEATABLE +REPLACE (R) +REPLICATE_DO_DB +REPLICATE_DO_TABLE +REPLICATE_IGNORE_DB +REPLICATE_IGNORE_TABLE +REPLICATE_REWRITE_DB +REPLICATE_WILD_DO_TABLE +REPLICATE_WILD_IGNORE_TABLE +REPLICATION +REQUIRE (R) +RESET +RESIGNAL (R) +RESTORE +RESTRICT (R) +RESUME +RETURN (R) +RETURNED_SQLSTATE +RETURNS +REVERSE +REVOKE (R) +RIGHT (R) +RLIKE (R) +ROLLBACK +ROLLUP +ROUTINE +ROW +ROW_COUNT +ROW_FORMAT +ROWS +RTREE +S3 +SAVEPOINT +SCHEDULE +SCHEMA (R) +SCHEMA_NAME +SCHEMAS (R) +SECOND +SECOND_MICROSECOND (R) +SECURITY +SELECT (R) +SENSITIVE (R) +SEPARATOR (R) +SERIAL +SERIALIZABLE +SERVER +SESSION +SET (R) +SHARE +SHOW (R) +SHUTDOWN +SIGNAL (R) +SIGNED +SIMPLE +SLAVE +SLOW +SMALLINT (R) +SNAPSHOT +SOCKET +SOME +SONAME +SOUNDS +SOURCE +SPATIAL (R) +SPECIFIC (R) +SQL (R) +SQL_AFTER_GTIDS +SQL_AFTER_MTS_GAPS +SQL_BEFORE_GTIDS +SQL_BIG_RESULT (R) +SQL_BUFFER_RESULT +SQL_CACHE +SQL_CALC_FOUND_ROWS (R) +SQL_NO_CACHE +SQL_SMALL_RESULT (R) +SQL_THREAD +SQL_TSI_DAY +SQL_TSI_HOUR +SQL_TSI_MINUTE +SQL_TSI_MONTH +SQL_TSI_QUARTER +SQL_TSI_SECOND +SQL_TSI_WEEK +SQL_TSI_YEAR +SQLEXCEPTION (R) +SQLSTATE (R) +SQLWARNING (R) +SSL (R) +STACKED +START +STARTING (R) +STARTS +STATS_AUTO_RECALC +STATS_PERSISTENT +STATS_SAMPLE_PAGES +STATUS +STOP +STORAGE +STORED (R) +STRAIGHT_JOIN (R) +STRING +SUBCLASS_ORIGIN +SUBJECT +SUBPARTITION +SUBPARTITIONS +SUPER +SUSPEND +SWAPS +SWITCHES +TABLE (R) +TABLE_CHECKSUM +TABLE_NAME +TABLES +TABLESAMPLE (R) +TABLESPACE +TEMPORARY +TEMPTABLE +TERMINATED (R) +TEXT +THAN +THEN (R) +TIME +TIMESTAMP +TIMESTAMPADD +TIMESTAMPDIFF +TINYBLOB (R) +TINYINT (R) +TINYTEXT (R) +TO (R) +TRAILING (R) +TRANSACTION +TRIGGER (R) +TRIGGERS +TRUE (R) +TRUNCATE +TYPE +TYPES +UNCOMMITTED +UNDEFINED +UNDO (R) +UNDO_BUFFER_SIZE +UNDOFILE +UNICODE +UNINSTALL +UNION (R) +UNIQUE (R) +UNKNOWN +UNLOCK (R) +UNSIGNED (R) +UNTIL +UPDATE (R) +UPGRADE +USAGE (R) +USE (R) +USE_FRM +USER +USER_RESOURCES +USING (R) +UTC_DATE (R) +UTC_TIME (R) +UTC_TIMESTAMP (R) +VALIDATION +VALUE +VALUES (R) +VARBINARY (R) +VARCHAR (R) +VARCHARACTER (R) +VARIABLES +VARYING (R) +VIEW +VIRTUAL (R) +WAIT +WARNINGS +WEEK +WEIGHT_STRING +WHEN (R) +WHERE (R) +WHILE (R) +WITH (R) +WITHOUT +WORK +WRAPPER +WRITE (R) +X509 +XA +XID +XML +XOR (R) +YEAR +YEAR_MONTH (R) +ZEROFILL (R) diff --git a/tools/contexts/_functionsMySql80400.txt b/tools/contexts/_functionsMySql80400.txt new file mode 100644 index 000000000..cf12b5958 --- /dev/null +++ b/tools/contexts/_functionsMySql80400.txt @@ -0,0 +1,419 @@ +ABS (F) +ACOS (F) +ADDDATE (F) +ADDTIME (F) +AES_DECRYPT (F) +AES_ENCRYPT (F) +ANY_VALUE (F) +Area (F) +AsBinary (F) +ASCII (F) +ASIN (F) +AsText (F) +AsWKB (F) +AsWKT (F) +ATAN (F) +ATAN2 (F) +AVG (F) +BENCHMARK (F) +BIN (F) +BINARY (F) +BIN_TO_UUID (F) +BIT_AND (F) +BIT_COUNT (F) +BIT_LENGTH (F) +BIT_OR (F) +BIT_XOR (F) +Buffer (F) +CAST (F) +CEIL (F) +CEILING (F) +Centroid (F) +CHAR (F) +CHAR_LENGTH (F) +CHARACTER_LENGTH (F) +CHARSET (F) +COALESCE (F) +COERCIBILITY (F) +COLLATION (F) +COMPRESS (F) +CONCAT (F) +CONCAT_WS (F) +CONNECTION_ID (F) +Contains (F) +CONV (F) +CONVERT (F) +CONVERT_TZ (F) +ConvexHull (F) +COS (F) +COT (F) +COUNT (F) +CRC32 (F) +Crosses (F) +CURDATE (F) +CURRENT_DATE (F) +CURRENT_TIME (F) +CURRENT_TIMESTAMP (F) +CURRENT_USER (F) +CURTIME (F) +DATABASE (F) +DATE (F) +DATE_ADD (F) +DATE_FORMAT (F) +DATE_SUB (F) +DATEDIFF (F) +DAY (F) +DAYNAME (F) +DAYOFMONTH (F) +DAYOFWEEK (F) +DAYOFYEAR (F) +DECODE (F) +DEFAULT (F) +DEGREES (F) +DES_DECRYPT (F) +DES_ENCRYPT (F) +Dimension (F) +Disjoint (F) +Distance (F) +ELT (F) +ENCODE (F) +ENCRYPT (F) +EndPoint (F) +Envelope (F) +Equals (F) +EXP (F) +EXPORT_SET (F) +ExteriorRing (F) +EXTRACT (F) +ExtractValue (F) +FIELD (F) +FIND_IN_SET (F) +FLOOR (F) +FORMAT (F) +FOUND_ROWS (F) +FROM_BASE64 (F) +FROM_DAYS (F) +FROM_UNIXTIME (F) +GeomCollFromText (F) +GeomCollFromWKB (F) +GeometryCollection (F) +GeometryCollectionFromText (F) +GeometryCollectionFromWKB (F) +GeometryFromText (F) +GeometryN (F) +GeometryType (F) +GeomFromText (F) +GeomFromWKB (F) +GET_FORMAT (F) +GET_LOCK (F) +GLength (F) +GREATEST (F) +GROUP_CONCAT (F) +GTID_SUBSET (F) +GTID_SUBTRACT (F) +HEX (F) +HOUR (F) +IF (F) +IFNULL (F) +IN (F) +INET6_ATON (F) +INET6_NTOA (F) +INET_ATON (F) +INET_NTOA (F) +INSERT (F) +INSTR (F) +InteriorRingN (F) +Intersects (F) +INTERVAL (F) +IS_FREE_LOCK (F) +IS_IPV4 (F) +IS_IPV4_COMPAT (F) +IS_IPV4_MAPPED (F) +IS_IPV6 (F) +IS_USED_LOCK (F) +IS_UUID (F) +IsClosed (F) +IsEmpty (F) +ISNULL (F) +IsSimple (F) +JSON_ARRAY (F) +JSON_ARRAY_APPEND (F) +JSON_ARRAY_INSERT (F) +JSON_CONTAINS (F) +JSON_CONTAINS_PATH (F) +JSON_DEPTH (F) +JSON_EXTRACT (F) +JSON_INSERT (F) +JSON_KEYS (F) +JSON_LENGTH (F) +JSON_MERGE (F) +JSON_MERGE_PATCH (F) +JSON_MERGE_PRESERVE (F) +JSON_OBJECT (F) +JSON_PRETTY (F) +JSON_QUOTE (F) +JSON_REMOVE (F) +JSON_REPLACE (F) +JSON_SEARCH (F) +JSON_SET (F) +JSON_STORAGE_FREE (F) +JSON_STORAGE_SIZE (F) +JSON_TYPE (F) +JSON_UNQUOTE (F) +JSON_VALID (F) +LAST_INSERT_ID (F) +LCASE (F) +LEAST (F) +LEFT (F) +LENGTH (F) +LineFromText (F) +LineFromWKB (F) +LineString (F) +LineStringFromWKB (F) +LN (F) +LOAD_FILE (F) +LOCALTIME (F) +LOCALTIMESTAMP (F) +LOCATE (F) +LOG (F) +LOG10 (F) +LOG2 (F) +LOWER (F) +LPAD (F) +LTRIM (F) +MAKE_SET (F) +MAKEDATE (F) +MAKETIME (F) +MASTER_POS_WAIT (F) +MAX (F) +MBRContains (F) +MBRCoveredBy (F) +MBRCovers (F) +MBRDisjoint (F) +MBREqual (F) +MBREquals (F) +MBRIntersects (F) +MBROverlaps (F) +MBRTouches (F) +MBRWithin (F) +MD5 (F) +MICROSECOND (F) +MID (F) +MIN (F) +MINUTE (F) +MLineFromText (F) +MLineFromWKB (F) +MOD (F) +MONTH (F) +MONTHNAME (F) +MPointFromText (F) +MPointFromWKB (F) +MPolyFromText (F) +MPolyFromWKB (F) +MultiLineString (F) +MultiLineStringFromText (F) +MultiLineStringFromWKB (F) +MultiPoint (F) +MultiPointFromText (F) +MultiPointFromWKB (F) +MultiPolygon (F) +MultiPolygonFromText (F) +MultiPolygonFromWKB (F) +NAME_CONST (F) +NOT IN (F) +NOW (F) +NULLIF (F) +NumGeometries (F) +NumInteriorRings (F) +NumPoints (F) +OCT (F) +OCTET_LENGTH (F) +OLD_PASSWORD (F) +ORD (F) +Overlaps (F) +PASSWORD (F) +PERIOD_ADD (F) +PERIOD_DIFF (F) +PI (F) +Point (F) +PointFromText (F) +PointFromWKB (F) +PointN (F) +PolyFromText (F) +PolyFromWKB (F) +Polygon (F) +PolygonFromText (F) +PolygonFromWKB (F) +POSITION (F) +POW (F) +POWER (F) +QUARTER (F) +QUOTE (F) +RADIANS (F) +RAND (F) +RANDOM_BYTES (F) +RELEASE_ALL_LOCKS (F) +RELEASE_LOCK (F) +REPEAT (F) +REPLACE (F) +REVERSE (F) +RIGHT (F) +ROUND (F) +ROW_COUNT (F) +RPAD (F) +RTRIM (F) +SCHEMA (F) +SEC_TO_TIME (F) +SECOND (F) +SESSION_USER (F) +SHA (F) +SHA1 (F) +SHA2 (F) +SIGN (F) +SIN (F) +SLEEP (F) +SOUNDEX (F) +SPACE (F) +SQRT (F) +SRID (F) +ST_Area (F) +ST_AsBinary (F) +ST_AsGeoJSON (F) +ST_AsText (F) +ST_AsWKB (F) +ST_AsWKT (F) +ST_Buffer (F) +ST_Buffer_Strategy (F) +ST_Centroid (F) +ST_Contains (F) +ST_ConvexHull (F) +ST_Crosses (F) +ST_Difference (F) +ST_Dimension (F) +ST_Disjoint (F) +ST_Distance (F) +ST_Distance_Sphere (F) +ST_EndPoint (F) +ST_Envelope (F) +ST_Equals (F) +ST_ExteriorRing (F) +ST_GeoHash (F) +ST_GeomCollFromText (F) +ST_GeomCollFromTxt (F) +ST_GeomCollFromWKB (F) +ST_GeometryCollectionFromText (F) +ST_GeometryCollectionFromWKB (F) +ST_GeometryFromText (F) +ST_GeometryN (F) +ST_GeometryType (F) +ST_GeomFromGeoJSON (F) +ST_GeomFromText (F) +ST_GeomFromWKB (F) +ST_InteriorRingN (F) +ST_Intersection (F) +ST_Intersects (F) +ST_IsClosed (F) +ST_IsEmpty (F) +ST_IsSimple (F) +ST_IsValid (F) +ST_LatFromGeoHash (F) +ST_Length (F) +ST_LineFromText (F) +ST_LineFromWKB (F) +ST_LineStringFromWKB (F) +ST_LongFromGeoHash (F) +ST_MakeEnvelope (F) +ST_MLineFromText (F) +ST_MLineFromWKB (F) +ST_MPointFromText (F) +ST_MPointFromWKB (F) +ST_MPolyFromText (F) +ST_MPolyFromWKB (F) +ST_MultiLineStringFromText (F) +ST_MultiLineStringFromWKB (F) +ST_MultiPointFromText (F) +ST_MultiPointFromWKB (F) +ST_MultiPolygonFromText (F) +ST_MultiPolygonFromWKB (F) +ST_NumGeometries (F) +ST_NumInteriorRings (F) +ST_NumPoints (F) +ST_Overlaps (F) +ST_PointFromGeoHash (F) +ST_PointFromText (F) +ST_PointFromWKB (F) +ST_PointN (F) +ST_PolyFromText (F) +ST_PolyFromWKB (F) +ST_PolygonFromText (F) +ST_PolygonFromWKB (F) +ST_Simplify (F) +ST_SRID (F) +ST_StartPoint (F) +ST_SymDifference (F) +ST_Touches (F) +ST_Union (F) +ST_Validate (F) +ST_Within (F) +ST_X (F) +ST_Y (F) +StartPoint (F) +STD (F) +STDDEV (F) +STDDEV_POP (F) +STDDEV_SAMP (F) +STR_TO_DATE (F) +STRCMP (F) +SUBDATE (F) +SUBSTR (F) +SUBSTRING (F) +SUBSTRING_INDEX (F) +SUBTIME (F) +SUM (F) +SYSDATE (F) +SYSTEM_USER (F) +TAN (F) +TIME (F) +TIME_FORMAT (F) +TIME_TO_SEC (F) +TIMEDIFF (F) +TIMESTAMP (F) +TIMESTAMPADD (F) +TIMESTAMPDIFF (F) +TO_BASE64 (F) +TO_DAYS (F) +TO_SECONDS (F) +Touches (F) +TRIM (F) +TRUNCATE (F) +UCASE (F) +UNCOMPRESS (F) +UNCOMPRESSED_LENGTH (F) +UNHEX (F) +UNIX_TIMESTAMP (F) +UpdateXML (F) +UPPER (F) +USER (F) +UTC_DATE (F) +UTC_TIME (F) +UTC_TIMESTAMP (F) +UUID (F) +UUID_SHORT (F) +UUID_TO_BIN (F) +VALIDATE_PASSWORD_STRENGTH (F) +VALUES (F) +VAR_POP (F) +VAR_SAMP (F) +VARIANCE (F) +VERSION (F) +WAIT_FOR_EXECUTED_GTID_SET (F) +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS (F) +WEEK (F) +WEEKDAY (F) +WEEKOFYEAR (F) +WEIGHT_STRING (F) +Within (F) +X (F) +Y (F) +YEAR (F) +YEARWEEK (F) From 03f0f815e11dfbc2559b5203844e89129e27448b Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 12:38:44 +0200 Subject: [PATCH 05/11] Fix linting, phpstan and psalm issues. --- phpcs.xml.dist | 4 +++ src/Tools/ContextGenerator.php | 44 +++++++++++++++------------ tests/Tools/ContextGeneratorTest.php | 23 ++++++++------ tests/Tools/templates/TestContext.php | 26 +++++++--------- 4 files changed, 52 insertions(+), 45 deletions(-) diff --git a/phpcs.xml.dist b/phpcs.xml.dist index d7ae18e54..97751b995 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -19,6 +19,10 @@ + + src/Contexts/* + + diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 48e4659a2..d2318aaf6 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -6,6 +6,7 @@ use PhpMyAdmin\SqlParser\Token; +use function array_filter; use function array_map; use function array_merge; use function array_slice; @@ -28,8 +29,7 @@ use function substr; use function trim; -use const FILE_IGNORE_NEW_LINES; -use const FILE_SKIP_EMPTY_LINES; +use const ARRAY_FILTER_USE_KEY; use const SORT_STRING; /** @@ -146,16 +146,16 @@ class %2$s extends Context /** * Sorts an array of words. * - * @param array>> $arr + * @param array> $arr * - * @return array>> + * @return array> */ public static function sortWords(array &$arr) { ksort($arr); foreach ($arr as &$words) { sort($words, SORT_STRING); - } unset($words); + } return $arr; } @@ -163,18 +163,19 @@ public static function sortWords(array &$arr) /** * Reads a list of words and sorts it by type, length and keyword. * - * @param string[] $files + * @param list $files * - * @return array>> + * @return array> */ public static function readWords(array $files) { $wordsByFile = array_map( static function (string $file): array { - return file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + return file($file); }, $files ); + /** @psalm-var list $words */ $words = array_merge(...$wordsByFile); /** @var array $types */ @@ -185,6 +186,7 @@ static function (string $file): array { if ($value === '') { continue; } + $type = Token::FLAG_KEYWORD; // Reserved, data types, keys, functions, etc. keywords. @@ -223,7 +225,7 @@ static function (string $file): array { /** * Prints an array of a words in PHP format. * - * @param array> $words the list of words to be formatted + * @param array> $words the list of words to be formatted */ public static function printWords(array $words): string { @@ -233,6 +235,7 @@ public static function printWords(array $words): string $ret .= sprintf(" '%s' => %s,\n", $word, self::numTypeToConst($type)); } } + return $ret; } @@ -240,37 +243,38 @@ public static function printWords(array $words): string * Convert a numeric value representing a set of const to a textual const value. * * @param int $type The numeric value. + * * @return string The text to write considering the given numeric value. */ private static function numTypeToConst(int $type): string { - $matchingFlags = []; - foreach (self::$typesNumToConst as $num => $value) { - if ($type & $num) { - $matchingFlags[] = $value; - } - } + $matchingFlags = array_filter( + self::$typesNumToConst, + static function (int $num) use ($type): bool { + return ($type & $num) !== 1; + }, + ARRAY_FILTER_USE_KEY + ); + return implode(' | ', $matchingFlags); } /** * Generates a context's class. * - * @param array>>> $options the options for this context + * @param array>> $options the options for this context * @psalm-param array{ * name: string, * class: string, * link: string, - * keywords: array>> + * keywords: array> * } $options * * @return string */ public static function generate($options) { - if (isset($options['keywords'])) { - $options['keywords'] = static::printWords($options['keywords']); - } + $options['keywords'] = static::printWords($options['keywords']); return sprintf(self::TEMPLATE, $options['name'], $options['class'], $options['link'], $options['keywords']); } diff --git a/tests/Tools/ContextGeneratorTest.php b/tests/Tools/ContextGeneratorTest.php index a37e64292..d8e12fc5e 100644 --- a/tests/Tools/ContextGeneratorTest.php +++ b/tests/Tools/ContextGeneratorTest.php @@ -27,11 +27,11 @@ public function testFormatName(): void public function testSortWords(): void { - $wordsArray = ['41' => [['GEOMETRYCOLLECTION', 'DATE']], '35' => [['SCHEMA', 'REPEAT', 'VALUES']]]; + $wordsArray = ['41' => ['GEOMETRYCOLLECTION', 'DATE'], '35' => ['SCHEMA', 'REPEAT', 'VALUES']]; ContextGenerator::sortWords($wordsArray); $this->assertEquals([ - '41' => ['0' => ['DATE', 'GEOMETRYCOLLECTION']], - '35' => ['0' => ['REPEAT', 'SCHEMA', 'VALUES']], + '41' => ['DATE', 'GEOMETRYCOLLECTION'], + '35' => ['REPEAT', 'SCHEMA', 'VALUES'], ], $wordsArray); } @@ -41,14 +41,17 @@ public function testReadWords(): void $readWords = ContextGenerator::readWords($testFiles); $this->assertEquals([ Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED => [ - 8 => ['RESERVED'], - 9 => ['RESERVED2','RESERVED3','RESERVED4','RESERVED5'], + 'RESERVED', + 'RESERVED2', + 'RESERVED3', + 'RESERVED4', + 'RESERVED5', ], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_FUNCTION => [8 => ['FUNCTION']], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE => [8 => ['DATATYPE']], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_KEY => [7 => ['KEYWORD']], - Token::TYPE_KEYWORD => [7 => ['NO_FLAG']], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED | 4 => [16 => ['COMPOSED KEYWORD']], + Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_FUNCTION => ['FUNCTION'], + Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE => ['DATATYPE'], + Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_KEY => ['KEYWORD'], + Token::TYPE_KEYWORD => ['NO_FLAG'], + Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED => ['COMPOSED KEYWORD'], ], $readWords); } diff --git a/tests/Tools/templates/TestContext.php b/tests/Tools/templates/TestContext.php index da9c8fd1c..e357cfe1f 100644 --- a/tests/Tools/templates/TestContext.php +++ b/tests/Tools/templates/TestContext.php @@ -22,25 +22,21 @@ class TestContext extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'NO_FLAG' => 1, - - 'RESERVED' => 3, - 'RESERVED2' => 3, 'RESERVED3' => 3, 'RESERVED4' => 3, 'RESERVED5' => 3, - - 'COMPOSED KEYWORD' => 7, - - 'DATATYPE' => 9, - - 'KEYWORD' => 17, - - 'FUNCTION' => 33, + 'NO_FLAG' => Token::FLAG_KEYWORD, + 'RESERVED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESERVED2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESERVED3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESERVED4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESERVED5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COMPOSED KEYWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATATYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'KEYWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_KEY, + 'FUNCTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, ]; } From e491551a2911f7b1d7936b2a9a44020e33cc6ce9 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 12:56:54 +0200 Subject: [PATCH 06/11] Fix unit test and fix psalm + phpstan baselines. --- src/Tools/ContextGenerator.php | 2 +- tests/Tools/ContextGeneratorTest.php | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index d2318aaf6..b349b1e30 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -251,7 +251,7 @@ private static function numTypeToConst(int $type): string $matchingFlags = array_filter( self::$typesNumToConst, static function (int $num) use ($type): bool { - return ($type & $num) !== 1; + return ($type & $num) !== 0; }, ARRAY_FILTER_USE_KEY ); diff --git a/tests/Tools/ContextGeneratorTest.php b/tests/Tools/ContextGeneratorTest.php index d8e12fc5e..df2f3d98c 100644 --- a/tests/Tools/ContextGeneratorTest.php +++ b/tests/Tools/ContextGeneratorTest.php @@ -40,18 +40,18 @@ public function testReadWords(): void $testFiles = [getcwd() . '/tests/Tools/contexts/testContext.txt']; $readWords = ContextGenerator::readWords($testFiles); $this->assertEquals([ - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED => [ + Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED => [ 'RESERVED', 'RESERVED2', 'RESERVED3', 'RESERVED4', 'RESERVED5', ], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_FUNCTION => ['FUNCTION'], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE => ['DATATYPE'], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_KEY => ['KEYWORD'], - Token::TYPE_KEYWORD => ['NO_FLAG'], - Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED => ['COMPOSED KEYWORD'], + Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION => ['FUNCTION'], + Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE => ['DATATYPE'], + Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_KEY => ['KEYWORD'], + Token::FLAG_KEYWORD => ['NO_FLAG'], + Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED => ['COMPOSED KEYWORD'], ], $readWords); } From 69f1804b765c556ee03e43921e5c9ef2e715e50a Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 14:30:45 +0200 Subject: [PATCH 07/11] Fix Psalm, Phpstan and unit tests. --- src/Tools/ContextGenerator.php | 18 ++++++------------ tests/Tools/ContextGeneratorTest.php | 6 ++++++ tests/Tools/contexts/testContext.txt | 12 +++++++----- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index b349b1e30..9c9f27742 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -13,7 +13,7 @@ use function basename; use function count; use function dirname; -use function file; +use function end; use function file_put_contents; use function implode; use function ksort; @@ -169,14 +169,8 @@ public static function sortWords(array &$arr) */ public static function readWords(array $files) { - $wordsByFile = array_map( - static function (string $file): array { - return file($file); - }, - $files - ); /** @psalm-var list $words */ - $words = array_merge(...$wordsByFile); + $words = array_merge(...array_map('\\file', $files)); /** @var array $types */ $types = []; @@ -290,7 +284,7 @@ public static function formatName($name) { /* Split name and version */ $parts = []; - if (preg_match('/([^[0-9]*)([0-9]*)/', $name, $parts) === false) { + if (preg_match('/^(\D+)(\d+)$/', $name, $parts) === 0) { return $name; } @@ -311,10 +305,10 @@ public static function formatName($name) $versionString = '0' . $versionString; } - $version = array_map('intval', str_split($versionString, 2)); + $version = array_map('\\intval', str_split($versionString, 2)); /* Remove trailing zero */ - if ($version[count($version) - 1] === 0) { - $version = array_slice($version, 0, count($version) - 1); + if (end($version) === 0) { + $version = array_slice($version, 0, -1); } /* Create name */ diff --git a/tests/Tools/ContextGeneratorTest.php b/tests/Tools/ContextGeneratorTest.php index df2f3d98c..92f08a7a7 100644 --- a/tests/Tools/ContextGeneratorTest.php +++ b/tests/Tools/ContextGeneratorTest.php @@ -15,6 +15,9 @@ class ContextGeneratorTest extends TestCase { public function testFormatName(): void { + $name = ContextGenerator::formatName('00InvalidFormat00'); + $this->assertEquals('00InvalidFormat00', $name); + $name = ContextGenerator::formatName('MySql80000'); $this->assertEquals('MySQL 8.0', $name); @@ -23,6 +26,9 @@ public function testFormatName(): void $name = ContextGenerator::formatName('MariaDb100000'); $this->assertEquals('MariaDB 10.0', $name); + + $name = ContextGenerator::formatName('FutureDBMS45784012500'); + $this->assertEquals('FutureDBMS 4.57.84.1.25', $name); } public function testSortWords(): void diff --git a/tests/Tools/contexts/testContext.txt b/tests/Tools/contexts/testContext.txt index 9707168c2..e7b107b80 100644 --- a/tests/Tools/contexts/testContext.txt +++ b/tests/Tools/contexts/testContext.txt @@ -1,14 +1,16 @@ RESERVED (R) -RESERVED2 (R) -RESERVED3 (R) -RESERVED4 (R) -RESERVED5 (R) + RESERVED2 (R) + RESERVED3 (R) + RESERVED4 (R) +reserved5 (R) FUNCTION (F) DATATYPE (D) KEYWORD (K) + + NO_FLAG COMPOSED KEYWORD -FUNCTION \ No newline at end of file +FUNCTION From ce3a175f47b9f7aa4a6f28becbc32d109c397aa4 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 14:39:28 +0200 Subject: [PATCH 08/11] Enhance unit test to kill mutant. --- tests/Tools/ContextGeneratorTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Tools/ContextGeneratorTest.php b/tests/Tools/ContextGeneratorTest.php index 92f08a7a7..d6d4df266 100644 --- a/tests/Tools/ContextGeneratorTest.php +++ b/tests/Tools/ContextGeneratorTest.php @@ -15,8 +15,8 @@ class ContextGeneratorTest extends TestCase { public function testFormatName(): void { - $name = ContextGenerator::formatName('00InvalidFormat00'); - $this->assertEquals('00InvalidFormat00', $name); + $name = ContextGenerator::formatName('Invalid00Format00'); + $this->assertEquals('Invalid00Format00', $name); $name = ContextGenerator::formatName('MySql80000'); $this->assertEquals('MySQL 8.0', $name); From 2386830c900dac3a08d502f775726545014f3b52 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 15:54:34 +0200 Subject: [PATCH 09/11] Fix PHP 7.2 code and psalm/phpstan baselines. --- phpstan-baseline.neon | 33 +++++++++------------------------ psalm-baseline.xml | 12 ------------ src/Tools/ContextGenerator.php | 7 +++++-- 3 files changed, 14 insertions(+), 38 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 878a51123..f5d9d9791 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -126,7 +126,7 @@ parameters: path: src/Components/Expression.php - - message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|string given\\.$#" + message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\\\|string given\\.$#" count: 1 path: src/Components/Expression.php @@ -316,7 +316,7 @@ parameters: path: src/Components/OptionsArray.php - - message: "#^Parameter \\#2 \\$str2 of function strcasecmp expects string, mixed given\\.$#" + message: "#^Parameter \\#2 \\$string2 of function strcasecmp expects string, mixed given\\.$#" count: 2 path: src/Components/OptionsArray.php @@ -411,7 +411,7 @@ parameters: path: src/Components/Reference.php - - message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|string given\\.$#" + message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\\\|string given\\.$#" count: 1 path: src/Components/Reference.php @@ -801,12 +801,7 @@ parameters: path: src/Tools/ContextGenerator.php - - message: "#^Offset 'keywords' on array\\{name\\: string, class\\: string, link\\: string, keywords\\: array\\\\>\\>\\} in isset\\(\\) always exists and is not nullable\\.$#" - count: 1 - path: src/Tools/ContextGenerator.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, array\\\\|false given\\.$#" + message: "#^Parameter \\#2 \\.\\.\\.\\$arrays of function array_merge expects array, array\\\\|false given\\.$#" count: 1 path: src/Tools/ContextGenerator.php @@ -821,12 +816,12 @@ parameters: path: src/Tools/TestGenerator.php - - message: "#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#" + message: "#^Parameter \\#1 \\$directory of function mkdir expects string, string\\|null given\\.$#" count: 1 path: src/Tools/TestGenerator.php - - message: "#^Parameter \\#1 \\$pathname of function mkdir expects string, string\\|null given\\.$#" + message: "#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#" count: 1 path: src/Tools/TestGenerator.php @@ -911,7 +906,7 @@ parameters: path: src/Utils/Formatter.php - - message: "#^Parameter \\#1 \\$input of function str_repeat expects string, array\\\\>\\|bool\\|string given\\.$#" + message: "#^Parameter \\#1 \\$string of function str_repeat expects string, array\\\\>\\|bool\\|string given\\.$#" count: 1 path: src/Utils/Formatter.php @@ -966,7 +961,7 @@ parameters: path: src/Utils/Routine.php - - message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\, mixed\\>\\|string given\\.$#" + message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\, mixed\\>\\|string given\\.$#" count: 1 path: src/Utils/Routine.php @@ -996,7 +991,7 @@ parameters: path: src/Utils/Tokens.php - - message: "#^Parameter \\#1 \\$str1 of function strcasecmp expects string, int\\|string given\\.$#" + message: "#^Parameter \\#1 \\$string1 of function strcasecmp expects string, int\\|string given\\.$#" count: 1 path: src/Utils/Tokens.php @@ -1130,16 +1125,6 @@ parameters: count: 1 path: tests/Parser/WithStatementTest.php - - - message: "#^Cannot access offset int\\<0, max\\> on non\\-empty\\-array\\\\|false\\.$#" - count: 1 - path: tests/Utils/BufferedQueryTest.php - - - - message: "#^Parameter \\#1 \\$var of function count expects array\\|Countable, array\\\\|false given\\.$#" - count: 1 - path: tests/Utils/BufferedQueryTest.php - - message: "#^Parameter \\#1 \\$statement of static method PhpMyAdmin\\\\SqlParser\\\\Utils\\\\Misc\\:\\:getAliases\\(\\) expects PhpMyAdmin\\\\SqlParser\\\\Statements\\\\SelectStatement, PhpMyAdmin\\\\SqlParser\\\\Statement\\|null given\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 11ac550b1..f47436137 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -656,9 +656,6 @@ - - - $this->last @@ -1163,15 +1160,6 @@ is_array($list) - - - $options['keywords'] - - - ++$i !== $count - ++$i !== $count - - $data[$property] diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 9c9f27742..2bfc0d81f 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -170,7 +170,10 @@ public static function sortWords(array &$arr) public static function readWords(array $files) { /** @psalm-var list $words */ - $words = array_merge(...array_map('\\file', $files)); + $words = []; + foreach (array_map('file', $files) as $wordsByFile) { + $words = array_merge($words, $wordsByFile); + } /** @var array $types */ $types = []; @@ -305,7 +308,7 @@ public static function formatName($name) $versionString = '0' . $versionString; } - $version = array_map('\\intval', str_split($versionString, 2)); + $version = array_map('intval', str_split($versionString, 2)); /* Remove trailing zero */ if (end($version) === 0) { $version = array_slice($version, 0, -1); From 86223e76cc0b4765936f895b64daa1d0d5b7fc54 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 16:17:21 +0200 Subject: [PATCH 10/11] Regenerate contexts with new format. --- src/Contexts/ContextMariaDb100000.php | 1156 +++++++++++++++----- src/Contexts/ContextMariaDb100100.php | 1380 ++++++++++++++++++------ src/Contexts/ContextMariaDb100200.php | 1383 ++++++++++++++++++------ src/Contexts/ContextMariaDb100300.php | 1387 ++++++++++++++++++------ src/Contexts/ContextMariaDb100400.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMariaDb100500.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMariaDb100600.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMariaDb100700.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb100800.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb100900.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb101000.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb101100.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb110000.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb110100.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb110200.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb110300.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMariaDb110400.php | 1389 +++++++++++++++++++------ src/Contexts/ContextMySql50000.php | 1033 +++++++++++++----- src/Contexts/ContextMySql50100.php | 1138 +++++++++++++++----- src/Contexts/ContextMySql50500.php | 1154 +++++++++++++++----- src/Contexts/ContextMySql50600.php | 1283 +++++++++++++++++------ src/Contexts/ContextMySql50700.php | 1380 ++++++++++++++++++------ src/Contexts/ContextMySql80000.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMySql80100.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMySql80200.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMySql80300.php | 1388 ++++++++++++++++++------ src/Contexts/ContextMySql80400.php | 4 +- 27 files changed, 26709 insertions(+), 8195 deletions(-) diff --git a/src/Contexts/ContextMariaDb100000.php b/src/Contexts/ContextMariaDb100000.php index 0eb57f8a1..790598a6a 100644 --- a/src/Contexts/ContextMariaDb100000.php +++ b/src/Contexts/ContextMariaDb100000.php @@ -22,286 +22,890 @@ class ContextMariaDb100000 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, - 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, - 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, - 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, - 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, - 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, - 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, - 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, - 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, - 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, - 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, - 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, - 'STRING' => 1, 'TABLES' => 1, - 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, - 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, - 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, - 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, - 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, - 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, - 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, - 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, - 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, - 'TABLESPACE' => 1, 'TABLE_NAME' => 1, - 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, - 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, - 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, - 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, - 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, - 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, - 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, - 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, - 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, - 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, - 'CONSTRAINT_CATALOG' => 1, - 'SQL_TSI_FRAC_SECOND' => 1, - 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, - 'MAX_USER_CONNECTIONS' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, - 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'PARTITION' => 3, 'PRECISION' => 3, - 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, - 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, - 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, - 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, - 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, - 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, - 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, - 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, - 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, - 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, - 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, - 'SUBSTRING' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, - 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, - 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, - 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, - 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, - 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'NUMINTERIORRINGS' => 33, - 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'MULTIPOINTFROMTEXT' => 33, - 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTHORS' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CONTRIBUTORS' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FRAC_SECOND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INNOBASE' => Token::FLAG_KEYWORD, + 'INNODB' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONE_SHOT' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_FRAC_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'VIRTUAL' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100100.php b/src/Contexts/ContextMariaDb100100.php index e31d9cf43..863562568 100644 --- a/src/Contexts/ContextMariaDb100100.php +++ b/src/Contexts/ContextMariaDb100100.php @@ -22,334 +22,1066 @@ class ContextMariaDb100100 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, - 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, - 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100200.php b/src/Contexts/ContextMariaDb100200.php index c1886bece..aaf7f8e6a 100644 --- a/src/Contexts/ContextMariaDb100200.php +++ b/src/Contexts/ContextMariaDb100200.php @@ -22,335 +22,1068 @@ class ContextMariaDb100200 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, - 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, - 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, 'SENSITIVE' => 3, - 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100300.php b/src/Contexts/ContextMariaDb100300.php index f6b7b2d99..8a0c1c3e6 100644 --- a/src/Contexts/ContextMariaDb100300.php +++ b/src/Contexts/ContextMariaDb100300.php @@ -22,335 +22,1072 @@ class ContextMariaDb100300 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100400.php b/src/Contexts/ContextMariaDb100400.php index 4dcbd8e2e..a162d70de 100644 --- a/src/Contexts/ContextMariaDb100400.php +++ b/src/Contexts/ContextMariaDb100400.php @@ -22,335 +22,1073 @@ class ContextMariaDb100400 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100500.php b/src/Contexts/ContextMariaDb100500.php index 8ff52f1ab..997a574cf 100644 --- a/src/Contexts/ContextMariaDb100500.php +++ b/src/Contexts/ContextMariaDb100500.php @@ -22,335 +22,1073 @@ class ContextMariaDb100500 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100600.php b/src/Contexts/ContextMariaDb100600.php index 64cff6b0d..a39154e9e 100644 --- a/src/Contexts/ContextMariaDb100600.php +++ b/src/Contexts/ContextMariaDb100600.php @@ -22,335 +22,1073 @@ class ContextMariaDb100600 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100700.php b/src/Contexts/ContextMariaDb100700.php index ae90e4483..887c2a7dd 100644 --- a/src/Contexts/ContextMariaDb100700.php +++ b/src/Contexts/ContextMariaDb100700.php @@ -22,335 +22,1074 @@ class ContextMariaDb100700 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100800.php b/src/Contexts/ContextMariaDb100800.php index ddd875742..fb11ef2aa 100644 --- a/src/Contexts/ContextMariaDb100800.php +++ b/src/Contexts/ContextMariaDb100800.php @@ -22,335 +22,1074 @@ class ContextMariaDb100800 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb100900.php b/src/Contexts/ContextMariaDb100900.php index 02bf12f83..2fe4866a0 100644 --- a/src/Contexts/ContextMariaDb100900.php +++ b/src/Contexts/ContextMariaDb100900.php @@ -22,335 +22,1074 @@ class ContextMariaDb100900 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb101000.php b/src/Contexts/ContextMariaDb101000.php index 59d83a3e1..665d01d2e 100644 --- a/src/Contexts/ContextMariaDb101000.php +++ b/src/Contexts/ContextMariaDb101000.php @@ -22,335 +22,1074 @@ class ContextMariaDb101000 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb101100.php b/src/Contexts/ContextMariaDb101100.php index 0d363b066..1517383f9 100644 --- a/src/Contexts/ContextMariaDb101100.php +++ b/src/Contexts/ContextMariaDb101100.php @@ -22,335 +22,1074 @@ class ContextMariaDb101100 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb110000.php b/src/Contexts/ContextMariaDb110000.php index 06a33f2da..589c8e1e2 100644 --- a/src/Contexts/ContextMariaDb110000.php +++ b/src/Contexts/ContextMariaDb110000.php @@ -22,335 +22,1074 @@ class ContextMariaDb110000 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb110100.php b/src/Contexts/ContextMariaDb110100.php index c3191317d..bc40f15fb 100644 --- a/src/Contexts/ContextMariaDb110100.php +++ b/src/Contexts/ContextMariaDb110100.php @@ -22,335 +22,1074 @@ class ContextMariaDb110100 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb110200.php b/src/Contexts/ContextMariaDb110200.php index 1924621f2..e4e6e4b77 100644 --- a/src/Contexts/ContextMariaDb110200.php +++ b/src/Contexts/ContextMariaDb110200.php @@ -22,335 +22,1074 @@ class ContextMariaDb110200 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb110300.php b/src/Contexts/ContextMariaDb110300.php index 7b253b1a4..06b68ce3a 100644 --- a/src/Contexts/ContextMariaDb110300.php +++ b/src/Contexts/ContextMariaDb110300.php @@ -22,335 +22,1074 @@ class ContextMariaDb110300 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMariaDb110400.php b/src/Contexts/ContextMariaDb110400.php index 0133b537a..27e15a848 100644 --- a/src/Contexts/ContextMariaDb110400.php +++ b/src/Contexts/ContextMariaDb110400.php @@ -22,335 +22,1074 @@ class ContextMariaDb110400 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, - 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, - 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, - 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, - 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, - 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, - 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SEQUENCE' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXCEPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTERSECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OFFSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RECURSIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ROW_NUMBER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED VIA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql50000.php b/src/Contexts/ContextMySql50000.php index a45d48dbf..7f9861036 100644 --- a/src/Contexts/ContextMySql50000.php +++ b/src/Contexts/ContextMySql50000.php @@ -22,257 +22,796 @@ class ContextMySql50000 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, - 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'FAST' => 1, 'FILE' => 1, - 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'LAST' => 1, 'LOGS' => 1, 'MODE' => 1, - 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PREV' => 1, - 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WORK' => 1, - 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, - 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, - 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'PHASE' => 1, 'QUERY' => 1, - 'QUICK' => 1, 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, - 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, - 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, - 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, - 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, - 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, - 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'RELOAD' => 1, - 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, - 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, - 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, - 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INVOKER' => 1, 'MIGRATE' => 1, - 'PARTIAL' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'RECOVER' => 1, 'RESTORE' => 1, - 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'STRIPED' => 1, - 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, - 'USE_FRM' => 1, 'VIRTUAL' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, - 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, - 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PROFILES' => 1, 'ROLLBACK' => 1, 'SECURITY' => 1, - 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'PACK_KEYS' => 1, 'RAID_TYPE' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, - 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, - 'VARIABLES' => 1, - 'BERKELEYDB' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, - 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, - 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1, 'SQL_TSI_DAY' => 1, - 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'DES_KEY_FILE' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, - 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, - 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, - 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, - 'USER_RESOURCES' => 1, - 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, - 'SQL_TSI_QUARTER' => 1, - 'MASTER_SERVER_ID' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, - 'SQL_TSI_FRAC_SECOND' => 1, - 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, - 'MAX_USER_CONNECTIONS' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, - 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, - 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, - 'SELECT' => 3, 'SONAME' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, - 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, - 'OPTIONALLY' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, - 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, - 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, - 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, - 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, - 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, - 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, - 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, - 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, - 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, - 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, - 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, - 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, - 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, - 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, - 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, - 'SUBSTRING' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, - 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'UNCOMPRESS' => 33, 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, - 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, - 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, - 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, - 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, - 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, - 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, - 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BDB' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BERKELEYDB' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FRAC_SECOND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INNOBASE' => Token::FLAG_KEYWORD, + 'INNODB' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONE_SHOT' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'RAID0' => Token::FLAG_KEYWORD, + 'RAID_CHUNKS' => Token::FLAG_KEYWORD, + 'RAID_CHUNKSIZE' => Token::FLAG_KEYWORD, + 'RAID_TYPE' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_FRAC_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'STRIPED' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'VIRTUAL' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SONAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql50100.php b/src/Contexts/ContextMySql50100.php index c19c10bb6..a228ed5ab 100644 --- a/src/Contexts/ContextMySql50100.php +++ b/src/Contexts/ContextMySql50100.php @@ -22,280 +22,878 @@ class ContextMySql50100 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, - 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'GOTO' => 1, 'HASH' => 1, 'HELP' => 1, - 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, - 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, - 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LABEL' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'QUERY' => 1, 'QUICK' => 1, - 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, - 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, - 'VALUE' => 1, - 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, - 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, - 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, - 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, - 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, - 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, - 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, - 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, - 'STRING' => 1, 'TABLES' => 1, - 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, - 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, - 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STORAGE' => 1, 'STRIPED' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, - 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAXVALUE' => 1, 'MAX_ROWS' => 1, - 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, - 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'RAID_TYPE' => 1, - 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SCHEDULER' => 1, - 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, - 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'BERKELEYDB' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, - 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, - 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, - 'PRIVILEGES' => 1, 'REORGANISE' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, - 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, - 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, - 'MASTER_USER' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1, - 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'PAGE_CHECKSUM' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'TRANSACTIONAL' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, - 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, - 'SQL_TSI_FRAC_SECOND' => 1, - 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, - 'MAX_USER_CONNECTIONS' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, - 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, - 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, - 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'DECOD' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, - 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, - 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, - 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'ENCODE' => 33, 'EQUALS' => 33, - 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, - 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, - 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, - 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, - 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, - 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, - 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, - 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, - 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, - 'SUBSTRING' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, - 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, - 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, - 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, - 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, - 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'NUMINTERIORRINGS' => 33, - 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'MULTIPOINTFROMTEXT' => 33, - 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTHORS' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BDB' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BERKELEYDB' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CONTRIBUTORS' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FRAC_SECOND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GOTO' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INNOBASE' => Token::FLAG_KEYWORD, + 'INNODB' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LABEL' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAXVALUE' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONE_SHOT' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PAGE_CHECKSUM' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITION' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'RAID0' => Token::FLAG_KEYWORD, + 'RAID_CHUNKS' => Token::FLAG_KEYWORD, + 'RAID_CHUNKSIZE' => Token::FLAG_KEYWORD, + 'RAID_TYPE' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANISE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEDULER' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_FRAC_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'STRIPED' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRANSACTIONAL' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'VIRTUAL' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql50500.php b/src/Contexts/ContextMySql50500.php index 51c41fc81..5f185ae8d 100644 --- a/src/Contexts/ContextMySql50500.php +++ b/src/Contexts/ContextMySql50500.php @@ -22,285 +22,889 @@ class ContextMySql50500 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, - 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, - 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, - 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, - 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, - 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, - 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, - 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, - 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, - 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, - 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, - 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, - 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, - 'STRING' => 1, 'TABLES' => 1, - 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, - 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, - 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, - 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, - 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, - 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, - 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, - 'TABLESPACE' => 1, 'TABLE_NAME' => 1, - 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, - 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, - 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, - 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, - 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, - 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, - 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, - 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, - 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, - 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, - 'CONSTRAINT_CATALOG' => 1, - 'SQL_TSI_FRAC_SECOND' => 1, - 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, - 'MAX_USER_CONNECTIONS' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, - 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, - 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, - 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, - 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, - 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, - 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, - 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, - 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, - 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, - 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, - 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, - 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, - 'SUBSTRING' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, - 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, - 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, - 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, - 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, - 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'NUMINTERIORRINGS' => 33, - 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'MULTIPOINTFROMTEXT' => 33, - 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTHORS' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CONTRIBUTORS' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FRAC_SECOND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INNOBASE' => Token::FLAG_KEYWORD, + 'INNODB' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONE_SHOT' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITION' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_FRAC_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'VIRTUAL' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql50600.php b/src/Contexts/ContextMySql50600.php index 3ba87bb3c..2e2205d97 100644 --- a/src/Contexts/ContextMySql50600.php +++ b/src/Contexts/ContextMySql50600.php @@ -22,311 +22,992 @@ class ContextMySql50600 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, - 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, - 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, - 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, - 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, - 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, - 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, - 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, - 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, - 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, - 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, - 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, - 'ANALYSE' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, - 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, - 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, - 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, - 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, - 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, - 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, - 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, - 'VIRTUAL' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, - 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, - 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, - 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, - 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, - 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, - 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DEFAULT_AUTH' => 1, - 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, - 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, - 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, - 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, - 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, - 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'PARTITION' => 3, 'PRECISION' => 3, - 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, - 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, - 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, - 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, - 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, - 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, - 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, - 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, - 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_POINTN' => 33, - 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, - 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, - 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, - 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_ISEMPTY' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, - 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, - 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, - 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, - 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, - 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, - 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'CREATE_DIGEST' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, - 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_DIFFERENCE' => 33, - 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'ASYMMETRIC_SIGN' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, - 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, - 'ST_LINEFROMTEXT' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_NUMGEOMETRIES' => 33, - 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'ASYMMETRIC_DERIVE' => 33, 'ASYMMETRIC_VERIFY' => 33, 'LINESTRINGFROMWKB' => 33, - 'MULTIPOINTFROMWKB' => 33, 'ST_POLYGONFROMWKB' => 33, - 'ASYMMETRIC_DECRYPT' => 33, 'ASYMMETRIC_ENCRYPT' => 33, 'MULTIPOINTFROMTEXT' => 33, - 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, - 'ST_NUMINTERIORRINGS' => 33, 'UNCOMPRESSED_LENGTH' => 33, - 'CREATE_DH_PARAMETERS' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, - 'MULTILINESTRINGFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, - 'CREATE_ASYMMETRIC_PUB_KEY' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, - 'CREATE_ASYMMETRIC_PRIV_KEY' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'SQL_THREAD_WAIT_AFTER_GTIDS' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTHORS' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CONTRIBUTORS' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONE_SHOT' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'VIRTUAL' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASYMMETRIC_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASYMMETRIC_DERIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASYMMETRIC_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASYMMETRIC_SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASYMMETRIC_VERIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CREATE_ASYMMETRIC_PRIV_KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CREATE_ASYMMETRIC_PUB_KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CREATE_DH_PARAMETERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CREATE_DIGEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQL_THREAD_WAIT_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql50700.php b/src/Contexts/ContextMySql50700.php index 60076ce03..10be21b31 100644 --- a/src/Contexts/ContextMySql50700.php +++ b/src/Contexts/ContextMySql50700.php @@ -22,334 +22,1066 @@ class ContextMySql50700 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, - 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, - 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, - 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, - 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, - 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, - 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, - 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, - 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, - 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, - 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, - 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, - 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, - 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, - 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, - 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, - 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, - 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, - 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, - 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, - 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, - 'TIME_TO_SEC' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql80000.php b/src/Contexts/ContextMySql80000.php index 25bdbf3bb..5aef98baf 100644 --- a/src/Contexts/ContextMySql80000.php +++ b/src/Contexts/ContextMySql80000.php @@ -22,335 +22,1073 @@ class ContextMySql80000 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, - 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, - 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, - 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, - 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, - 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, - 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, - 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, - 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, - 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, - 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, - 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, - 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, - 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, - 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSIST' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PERSIST_ONLY' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN_TO_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_TO_BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql80100.php b/src/Contexts/ContextMySql80100.php index d2c6119d1..c9c21a758 100644 --- a/src/Contexts/ContextMySql80100.php +++ b/src/Contexts/ContextMySql80100.php @@ -22,335 +22,1073 @@ class ContextMySql80100 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, - 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, - 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, - 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, - 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, - 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, - 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, - 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, - 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, - 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, - 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, - 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, - 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, - 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, - 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSIST' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PERSIST_ONLY' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN_TO_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_TO_BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql80200.php b/src/Contexts/ContextMySql80200.php index 091086f16..c79065530 100644 --- a/src/Contexts/ContextMySql80200.php +++ b/src/Contexts/ContextMySql80200.php @@ -22,335 +22,1073 @@ class ContextMySql80200 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, - 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, - 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, - 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, - 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, - 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, - 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, - 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, - 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, - 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, - 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, - 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, - 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, - 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, - 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSIST' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PERSIST_ONLY' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN_TO_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_TO_BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql80300.php b/src/Contexts/ContextMySql80300.php index b7a2c13f6..3985b297c 100644 --- a/src/Contexts/ContextMySql80300.php +++ b/src/Contexts/ContextMySql80300.php @@ -22,335 +22,1073 @@ class ContextMySql80300 extends Context * * The value associated to each keyword represents its flags. * - * @see Token::FLAG_KEYWORD_RESERVED Token::FLAG_KEYWORD_COMPOSED - * Token::FLAG_KEYWORD_DATA_TYPE Token::FLAG_KEYWORD_KEY - * Token::FLAG_KEYWORD_FUNCTION + * @see Token * * @var array * @phpstan-var non-empty-array */ public static $KEYWORDS = [ - 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, - 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, - 'ONE' => 1, 'ROW' => 1, 'XID' => 1, - 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, - 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, - 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, - 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, - 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, - 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, - 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, - 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, - 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, - 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, - 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, - 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, - 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, - 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, - 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, - 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, - 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, - 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, - 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, - 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, - 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, - 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, - 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, - 'TABLES' => 1, - 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, - 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, - 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, - 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, - 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, - 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, - 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, - 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, - 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, - 'WRAPPER' => 1, - 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, - 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, - 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, - 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, - 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, - 'UNDOFILE' => 1, 'WARNINGS' => 1, - 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, - 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, - 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, - 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, - 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, - 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, - 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, - 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, - 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, - 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, - 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, - 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, - 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, - 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, - 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, - 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, - 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, - 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, - 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, - 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, - 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, - 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, - 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, - 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, - 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, - 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, - 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, - 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, - 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, - 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, - 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, - 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, - 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, - 'STATS_SAMPLE_PAGES' => 1, - 'REPLICATE_IGNORE_DB' => 1, - 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, - 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, - 'REPLICATE_IGNORE_TABLE' => 1, - 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, - 'MAX_CONNECTIONS_PER_HOUR' => 1, - 'REPLICATE_WILD_IGNORE_TABLE' => 1, - - 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, - 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, - 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, - 'USE' => 3, 'XOR' => 3, - 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, - 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, - 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, - 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, - 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, - 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, - 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, - 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, - 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, - 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, - 'WRITE' => 3, - 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, - 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, - 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, - 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, - 'UPDATE' => 3, - 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, - 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, - 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, - 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, - 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, - 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, - 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, - 'ZEROFILL' => 3, - 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, - 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, - 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, - 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, - 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, - 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, - 'MASTER_BIND' => 3, - 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, - 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, - 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, - 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, - 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, - 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, - 'SQL_CALC_FOUND_ROWS' => 3, - 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, - - 'NO SQL' => 7, - 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, - 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, - 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, - 'ON UPDATE' => 7, 'UNION ALL' => 7, - 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, - 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, - 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, - 'WITH ROLLUP' => 7, - 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, - 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, - 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, - 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, - 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, - 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, - 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, - 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, - 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, - 'SELECT TRANSACTION' => 7, - 'DEFAULT CHARACTER SET' => 7, - 'ON COMPLETION PRESERVE' => 7, - 'NATURAL LEFT OUTER JOIN' => 7, - 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, - 'ON COMPLETION NOT PRESERVE' => 7, - - 'BIT' => 9, 'XML' => 9, - 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, - 'ARRAY' => 9, 'FIXED' => 9, - 'SERIAL' => 9, - 'BOOLEAN' => 9, - 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, - 'MULTILINEPOINT' => 9, - 'MULTILINEPOLYGON' => 9, - - 'INT' => 11, 'SET' => 11, - 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, - 'LONG' => 11, 'REAL' => 11, - 'FLOAT' => 11, - 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, - 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, - 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, - 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, - 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, - - 'LONG VARCHAR' => 15, - 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, - 'CHARACTER VARYING' => 15, - - 'KEY' => 19, - 'INDEX' => 19, - 'UNIQUE' => 19, - 'SPATIAL' => 19, - 'FULLTEXT' => 19, - - 'INDEX KEY' => 23, - 'UNIQUE KEY' => 23, - 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, - 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, - 'SPATIAL INDEX' => 23, - 'FULLTEXT INDEX' => 23, - 'IDENTIFIED WITH' => 23, - - 'X' => 33, 'Y' => 33, - 'LN' => 33, 'PI' => 33, - 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, - 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, - 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, - 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, - 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, - 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, - 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, - 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, - 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, - 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, - 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, - 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, - 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, - 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, - 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, - 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, - 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, - 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, - 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, - 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, - 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, - 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, - 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, - 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, - 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, - 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, - 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, - 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, - 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, - 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, - 'VAR_SAMP' => 33, 'YEARWEEK' => 33, - 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, - 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, - 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, - 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, - 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, - 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, - 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, - 'TO_BASE64' => 33, 'UPDATEXML' => 33, - 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, - 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, - 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, - 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, - 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, - 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, - 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, - 'WEEKOFYEAR' => 33, - 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, - 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, - 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, - 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, - 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, - 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, - 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, - 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, - 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, - 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, - 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, - 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, - 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, - 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, - 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, - 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, - 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, - 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, - 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, - 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, - 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, - 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, - 'WEIGHT_STRING' => 33, - 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, - 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, - 'UNIX_TIMESTAMP' => 33, - 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, - 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, - 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, - 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, - 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, - 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, - 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, - 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, - 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, - 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, - 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, - 'ST_POLYGONFROMWKB' => 33, - 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, - 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, - 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, - 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, - 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, - 'UNCOMPRESSED_LENGTH' => 33, - 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, - 'ST_MULTIPOINTFROMTEXT' => 33, - 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, - 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, - 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, - 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, - 'WAIT_FOR_EXECUTED_GTID_SET' => 33, - 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, - 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, - 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, - - 'IF' => 35, 'IN' => 35, - 'MOD' => 35, - 'LEFT' => 35, - 'MATCH' => 35, 'RIGHT' => 35, - 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, - 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, - 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, - 'LOCALTIME' => 35, - 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, - 'UTC_TIMESTAMP' => 35, - 'LOCALTIMESTAMP' => 35, - 'CURRENT_TIMESTAMP' => 35, - - 'NOT IN' => 39, - - 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, - 'POINT' => 41, - 'POLYGON' => 41, - 'TIMESTAMP' => 41, - 'LINESTRING' => 41, 'MULTIPOINT' => 41, - 'MULTIPOLYGON' => 41, - 'MULTILINESTRING' => 41, - 'GEOMETRYCOLLECTION' => 41, - - 'CHAR' => 43, - 'BINARY' => 43, - 'INTERVAL' => 43, + 'ACCOUNT' => Token::FLAG_KEYWORD, + 'ACTION' => Token::FLAG_KEYWORD, + 'AFTER' => Token::FLAG_KEYWORD, + 'AGGREGATE' => Token::FLAG_KEYWORD, + 'ALGORITHM' => Token::FLAG_KEYWORD, + 'ALWAYS' => Token::FLAG_KEYWORD, + 'ANALYSE' => Token::FLAG_KEYWORD, + 'ANY' => Token::FLAG_KEYWORD, + 'AT' => Token::FLAG_KEYWORD, + 'AUTOEXTEND_SIZE' => Token::FLAG_KEYWORD, + 'AUTO_INCREMENT' => Token::FLAG_KEYWORD, + 'AVG_ROW_LENGTH' => Token::FLAG_KEYWORD, + 'BACKUP' => Token::FLAG_KEYWORD, + 'BEGIN' => Token::FLAG_KEYWORD, + 'BINLOG' => Token::FLAG_KEYWORD, + 'BLOCK' => Token::FLAG_KEYWORD, + 'BTREE' => Token::FLAG_KEYWORD, + 'BYTE' => Token::FLAG_KEYWORD, + 'CACHE' => Token::FLAG_KEYWORD, + 'CASCADED' => Token::FLAG_KEYWORD, + 'CATALOG_NAME' => Token::FLAG_KEYWORD, + 'CHAIN' => Token::FLAG_KEYWORD, + 'CHANGED' => Token::FLAG_KEYWORD, + 'CHANNEL' => Token::FLAG_KEYWORD, + 'CHECKSUM' => Token::FLAG_KEYWORD, + 'CIPHER' => Token::FLAG_KEYWORD, + 'CLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'CLIENT' => Token::FLAG_KEYWORD, + 'CLOSE' => Token::FLAG_KEYWORD, + 'CODE' => Token::FLAG_KEYWORD, + 'COLUMNS' => Token::FLAG_KEYWORD, + 'COLUMN_FORMAT' => Token::FLAG_KEYWORD, + 'COLUMN_NAME' => Token::FLAG_KEYWORD, + 'COMMENT' => Token::FLAG_KEYWORD, + 'COMMIT' => Token::FLAG_KEYWORD, + 'COMMITTED' => Token::FLAG_KEYWORD, + 'COMPACT' => Token::FLAG_KEYWORD, + 'COMPLETION' => Token::FLAG_KEYWORD, + 'COMPRESSED' => Token::FLAG_KEYWORD, + 'COMPRESSION' => Token::FLAG_KEYWORD, + 'CONCURRENT' => Token::FLAG_KEYWORD, + 'CONNECTION' => Token::FLAG_KEYWORD, + 'CONSISTENT' => Token::FLAG_KEYWORD, + 'CONSTRAINT_CATALOG' => Token::FLAG_KEYWORD, + 'CONSTRAINT_NAME' => Token::FLAG_KEYWORD, + 'CONSTRAINT_SCHEMA' => Token::FLAG_KEYWORD, + 'CONTEXT' => Token::FLAG_KEYWORD, + 'CPU' => Token::FLAG_KEYWORD, + 'CUBE' => Token::FLAG_KEYWORD, + 'CURRENT' => Token::FLAG_KEYWORD, + 'CURSOR_NAME' => Token::FLAG_KEYWORD, + 'DATA' => Token::FLAG_KEYWORD, + 'DATAFILE' => Token::FLAG_KEYWORD, + 'DEALLOCATE' => Token::FLAG_KEYWORD, + 'DEFAULT_AUTH' => Token::FLAG_KEYWORD, + 'DEFINER' => Token::FLAG_KEYWORD, + 'DELAY_KEY_WRITE' => Token::FLAG_KEYWORD, + 'DES_KEY_FILE' => Token::FLAG_KEYWORD, + 'DIAGNOSTICS' => Token::FLAG_KEYWORD, + 'DIRECTORY' => Token::FLAG_KEYWORD, + 'DISABLE' => Token::FLAG_KEYWORD, + 'DISCARD' => Token::FLAG_KEYWORD, + 'DISK' => Token::FLAG_KEYWORD, + 'DO' => Token::FLAG_KEYWORD, + 'DUMPFILE' => Token::FLAG_KEYWORD, + 'DUPLICATE' => Token::FLAG_KEYWORD, + 'DYNAMIC' => Token::FLAG_KEYWORD, + 'ENABLE' => Token::FLAG_KEYWORD, + 'END' => Token::FLAG_KEYWORD, + 'ENDS' => Token::FLAG_KEYWORD, + 'ENGINE' => Token::FLAG_KEYWORD, + 'ENGINES' => Token::FLAG_KEYWORD, + 'ERROR' => Token::FLAG_KEYWORD, + 'ERRORS' => Token::FLAG_KEYWORD, + 'ESCAPE' => Token::FLAG_KEYWORD, + 'EVENT' => Token::FLAG_KEYWORD, + 'EVENTS' => Token::FLAG_KEYWORD, + 'EVERY' => Token::FLAG_KEYWORD, + 'EXCHANGE' => Token::FLAG_KEYWORD, + 'EXECUTE' => Token::FLAG_KEYWORD, + 'EXPANSION' => Token::FLAG_KEYWORD, + 'EXPIRE' => Token::FLAG_KEYWORD, + 'EXPORT' => Token::FLAG_KEYWORD, + 'EXTENDED' => Token::FLAG_KEYWORD, + 'EXTENT_SIZE' => Token::FLAG_KEYWORD, + 'FAST' => Token::FLAG_KEYWORD, + 'FAULTS' => Token::FLAG_KEYWORD, + 'FIELDS' => Token::FLAG_KEYWORD, + 'FILE' => Token::FLAG_KEYWORD, + 'FILE_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'FILTER' => Token::FLAG_KEYWORD, + 'FIRST' => Token::FLAG_KEYWORD, + 'FLUSH' => Token::FLAG_KEYWORD, + 'FOLLOWS' => Token::FLAG_KEYWORD, + 'FOUND' => Token::FLAG_KEYWORD, + 'FULL' => Token::FLAG_KEYWORD, + 'FUNCTION' => Token::FLAG_KEYWORD, + 'GENERAL' => Token::FLAG_KEYWORD, + 'GLOBAL' => Token::FLAG_KEYWORD, + 'GRANTS' => Token::FLAG_KEYWORD, + 'GROUP_REPLICATION' => Token::FLAG_KEYWORD, + 'HANDLER' => Token::FLAG_KEYWORD, + 'HASH' => Token::FLAG_KEYWORD, + 'HELP' => Token::FLAG_KEYWORD, + 'HOST' => Token::FLAG_KEYWORD, + 'HOSTS' => Token::FLAG_KEYWORD, + 'IDENTIFIED' => Token::FLAG_KEYWORD, + 'IGNORE_SERVER_IDS' => Token::FLAG_KEYWORD, + 'IMPORT' => Token::FLAG_KEYWORD, + 'INDEXES' => Token::FLAG_KEYWORD, + 'INITIAL_SIZE' => Token::FLAG_KEYWORD, + 'INSERT_METHOD' => Token::FLAG_KEYWORD, + 'INSTALL' => Token::FLAG_KEYWORD, + 'INVISIBLE' => Token::FLAG_KEYWORD, + 'INVOKER' => Token::FLAG_KEYWORD, + 'IO' => Token::FLAG_KEYWORD, + 'IO_THREAD' => Token::FLAG_KEYWORD, + 'IPC' => Token::FLAG_KEYWORD, + 'ISOLATION' => Token::FLAG_KEYWORD, + 'ISSUER' => Token::FLAG_KEYWORD, + 'KEY_BLOCK_SIZE' => Token::FLAG_KEYWORD, + 'LANGUAGE' => Token::FLAG_KEYWORD, + 'LAST' => Token::FLAG_KEYWORD, + 'LEAVES' => Token::FLAG_KEYWORD, + 'LESS' => Token::FLAG_KEYWORD, + 'LEVEL' => Token::FLAG_KEYWORD, + 'LIST' => Token::FLAG_KEYWORD, + 'LOCAL' => Token::FLAG_KEYWORD, + 'LOCKS' => Token::FLAG_KEYWORD, + 'LOGFILE' => Token::FLAG_KEYWORD, + 'LOGS' => Token::FLAG_KEYWORD, + 'MASTER' => Token::FLAG_KEYWORD, + 'MASTER_AUTO_POSITION' => Token::FLAG_KEYWORD, + 'MASTER_CONNECT_RETRY' => Token::FLAG_KEYWORD, + 'MASTER_DELAY' => Token::FLAG_KEYWORD, + 'MASTER_HEARTBEAT_PERIOD' => Token::FLAG_KEYWORD, + 'MASTER_HOST' => Token::FLAG_KEYWORD, + 'MASTER_LOG_FILE' => Token::FLAG_KEYWORD, + 'MASTER_LOG_POS' => Token::FLAG_KEYWORD, + 'MASTER_PASSWORD' => Token::FLAG_KEYWORD, + 'MASTER_PORT' => Token::FLAG_KEYWORD, + 'MASTER_RETRY_COUNT' => Token::FLAG_KEYWORD, + 'MASTER_SERVER_ID' => Token::FLAG_KEYWORD, + 'MASTER_SSL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CA' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CAPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CERT' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CIPHER' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRL' => Token::FLAG_KEYWORD, + 'MASTER_SSL_CRLPATH' => Token::FLAG_KEYWORD, + 'MASTER_SSL_KEY' => Token::FLAG_KEYWORD, + 'MASTER_USER' => Token::FLAG_KEYWORD, + 'MAX_CONNECTIONS_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_QUERIES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_ROWS' => Token::FLAG_KEYWORD, + 'MAX_SIZE' => Token::FLAG_KEYWORD, + 'MAX_STATEMENT_TIME' => Token::FLAG_KEYWORD, + 'MAX_UPDATES_PER_HOUR' => Token::FLAG_KEYWORD, + 'MAX_USER_CONNECTIONS' => Token::FLAG_KEYWORD, + 'MEDIUM' => Token::FLAG_KEYWORD, + 'MEMORY' => Token::FLAG_KEYWORD, + 'MERGE' => Token::FLAG_KEYWORD, + 'MESSAGE_TEXT' => Token::FLAG_KEYWORD, + 'MIGRATE' => Token::FLAG_KEYWORD, + 'MIN_ROWS' => Token::FLAG_KEYWORD, + 'MODE' => Token::FLAG_KEYWORD, + 'MODIFY' => Token::FLAG_KEYWORD, + 'MUTEX' => Token::FLAG_KEYWORD, + 'MYSQL_ERRNO' => Token::FLAG_KEYWORD, + 'NAME' => Token::FLAG_KEYWORD, + 'NAMES' => Token::FLAG_KEYWORD, + 'NATIONAL' => Token::FLAG_KEYWORD, + 'NCHAR' => Token::FLAG_KEYWORD, + 'NDB' => Token::FLAG_KEYWORD, + 'NDBCLUSTER' => Token::FLAG_KEYWORD, + 'NEVER' => Token::FLAG_KEYWORD, + 'NEW' => Token::FLAG_KEYWORD, + 'NEXT' => Token::FLAG_KEYWORD, + 'NO' => Token::FLAG_KEYWORD, + 'NODEGROUP' => Token::FLAG_KEYWORD, + 'NONBLOCKING' => Token::FLAG_KEYWORD, + 'NONE' => Token::FLAG_KEYWORD, + 'NO_WAIT' => Token::FLAG_KEYWORD, + 'NUMBER' => Token::FLAG_KEYWORD, + 'NVARCHAR' => Token::FLAG_KEYWORD, + 'OFFSET' => Token::FLAG_KEYWORD, + 'ONE' => Token::FLAG_KEYWORD, + 'ONLY' => Token::FLAG_KEYWORD, + 'OPEN' => Token::FLAG_KEYWORD, + 'OPTIONS' => Token::FLAG_KEYWORD, + 'OWNER' => Token::FLAG_KEYWORD, + 'PACK_KEYS' => Token::FLAG_KEYWORD, + 'PAGE' => Token::FLAG_KEYWORD, + 'PARSER' => Token::FLAG_KEYWORD, + 'PARSE_GCOL_EXPR' => Token::FLAG_KEYWORD, + 'PARTIAL' => Token::FLAG_KEYWORD, + 'PARTITIONING' => Token::FLAG_KEYWORD, + 'PARTITIONS' => Token::FLAG_KEYWORD, + 'PERSIST' => Token::FLAG_KEYWORD, + 'PERSISTENT' => Token::FLAG_KEYWORD, + 'PERSIST_ONLY' => Token::FLAG_KEYWORD, + 'PHASE' => Token::FLAG_KEYWORD, + 'PLUGIN' => Token::FLAG_KEYWORD, + 'PLUGINS' => Token::FLAG_KEYWORD, + 'PLUGIN_DIR' => Token::FLAG_KEYWORD, + 'PORT' => Token::FLAG_KEYWORD, + 'PRECEDES' => Token::FLAG_KEYWORD, + 'PREPARE' => Token::FLAG_KEYWORD, + 'PRESERVE' => Token::FLAG_KEYWORD, + 'PREV' => Token::FLAG_KEYWORD, + 'PRIVILEGES' => Token::FLAG_KEYWORD, + 'PROCESSLIST' => Token::FLAG_KEYWORD, + 'PROFILE' => Token::FLAG_KEYWORD, + 'PROFILES' => Token::FLAG_KEYWORD, + 'PROXY' => Token::FLAG_KEYWORD, + 'QUERY' => Token::FLAG_KEYWORD, + 'QUICK' => Token::FLAG_KEYWORD, + 'READ_ONLY' => Token::FLAG_KEYWORD, + 'REBUILD' => Token::FLAG_KEYWORD, + 'RECOVER' => Token::FLAG_KEYWORD, + 'REDOFILE' => Token::FLAG_KEYWORD, + 'REDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'REDUNDANT' => Token::FLAG_KEYWORD, + 'RELAY' => Token::FLAG_KEYWORD, + 'RELAYLOG' => Token::FLAG_KEYWORD, + 'RELAY_LOG_FILE' => Token::FLAG_KEYWORD, + 'RELAY_LOG_POS' => Token::FLAG_KEYWORD, + 'RELAY_THREAD' => Token::FLAG_KEYWORD, + 'RELOAD' => Token::FLAG_KEYWORD, + 'REMOVE' => Token::FLAG_KEYWORD, + 'REORGANIZE' => Token::FLAG_KEYWORD, + 'REPAIR' => Token::FLAG_KEYWORD, + 'REPEATABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_REWRITE_DB' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_DO_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATE_WILD_IGNORE_TABLE' => Token::FLAG_KEYWORD, + 'REPLICATION' => Token::FLAG_KEYWORD, + 'RESET' => Token::FLAG_KEYWORD, + 'RESTORE' => Token::FLAG_KEYWORD, + 'RESUME' => Token::FLAG_KEYWORD, + 'RETURNED_SQLSTATE' => Token::FLAG_KEYWORD, + 'RETURNS' => Token::FLAG_KEYWORD, + 'ROLLBACK' => Token::FLAG_KEYWORD, + 'ROLLUP' => Token::FLAG_KEYWORD, + 'ROUTINE' => Token::FLAG_KEYWORD, + 'ROW' => Token::FLAG_KEYWORD, + 'ROWS' => Token::FLAG_KEYWORD, + 'ROW_FORMAT' => Token::FLAG_KEYWORD, + 'RTREE' => Token::FLAG_KEYWORD, + 'SAVEPOINT' => Token::FLAG_KEYWORD, + 'SCHEDULE' => Token::FLAG_KEYWORD, + 'SCHEMA_NAME' => Token::FLAG_KEYWORD, + 'SECURITY' => Token::FLAG_KEYWORD, + 'SERIALIZABLE' => Token::FLAG_KEYWORD, + 'SERVER' => Token::FLAG_KEYWORD, + 'SESSION' => Token::FLAG_KEYWORD, + 'SHARE' => Token::FLAG_KEYWORD, + 'SHUTDOWN' => Token::FLAG_KEYWORD, + 'SIGNED' => Token::FLAG_KEYWORD, + 'SIMPLE' => Token::FLAG_KEYWORD, + 'SLAVE' => Token::FLAG_KEYWORD, + 'SLOW' => Token::FLAG_KEYWORD, + 'SNAPSHOT' => Token::FLAG_KEYWORD, + 'SOCKET' => Token::FLAG_KEYWORD, + 'SOME' => Token::FLAG_KEYWORD, + 'SONAME' => Token::FLAG_KEYWORD, + 'SOUNDS' => Token::FLAG_KEYWORD, + 'SOURCE' => Token::FLAG_KEYWORD, + 'SQL_AFTER_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_AFTER_MTS_GAPS' => Token::FLAG_KEYWORD, + 'SQL_BEFORE_GTIDS' => Token::FLAG_KEYWORD, + 'SQL_BUFFER_RESULT' => Token::FLAG_KEYWORD, + 'SQL_CACHE' => Token::FLAG_KEYWORD, + 'SQL_NO_CACHE' => Token::FLAG_KEYWORD, + 'SQL_THREAD' => Token::FLAG_KEYWORD, + 'SQL_TSI_DAY' => Token::FLAG_KEYWORD, + 'SQL_TSI_HOUR' => Token::FLAG_KEYWORD, + 'SQL_TSI_MINUTE' => Token::FLAG_KEYWORD, + 'SQL_TSI_MONTH' => Token::FLAG_KEYWORD, + 'SQL_TSI_QUARTER' => Token::FLAG_KEYWORD, + 'SQL_TSI_SECOND' => Token::FLAG_KEYWORD, + 'SQL_TSI_WEEK' => Token::FLAG_KEYWORD, + 'SQL_TSI_YEAR' => Token::FLAG_KEYWORD, + 'STACKED' => Token::FLAG_KEYWORD, + 'START' => Token::FLAG_KEYWORD, + 'STARTS' => Token::FLAG_KEYWORD, + 'STATS_AUTO_RECALC' => Token::FLAG_KEYWORD, + 'STATS_PERSISTENT' => Token::FLAG_KEYWORD, + 'STATS_SAMPLE_PAGES' => Token::FLAG_KEYWORD, + 'STATUS' => Token::FLAG_KEYWORD, + 'STOP' => Token::FLAG_KEYWORD, + 'STORAGE' => Token::FLAG_KEYWORD, + 'STRING' => Token::FLAG_KEYWORD, + 'SUBCLASS_ORIGIN' => Token::FLAG_KEYWORD, + 'SUBJECT' => Token::FLAG_KEYWORD, + 'SUBPARTITION' => Token::FLAG_KEYWORD, + 'SUBPARTITIONS' => Token::FLAG_KEYWORD, + 'SUPER' => Token::FLAG_KEYWORD, + 'SUSPEND' => Token::FLAG_KEYWORD, + 'SWAPS' => Token::FLAG_KEYWORD, + 'SWITCHES' => Token::FLAG_KEYWORD, + 'TABLES' => Token::FLAG_KEYWORD, + 'TABLESPACE' => Token::FLAG_KEYWORD, + 'TABLE_CHECKSUM' => Token::FLAG_KEYWORD, + 'TABLE_NAME' => Token::FLAG_KEYWORD, + 'TEMPORARY' => Token::FLAG_KEYWORD, + 'TEMPTABLE' => Token::FLAG_KEYWORD, + 'THAN' => Token::FLAG_KEYWORD, + 'TRANSACTION' => Token::FLAG_KEYWORD, + 'TRIGGERS' => Token::FLAG_KEYWORD, + 'TYPE' => Token::FLAG_KEYWORD, + 'TYPES' => Token::FLAG_KEYWORD, + 'UNCOMMITTED' => Token::FLAG_KEYWORD, + 'UNDEFINED' => Token::FLAG_KEYWORD, + 'UNDOFILE' => Token::FLAG_KEYWORD, + 'UNDO_BUFFER_SIZE' => Token::FLAG_KEYWORD, + 'UNICODE' => Token::FLAG_KEYWORD, + 'UNINSTALL' => Token::FLAG_KEYWORD, + 'UNKNOWN' => Token::FLAG_KEYWORD, + 'UNTIL' => Token::FLAG_KEYWORD, + 'UPGRADE' => Token::FLAG_KEYWORD, + 'USER_RESOURCES' => Token::FLAG_KEYWORD, + 'USE_FRM' => Token::FLAG_KEYWORD, + 'VALIDATION' => Token::FLAG_KEYWORD, + 'VALUE' => Token::FLAG_KEYWORD, + 'VARIABLES' => Token::FLAG_KEYWORD, + 'VIEW' => Token::FLAG_KEYWORD, + 'WAIT' => Token::FLAG_KEYWORD, + 'WARNINGS' => Token::FLAG_KEYWORD, + 'WITHOUT' => Token::FLAG_KEYWORD, + 'WORK' => Token::FLAG_KEYWORD, + 'WRAPPER' => Token::FLAG_KEYWORD, + 'X509' => Token::FLAG_KEYWORD, + 'XA' => Token::FLAG_KEYWORD, + 'XID' => Token::FLAG_KEYWORD, + 'ACCESSIBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ALTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ANALYZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ASENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BEFORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BETWEEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BOTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASCADE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CHECK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'COLUMN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONDITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONSTRAINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CONTINUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CREATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CROSS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'CURSOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DATABASES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DAY_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DECLARE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELAYED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DESCRIBE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DETERMINISTIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DISTINCTROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DIV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DROP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'DUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EACH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ELSEIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ENCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ESCAPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'EXPLAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FALSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FETCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FORCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FOREIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'FROM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GENERATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GRANT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'GROUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HAVING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HIGH_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'HOUR_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IGNORE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INNER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INOUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INSENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'INTO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IO_BEFORE_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'IS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ITERATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'KILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEADING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LEAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LIMIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LINES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOOP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'LOW_PRIORITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_BIND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MASTER_SSL_VERIFY_SERVER_CERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MAXVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MINUTE_SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'MODIFIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NATURAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NO_WRITE_TO_BINLOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIMIZER_COSTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OPTIONALLY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ORDER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OUTFILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'OVER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRECISION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PRIMARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PROCEDURE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'PURGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RANGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'READ_WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REFERENCES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REGEXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RENAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REQUIRE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RESTRICT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RETURN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'REVOKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'RLIKE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SCHEMAS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SECOND_MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SELECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SENSITIVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SEPARATOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SHOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SIGNAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SPECIFIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLEXCEPTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLSTATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQLWARNING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_BIG_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_CALC_FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SQL_SMALL_RESULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'SSL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STARTING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STORED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'STRAIGHT_JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TABLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TERMINATED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'THEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRAILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRIGGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'TRUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNDO' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNLOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UNSIGNED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USAGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'USING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARCHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'VIRTUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHEN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WHILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'WRITE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'YEAR_MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'ZEROFILL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED, + 'AND CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'AND NO CHAIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'COALESCE PARTITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CONTAINS SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'CROSS JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DATA DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARACTER SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DEFAULT COLLATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'DISABLE ON SLAVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ENCLOSED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ESCAPED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR EACH ROW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FOR UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'FULL OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GENERATED ALWAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'GROUP BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR HASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LINEAR KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOAD DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'LOCK IN SHARE MODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'MODIFIES SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NATURAL RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO ACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO RELEASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NO SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'NOT NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION NOT PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON COMPLETION PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON DELETE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON SCHEDULE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ON UPDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'OR REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ORDER BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'PARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'READS SQL DATA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'RIGHT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SELECT TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET NULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SET PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SQL SECURITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'START TRANSACTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'STARTING BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'SUBPARTITION BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'TERMINATED BY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, + 'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BOOLEAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'DATETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'MULTISET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'SERIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'TEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'XML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'BIGINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DECIMAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'DOUBLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FLOAT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT3' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INT8' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'INTEGER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONGTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MEDIUMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'MIDDLEINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'NUMERIC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'REAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'SMALLINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYBLOB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'TINYTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE, + 'BINARY VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'CHARACTER VARYING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'LONG VARCHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_DATA_TYPE, + 'FULLTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_KEY, + 'FOREIGN KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'FULLTEXT KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'IDENTIFIED WITH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'INDEX KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'PRIMARY KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'SPATIAL KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'UNIQUE KEY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 'ABS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ACOS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ADDTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AGAINST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ANY_VALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASCII' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ATAN2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'AVG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BENCHMARK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIN_TO_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_AND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_OR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BIT_XOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEIL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CEILING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARACTER_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHARSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COALESCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COERCIBILITY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COLLATION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONCAT_WS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONNECTION_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT_TZ' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CRC32' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CURTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DATE_SUB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFMONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DAYOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DECODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DEGREES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_DECRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DES_ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ELT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCODE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENCRYPT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXPORT_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'EXTRACTVALUE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIELD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FIND_IN_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FLOOR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FOUND_ROWS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'FROM_UNIXTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GET_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GLENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GREATEST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GROUP_CONCAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBSET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'GTID_SUBTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'HOUR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IFNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET6_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_ATON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INET_NTOA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISNULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_FREE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_COMPAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV4_MAPPED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_IPV6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_USED_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'IS_UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_APPEND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_ARRAY_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_CONTAINS_PATH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_DEPTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_EXTRACT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_KEYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_MERGE_PRESERVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_OBJECT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_PRETTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REMOVE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SEARCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_FREE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_STORAGE_SIZE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_TYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_UNQUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'JSON_VALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LAST_INSERT_ID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LEAST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOAD_FILE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG10' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOG2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LOWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'LTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKEDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKETIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAKE_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MASTER_POS_WAIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MAX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVEREDBY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRCOVERS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRDISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBREQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRINTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBROVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRTOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MBRWITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MD5' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MICROSECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MINUTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MONTHNAME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NAME_CONST' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NOW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NULLIF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OCTET_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OLD_PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PASSWORD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_ADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PERIOD_DIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'PI' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POSITION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POW' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'POWER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUARTER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'QUOTE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RADIANS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RAND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RANDOM_BYTES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_ALL_LOCKS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RELEASE_LOCK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'REVERSE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROUND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ROW_COUNT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RPAD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'RTRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SECOND' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SEC_TO_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SESSION_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA1' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SHA2' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SLEEP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SOUNDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SPACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SQRT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STDDEV_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STRCMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'STR_TO_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_AREA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASBINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ASWKT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_BUFFER_STRATEGY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CENTROID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONTAINS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CONVEXHULL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_CROSSES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DIMENSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISJOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_DISTANCE_SPHERE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENDPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EQUALS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_EXTERIORRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMTXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMCOLLFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMETRYTYPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMGEOJSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_GEOMFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERIORRINGN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_INTERSECTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISCLOSED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISEMPTY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISSIMPLE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_ISVALID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LATFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_LONGFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MAKEENVELOPE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MLINEFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MPOLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTILINESTRINGFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_MULTIPOLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMGEOMETRIES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMINTERIORRINGS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_NUMPOINTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_OVERLAPS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMGEOHASH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POINTN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMTEXT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_POLYGONFROMWKB' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SIMPLIFY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SRID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_STARTPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_SYMDIFFERENCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_UNION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_VALIDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'ST_Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBSTRING_INDEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUBTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSDATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'SYSTEM_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMEDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPADD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMPDIFF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_FORMAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TIME_TO_SEC' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TOUCHES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_BASE64' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_DAYS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TO_SECONDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'TRUNCATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UCASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNCOMPRESSED_LENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNHEX' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UNIX_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPDATEXML' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UPPER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_SHORT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'UUID_TO_BIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VALIDATE_PASSWORD_STRENGTH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VARIANCE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_POP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VAR_SAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'VERSION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_FOR_EXECUTED_GTID_SET' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKDAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEEKOFYEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WEIGHT_STRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'WITHIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'X' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'Y' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'YEARWEEK' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION, + 'CONVERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'CURRENT_USER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DATABASE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'DEFAULT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IF' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'INSERT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LEFT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'LOCALTIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MATCH' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'MOD' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPEAT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'REPLACE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'RIGHT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'SCHEMA' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'UTC_TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'VALUES' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_FUNCTION, + 'NOT IN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_FUNCTION, + 'DATE' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'GEOMETRYCOLLECTION' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'LINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTILINESTRING' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'MULTIPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'POLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIME' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'TIMESTAMP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'YEAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'BINARY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'CHAR' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, + 'INTERVAL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_DATA_TYPE | Token::FLAG_KEYWORD_FUNCTION, ]; } diff --git a/src/Contexts/ContextMySql80400.php b/src/Contexts/ContextMySql80400.php index d70cf5e4e..1ccbd35c4 100644 --- a/src/Contexts/ContextMySql80400.php +++ b/src/Contexts/ContextMySql80400.php @@ -25,10 +25,9 @@ class ContextMySql80400 extends Context * @see Token * * @var array - * @psalm-var non-empty-array * @phpstan-var non-empty-array */ - public static array $keywords = [ + public static $KEYWORDS = [ 'ACCOUNT' => Token::FLAG_KEYWORD, 'ACTION' => Token::FLAG_KEYWORD, 'AFTER' => Token::FLAG_KEYWORD, @@ -552,7 +551,6 @@ class ContextMySql80400 extends Context 'IF NOT EXISTS' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, 'INDEX DIRECTORY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, 'INNER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, - 'LANGUAGE SQL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, 'LEFT JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, 'LEFT OUTER JOIN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, 'LESS THAN' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, From 7968818d9168e75d8ab98172da2169202dbf3763 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Tue, 6 Aug 2024 18:54:03 +0200 Subject: [PATCH 11/11] Fix baselines and solve some reviews. --- phpstan-baseline.neon | 28 +++++++++++++++++++--------- psalm-baseline.xml | 3 +++ src/Tools/ContextGenerator.php | 19 ++++++------------- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index f5d9d9791..9f37127cd 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -126,7 +126,7 @@ parameters: path: src/Components/Expression.php - - message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\\\|string given\\.$#" + message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|string given\\.$#" count: 1 path: src/Components/Expression.php @@ -316,7 +316,7 @@ parameters: path: src/Components/OptionsArray.php - - message: "#^Parameter \\#2 \\$string2 of function strcasecmp expects string, mixed given\\.$#" + message: "#^Parameter \\#2 \\$str2 of function strcasecmp expects string, mixed given\\.$#" count: 2 path: src/Components/OptionsArray.php @@ -411,7 +411,7 @@ parameters: path: src/Components/Reference.php - - message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\\\|string given\\.$#" + message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\\\|string given\\.$#" count: 1 path: src/Components/Reference.php @@ -801,7 +801,7 @@ parameters: path: src/Tools/ContextGenerator.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$arrays of function array_merge expects array, array\\\\|false given\\.$#" + message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, array\\\\|false given\\.$#" count: 1 path: src/Tools/ContextGenerator.php @@ -816,12 +816,12 @@ parameters: path: src/Tools/TestGenerator.php - - message: "#^Parameter \\#1 \\$directory of function mkdir expects string, string\\|null given\\.$#" + message: "#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#" count: 1 path: src/Tools/TestGenerator.php - - message: "#^Parameter \\#1 \\$filename of function is_dir expects string, string\\|null given\\.$#" + message: "#^Parameter \\#1 \\$pathname of function mkdir expects string, string\\|null given\\.$#" count: 1 path: src/Tools/TestGenerator.php @@ -906,7 +906,7 @@ parameters: path: src/Utils/Formatter.php - - message: "#^Parameter \\#1 \\$string of function str_repeat expects string, array\\\\>\\|bool\\|string given\\.$#" + message: "#^Parameter \\#1 \\$input of function str_repeat expects string, array\\\\>\\|bool\\|string given\\.$#" count: 1 path: src/Utils/Formatter.php @@ -961,7 +961,7 @@ parameters: path: src/Utils/Routine.php - - message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, array\\, mixed\\>\\|string given\\.$#" + message: "#^Parameter \\#2 \\$pieces of function implode expects array, array\\, mixed\\>\\|string given\\.$#" count: 1 path: src/Utils/Routine.php @@ -991,7 +991,7 @@ parameters: path: src/Utils/Tokens.php - - message: "#^Parameter \\#1 \\$string1 of function strcasecmp expects string, int\\|string given\\.$#" + message: "#^Parameter \\#1 \\$str1 of function strcasecmp expects string, int\\|string given\\.$#" count: 1 path: src/Utils/Tokens.php @@ -1125,6 +1125,16 @@ parameters: count: 1 path: tests/Parser/WithStatementTest.php + - + message: "#^Cannot access offset int\\<0, max\\> on non\\-empty\\-array\\\\|false\\.$#" + count: 1 + path: tests/Utils/BufferedQueryTest.php + + - + message: "#^Parameter \\#1 \\$var of function count expects array\\|Countable, array\\\\|false given\\.$#" + count: 1 + path: tests/Utils/BufferedQueryTest.php + - message: "#^Parameter \\#1 \\$statement of static method PhpMyAdmin\\\\SqlParser\\\\Utils\\\\Misc\\:\\:getAliases\\(\\) expects PhpMyAdmin\\\\SqlParser\\\\Statements\\\\SelectStatement, PhpMyAdmin\\\\SqlParser\\\\Statement\\|null given\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index f47436137..b10906d48 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -656,6 +656,9 @@ + + + $this->last diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 2bfc0d81f..ddffc281e 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -13,7 +13,7 @@ use function basename; use function count; use function dirname; -use function end; +use function file; use function file_put_contents; use function implode; use function ksort; @@ -171,8 +171,8 @@ public static function readWords(array $files) { /** @psalm-var list $words */ $words = []; - foreach (array_map('file', $files) as $wordsByFile) { - $words = array_merge($words, $wordsByFile); + foreach ($files as $file) { + $words = array_merge($words, file($file)); } /** @var array $types */ @@ -229,21 +229,14 @@ public static function printWords(array $words): string $ret = ''; foreach ($words as $type => $wordsByType) { foreach ($wordsByType as $word) { - $ret .= sprintf(" '%s' => %s,\n", $word, self::numTypeToConst($type)); + $ret .= sprintf(" '%s' => %s,\n", $word, self::translateIntTypeToTextConstant($type)); } } return $ret; } - /** - * Convert a numeric value representing a set of const to a textual const value. - * - * @param int $type The numeric value. - * - * @return string The text to write considering the given numeric value. - */ - private static function numTypeToConst(int $type): string + private static function translateIntTypeToTextConstant(int $type): string { $matchingFlags = array_filter( self::$typesNumToConst, @@ -310,7 +303,7 @@ public static function formatName($name) $version = array_map('intval', str_split($versionString, 2)); /* Remove trailing zero */ - if (end($version) === 0) { + if ($version[count($version) - 1] === 0) { $version = array_slice($version, 0, -1); }