diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 7912d0bc..2079bcdb 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -629,6 +629,9 @@
+
+
+
@@ -659,6 +662,9 @@
+
+
+
$this->last
diff --git a/src/Contexts/ContextMariaDb110500.php b/src/Contexts/ContextMariaDb110500.php
new file mode 100644
index 00000000..26e74198
--- /dev/null
+++ b/src/Contexts/ContextMariaDb110500.php
@@ -0,0 +1,1096 @@
+
+ * @phpstan-var non-empty-array
+ */
+ public static $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,
+ '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,
+ '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 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/ContextMySql90000.php b/src/Contexts/ContextMySql90000.php
new file mode 100644
index 00000000..7b4ba972
--- /dev/null
+++ b/src/Contexts/ContextMySql90000.php
@@ -0,0 +1,1090 @@
+
+ * @phpstan-var non-empty-array
+ */
+ public static $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,
+ 'VECTOR' => 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 PARSER' => 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,
+ 'FROM_VECTOR' => 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,
+ 'STRING_TO_VECTOR' => 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,
+ 'TO_VECTOR' => 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,
+ 'VECTOR_DIM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_FUNCTION,
+ 'VECTOR_TO_STRING' => 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 ddffc281..3f9bcffb 100644
--- a/src/Tools/ContextGenerator.php
+++ b/src/Tools/ContextGenerator.php
@@ -65,6 +65,7 @@ class ContextGenerator
'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',
+ 'MySql90000' => 'https://dev.mysql.com/doc/refman/9.0/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/',
@@ -82,6 +83,7 @@ class ContextGenerator
'MariaDb110200' => 'https://mariadb.com/kb/en/reserved-words/',
'MariaDb110300' => 'https://mariadb.com/kb/en/reserved-words/',
'MariaDb110400' => 'https://mariadb.com/kb/en/reserved-words/',
+ 'MariaDb110500' => 'https://mariadb.com/kb/en/reserved-words/',
];
/**
diff --git a/tests/Lexer/ContextTest.php b/tests/Lexer/ContextTest.php
index 740949e8..fe5dbe1e 100644
--- a/tests/Lexer/ContextTest.php
+++ b/tests/Lexer/ContextTest.php
@@ -65,7 +65,7 @@ public static function contextLoadingProvider(): array
'MySql50700',
],
'MySQL fallback' => [
- 'MySql99999',
+ 'MySql9897969594',
'MySql50700',
],
'MariaDB match' => [
@@ -114,6 +114,8 @@ public static function contextNamesProvider(): array
['MySql80100'],
['MySql80200'],
['MySql80300'],
+ ['MySql80400'],
+ ['MySql90000'],
['MariaDb100000'],
['MariaDb100100'],
['MariaDb100200'],
@@ -131,6 +133,7 @@ public static function contextNamesProvider(): array
['MariaDb110200'],
['MariaDb110300'],
['MariaDb110400'],
+ ['MariaDb110500'],
];
}
@@ -161,6 +164,8 @@ public function contextClassesProvider(): array
[Contexts\ContextMySql80100::class],
[Contexts\ContextMySql80200::class],
[Contexts\ContextMySql80300::class],
+ [Contexts\ContextMySql80400::class],
+ [Contexts\ContextMySql90000::class],
[Contexts\ContextMariaDb100000::class],
[Contexts\ContextMariaDb100100::class],
[Contexts\ContextMariaDb100200::class],
@@ -178,6 +183,7 @@ public function contextClassesProvider(): array
[Contexts\ContextMariaDb110200::class],
[Contexts\ContextMariaDb110300::class],
[Contexts\ContextMariaDb110400::class],
+ [Contexts\ContextMariaDb110500::class],
];
}
diff --git a/tools/contexts/MariaDb110500.txt b/tools/contexts/MariaDb110500.txt
new file mode 100644
index 00000000..5e0346e4
--- /dev/null
+++ b/tools/contexts/MariaDb110500.txt
@@ -0,0 +1,630 @@
+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_INCREMENT
+AUTOEXTEND_SIZE
+AVG
+AVG_ROW_LENGTH
+BACKUP
+BEFORE (R)
+BEGIN
+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
+EXCEPT (R)
+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
+HANDLER
+HASH
+HAVING (R)
+HELP
+HIGH_PRIORITY (R)
+HOST
+HOSTS
+HOUR
+HOUR_MICROSECOND (R)
+HOUR_MINUTE (R)
+HOUR_SECOND (R)
+IDENTIFIED
+IDENTIFIED VIA (K)
+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)
+INTERSECT (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
+LOGFILE
+LOGS
+LONG (R)
+LONGBLOB (R)
+LONGTEXT (R)
+LOOP (R)
+LOW_PRIORITY (R)
+MASTER
+MASTER_AUTO_POSITION
+MASTER_BIND (R)
+MASTER_CONNECT_RETRY
+MASTER_DELAY
+MASTER_HEARTBEAT_PERIOD
+MASTER_HOST
+MASTER_LOG_FILE
+MASTER_LOG_POS
+MASTER_PASSWORD
+MASTER_PORT
+MASTER_RETRY_COUNT
+MASTER_SERVER_ID
+MASTER_SSL
+MASTER_SSL_CA
+MASTER_SSL_CAPATH
+MASTER_SSL_CERT
+MASTER_SSL_CIPHER
+MASTER_SSL_CRL
+MASTER_SSL_CRLPATH
+MASTER_SSL_KEY
+MASTER_SSL_VERIFY_SERVER_CERT (R)
+MASTER_USER
+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 (R)
+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)
+OWNER
+OVER (R)
+PACK_KEYS
+PAGE
+PARSE_GCOL_EXPR
+PARSER
+PARTIAL
+PARTITION (R)
+PARTITIONING
+PARTITIONS
+PASSWORD
+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)
+QUARTER
+QUERY
+QUICK
+RANGE (R)
+READ (R)
+READ_ONLY
+READ_WRITE (R)
+READS (R)
+REAL (R)
+REBUILD
+RECOVER
+RECURSIVE (R)
+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
+ROW_NUMBER (R)
+ROWS (R)
+RTREE
+SAVEPOINT
+SCHEDULE
+SCHEMA (R)
+SCHEMA_NAME
+SCHEMAS (R)
+SECOND
+SECOND_MICROSECOND (R)
+SECURITY
+SELECT (R)
+SENSITIVE (R)
+SEPARATOR (R)
+SEQUENCE
+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
+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/MySql90000.txt b/tools/contexts/MySql90000.txt
new file mode 100644
index 00000000..65ecf0fc
--- /dev/null
+++ b/tools/contexts/MySql90000.txt
@@ -0,0 +1,617 @@
+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)
+VECTOR (R)
+VIEW
+VIRTUAL (R)
+WAIT
+WARNINGS
+WEEK
+WEIGHT_STRING
+WHEN (R)
+WHERE (R)
+WHILE (R)
+WITH (R)
+WITH PARSER
+WITHOUT
+WORK
+WRAPPER
+WRITE (R)
+X509
+XA
+XID
+XML
+XOR (R)
+YEAR
+YEAR_MONTH (R)
+ZEROFILL (R)
diff --git a/tools/contexts/_functionsMariaDb110500.txt b/tools/contexts/_functionsMariaDb110500.txt
new file mode 100644
index 00000000..3987552d
--- /dev/null
+++ b/tools/contexts/_functionsMariaDb110500.txt
@@ -0,0 +1,416 @@
+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)
+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)
+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)
+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)
diff --git a/tools/contexts/_functionsMySql90000.txt b/tools/contexts/_functionsMySql90000.txt
new file mode 100644
index 00000000..cc656237
--- /dev/null
+++ b/tools/contexts/_functionsMySql90000.txt
@@ -0,0 +1,424 @@
+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)
+FROM_VECTOR (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)
+STRING_TO_VECTOR (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)
+TO_VECTOR (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)
+VECTOR_DIM (F)
+VECTOR_TO_STRING (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)