From 132fa141d1d50410188cb84263e77114e9cfce16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Fri, 19 Jan 2024 19:21:11 -0300 Subject: [PATCH 1/4] Add new contexts for MySQL and MariaDB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New contexts for MariaDB 11.3, MariaDB 11.4, MySQL 8.2 and MySQL 8.3. Signed-off-by: Maurício Meneghini Fauth --- psalm-baseline.xml | 12 + src/Contexts/ContextMariaDb110300.php | 356 ++++++++++++ src/Contexts/ContextMariaDb110400.php | 356 ++++++++++++ src/Contexts/ContextMySql80200.php | 356 ++++++++++++ src/Contexts/ContextMySql80300.php | 356 ++++++++++++ src/Tools/ContextGenerator.php | 4 + tools/contexts/MariaDb110300.txt | 629 +++++++++++++++++++++ tools/contexts/MariaDb110400.txt | 629 +++++++++++++++++++++ tools/contexts/MySql80200.txt | 626 ++++++++++++++++++++ tools/contexts/MySql80300.txt | 626 ++++++++++++++++++++ tools/contexts/_functionsMariaDb110300.txt | 416 ++++++++++++++ tools/contexts/_functionsMariaDb110400.txt | 416 ++++++++++++++ tools/contexts/_functionsMySql80200.txt | 419 ++++++++++++++ tools/contexts/_functionsMySql80300.txt | 419 ++++++++++++++ 14 files changed, 5620 insertions(+) create mode 100644 src/Contexts/ContextMariaDb110300.php create mode 100644 src/Contexts/ContextMariaDb110400.php create mode 100644 src/Contexts/ContextMySql80200.php create mode 100644 src/Contexts/ContextMySql80300.php create mode 100644 tools/contexts/MariaDb110300.txt create mode 100644 tools/contexts/MariaDb110400.txt create mode 100644 tools/contexts/MySql80200.txt create mode 100644 tools/contexts/MySql80300.txt create mode 100644 tools/contexts/_functionsMariaDb110300.txt create mode 100644 tools/contexts/_functionsMariaDb110400.txt create mode 100644 tools/contexts/_functionsMySql80200.txt create mode 100644 tools/contexts/_functionsMySql80300.txt diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 5ed5d9a6a..ee64ca7a1 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -623,6 +623,12 @@ + + + + + + @@ -644,6 +650,12 @@ + + + + + + $token diff --git a/src/Contexts/ContextMariaDb110300.php b/src/Contexts/ContextMariaDb110300.php new file mode 100644 index 000000000..7b253b1a4 --- /dev/null +++ b/src/Contexts/ContextMariaDb110300.php @@ -0,0 +1,356 @@ + + * @phpstan-var non-empty-array + */ + public static $KEYWORDS = [ + 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, + 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, + 'ONE' => 1, 'ROW' => 1, 'XID' => 1, + 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, + 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, + 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, + 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, + 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, + 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, + 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, + 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, + 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, + 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, + 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, + 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, + 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, + 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, + 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, + 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, + 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, + 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, + 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, + 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, + 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, + 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, + 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, + 'TABLES' => 1, + 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, + 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, + 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, + 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, + 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, + 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, + 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, + 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, + 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, + 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, + 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, + 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, + 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, + 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, + 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, + 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, + 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, + 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, + 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, + 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, + 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, + 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, + 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, + 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, + 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, + 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, + 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, + 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, + 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, + 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, + 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, + 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, + 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, + 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, + 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, + 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, + 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, + 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, + 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, + 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, + 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, + 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, + 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, + 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, + 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, + 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, + 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, + 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, + 'STATS_SAMPLE_PAGES' => 1, + 'REPLICATE_IGNORE_DB' => 1, + 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, + 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, + 'REPLICATE_IGNORE_TABLE' => 1, + 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, + 'MAX_CONNECTIONS_PER_HOUR' => 1, + 'REPLICATE_WILD_IGNORE_TABLE' => 1, + + 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, + 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, + 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, + 'USE' => 3, 'XOR' => 3, + 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, + 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, + 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, + 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, + 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, + 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, + 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, + 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, + 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, + 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, + 'WRITE' => 3, + 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, + 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, + 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, + 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, + 'UNLOCK' => 3, 'UPDATE' => 3, + 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, + 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, + 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, + 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, + 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, + 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, + 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, + 'ZEROFILL' => 3, + 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, + 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, + 'SENSITIVE' => 3, 'SEPARATOR' => 3, + 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, + 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, + 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, + 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, + 'MASTER_BIND' => 3, + 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, + 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, + 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, + 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, + 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, + 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, + 'SQL_CALC_FOUND_ROWS' => 3, + 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, + + 'NO SQL' => 7, + 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, + 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, + 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, + 'ON UPDATE' => 7, 'UNION ALL' => 7, + 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, + 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, + 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, + 'WITH ROLLUP' => 7, + 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, + 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, + 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, + 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, + 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, + 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, + 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, + 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, + 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, + 'SELECT TRANSACTION' => 7, + 'DEFAULT CHARACTER SET' => 7, + 'ON COMPLETION PRESERVE' => 7, + 'NATURAL LEFT OUTER JOIN' => 7, + 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, + 'ON COMPLETION NOT PRESERVE' => 7, + + 'BIT' => 9, 'XML' => 9, + 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, + 'ARRAY' => 9, 'FIXED' => 9, + 'SERIAL' => 9, + 'BOOLEAN' => 9, + 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, + 'MULTILINEPOINT' => 9, + 'MULTILINEPOLYGON' => 9, + + 'INT' => 11, 'SET' => 11, + 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, + 'LONG' => 11, 'REAL' => 11, + 'FLOAT' => 11, + 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, + 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, + 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, + 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, + 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, + + 'LONG VARCHAR' => 15, + 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, + 'CHARACTER VARYING' => 15, + + 'KEY' => 19, + 'INDEX' => 19, + 'UNIQUE' => 19, + 'SPATIAL' => 19, + 'FULLTEXT' => 19, + + 'INDEX KEY' => 23, + 'UNIQUE KEY' => 23, + 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, + 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, + 'SPATIAL INDEX' => 23, + 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, + 'IDENTIFIED WITH' => 23, + + 'X' => 33, 'Y' => 33, + 'LN' => 33, 'PI' => 33, + 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, + 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, + 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, + 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, + 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, + 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, + 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, + 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, + 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, + 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, + 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, + 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, + 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, + 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, + 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, + 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, + 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, + 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, + 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, + 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, + 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, + 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, + 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, + 'VERSION' => 33, 'WEEKDAY' => 33, + 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, + 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, + 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, + 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, + 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, + 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, + 'VAR_SAMP' => 33, 'YEARWEEK' => 33, + 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, + 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, + 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, + 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, + 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, + 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, + 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, + 'TO_BASE64' => 33, 'UPDATEXML' => 33, + 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, + 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, + 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, + 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, + 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, + 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, + 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, + 'WEEKOFYEAR' => 33, + 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, + 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, + 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, + 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, + 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, + 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, + 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, + 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, + 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, + 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, + 'TIME_TO_SEC' => 33, + 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, + 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, + 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, + 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, + 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, + 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, + 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, + 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, + 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, + 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, + 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, + 'WEIGHT_STRING' => 33, + 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, + 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, + 'UNIX_TIMESTAMP' => 33, + 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, + 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, + 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, + 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, + 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, + 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, + 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, + 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, + 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, + 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, + 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, + 'ST_POLYGONFROMWKB' => 33, + 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, + 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, + 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, + 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, + 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, + 'UNCOMPRESSED_LENGTH' => 33, + 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, + 'ST_MULTIPOINTFROMTEXT' => 33, + 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, + 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, + 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, + 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, + 'WAIT_FOR_EXECUTED_GTID_SET' => 33, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, + + 'IF' => 35, 'IN' => 35, + 'MOD' => 35, + 'LEFT' => 35, + 'MATCH' => 35, 'RIGHT' => 35, + 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, + 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, + 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, + 'LOCALTIME' => 35, + 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, + 'UTC_TIMESTAMP' => 35, + 'LOCALTIMESTAMP' => 35, + 'CURRENT_TIMESTAMP' => 35, + + 'NOT IN' => 39, + + 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, + 'POINT' => 41, + 'POLYGON' => 41, + 'TIMESTAMP' => 41, + 'LINESTRING' => 41, 'MULTIPOINT' => 41, + 'MULTIPOLYGON' => 41, + 'MULTILINESTRING' => 41, + 'GEOMETRYCOLLECTION' => 41, + + 'CHAR' => 43, + 'BINARY' => 43, + 'INTERVAL' => 43, + ]; +} diff --git a/src/Contexts/ContextMariaDb110400.php b/src/Contexts/ContextMariaDb110400.php new file mode 100644 index 000000000..0133b537a --- /dev/null +++ b/src/Contexts/ContextMariaDb110400.php @@ -0,0 +1,356 @@ + + * @phpstan-var non-empty-array + */ + public static $KEYWORDS = [ + 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, + 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, + 'ONE' => 1, 'ROW' => 1, 'XID' => 1, + 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, + 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, + 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, + 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, + 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, + 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, + 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, + 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, + 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, + 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, + 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, + 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, + 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, + 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, + 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, + 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, + 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, + 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, + 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, + 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, + 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, + 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, + 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, + 'TABLES' => 1, + 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, + 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, + 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, + 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, + 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, + 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, + 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, + 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, + 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, + 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, + 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, + 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, + 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, + 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, + 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, + 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, + 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, + 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, + 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, + 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, + 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, + 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, + 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, + 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, + 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, + 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, + 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, + 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, + 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, + 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, + 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, + 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, + 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, + 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, + 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, + 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, + 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, + 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, + 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, + 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, + 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, + 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, + 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, + 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, + 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, + 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, + 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, + 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, + 'STATS_SAMPLE_PAGES' => 1, + 'REPLICATE_IGNORE_DB' => 1, + 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, + 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, + 'REPLICATE_IGNORE_TABLE' => 1, + 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, + 'MAX_CONNECTIONS_PER_HOUR' => 1, + 'REPLICATE_WILD_IGNORE_TABLE' => 1, + + 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, + 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, + 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, + 'USE' => 3, 'XOR' => 3, + 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, + 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, + 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, + 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, + 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, + 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, + 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, + 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, + 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, + 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, + 'WRITE' => 3, + 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, + 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'HAVING' => 3, 'IGNORE' => 3, + 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, + 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, + 'UNLOCK' => 3, 'UPDATE' => 3, + 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, + 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, + 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, + 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, + 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, + 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, + 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, + 'ZEROFILL' => 3, + 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, + 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, + 'SENSITIVE' => 3, 'SEPARATOR' => 3, + 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, + 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, + 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, + 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, + 'MASTER_BIND' => 3, + 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, + 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, + 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, + 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, + 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, + 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, + 'SQL_CALC_FOUND_ROWS' => 3, + 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, + + 'NO SQL' => 7, + 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, + 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, + 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, + 'ON UPDATE' => 7, 'UNION ALL' => 7, + 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, + 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, + 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, + 'WITH ROLLUP' => 7, + 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, + 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, + 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, + 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, + 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, + 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, + 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, + 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, + 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, + 'SELECT TRANSACTION' => 7, + 'DEFAULT CHARACTER SET' => 7, + 'ON COMPLETION PRESERVE' => 7, + 'NATURAL LEFT OUTER JOIN' => 7, + 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, + 'ON COMPLETION NOT PRESERVE' => 7, + + 'BIT' => 9, 'XML' => 9, + 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, + 'ARRAY' => 9, 'FIXED' => 9, + 'SERIAL' => 9, + 'BOOLEAN' => 9, + 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, + 'MULTILINEPOINT' => 9, + 'MULTILINEPOLYGON' => 9, + + 'INT' => 11, 'SET' => 11, + 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, + 'LONG' => 11, 'REAL' => 11, + 'FLOAT' => 11, + 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, + 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, + 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, + 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, + 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, + + 'LONG VARCHAR' => 15, + 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, + 'CHARACTER VARYING' => 15, + + 'KEY' => 19, + 'INDEX' => 19, + 'UNIQUE' => 19, + 'SPATIAL' => 19, + 'FULLTEXT' => 19, + + 'INDEX KEY' => 23, + 'UNIQUE KEY' => 23, + 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, + 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, + 'SPATIAL INDEX' => 23, + 'FULLTEXT INDEX' => 23, 'IDENTIFIED VIA' => 23, + 'IDENTIFIED WITH' => 23, + + 'X' => 33, 'Y' => 33, + 'LN' => 33, 'PI' => 33, + 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, + 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, + 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, + 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, + 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, + 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, + 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, + 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, + 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, + 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, + 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, + 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, + 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, + 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, + 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, + 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, + 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, + 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, + 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, + 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, + 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, + 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, + 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, + 'VERSION' => 33, 'WEEKDAY' => 33, + 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, + 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, + 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, + 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, + 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, + 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, + 'VAR_SAMP' => 33, 'YEARWEEK' => 33, + 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, + 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, + 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, + 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, + 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, + 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, + 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, + 'TO_BASE64' => 33, 'UPDATEXML' => 33, + 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, + 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, + 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, + 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, + 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, + 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, + 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, + 'WEEKOFYEAR' => 33, + 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, + 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, + 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, + 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, + 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, + 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, + 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, + 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, + 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, + 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, + 'TIME_TO_SEC' => 33, + 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, + 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, + 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, + 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, + 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, + 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, + 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, + 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, + 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, + 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, + 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, + 'WEIGHT_STRING' => 33, + 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, + 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, + 'UNIX_TIMESTAMP' => 33, + 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, + 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, + 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, + 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, + 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, + 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, + 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, + 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, + 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, + 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, + 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, + 'ST_POLYGONFROMWKB' => 33, + 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, + 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, + 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, + 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, + 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, + 'UNCOMPRESSED_LENGTH' => 33, + 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, + 'ST_MULTIPOINTFROMTEXT' => 33, + 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, + 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, + 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, + 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, + 'WAIT_FOR_EXECUTED_GTID_SET' => 33, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, + + 'IF' => 35, 'IN' => 35, + 'MOD' => 35, + 'LEFT' => 35, + 'MATCH' => 35, 'RIGHT' => 35, + 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, + 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, + 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, + 'LOCALTIME' => 35, + 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, + 'UTC_TIMESTAMP' => 35, + 'LOCALTIMESTAMP' => 35, + 'CURRENT_TIMESTAMP' => 35, + + 'NOT IN' => 39, + + 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, + 'POINT' => 41, + 'POLYGON' => 41, + 'TIMESTAMP' => 41, + 'LINESTRING' => 41, 'MULTIPOINT' => 41, + 'MULTIPOLYGON' => 41, + 'MULTILINESTRING' => 41, + 'GEOMETRYCOLLECTION' => 41, + + 'CHAR' => 43, + 'BINARY' => 43, + 'INTERVAL' => 43, + ]; +} diff --git a/src/Contexts/ContextMySql80200.php b/src/Contexts/ContextMySql80200.php new file mode 100644 index 000000000..091086f16 --- /dev/null +++ b/src/Contexts/ContextMySql80200.php @@ -0,0 +1,356 @@ + + * @phpstan-var non-empty-array + */ + public static $KEYWORDS = [ + 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, + 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, + 'ONE' => 1, 'ROW' => 1, 'XID' => 1, + 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, + 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, + 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, + 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, + 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, + 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, + 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, + 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, + 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, + 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, + 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, + 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, + 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, + 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, + 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, + 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, + 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, + 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, + 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, + 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, + 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, + 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, + 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, + 'TABLES' => 1, + 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, + 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, + 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, + 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, + 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, + 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, + 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, + 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, + 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, + 'WRAPPER' => 1, + 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, + 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, + 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, + 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, + 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, + 'UNDOFILE' => 1, 'WARNINGS' => 1, + 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, + 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, + 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, + 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, + 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, + 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, + 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, + 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, + 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, + 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, + 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, + 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, + 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, + 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, + 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, + 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, + 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, + 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, + 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, + 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, + 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, + 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, + 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, + 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, + 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, + 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, + 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, + 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, + 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, + 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, + 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, + 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, + 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, + 'STATS_SAMPLE_PAGES' => 1, + 'REPLICATE_IGNORE_DB' => 1, + 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, + 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, + 'REPLICATE_IGNORE_TABLE' => 1, + 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, + 'MAX_CONNECTIONS_PER_HOUR' => 1, + 'REPLICATE_WILD_IGNORE_TABLE' => 1, + + 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, + 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, + 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, + 'USE' => 3, 'XOR' => 3, + 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, + 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, + 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, + 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, + 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, + 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, + 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, + 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, + 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, + 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, + 'WRITE' => 3, + 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, + 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, + 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, + 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, + 'UPDATE' => 3, + 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, + 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, + 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, + 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, + 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, + 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, + 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, + 'ZEROFILL' => 3, + 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, + 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, + 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, + 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, + 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, + 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, + 'MASTER_BIND' => 3, + 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, + 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, + 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, + 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, + 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, + 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, + 'SQL_CALC_FOUND_ROWS' => 3, + 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, + + 'NO SQL' => 7, + 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, + 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, + 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, + 'ON UPDATE' => 7, 'UNION ALL' => 7, + 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, + 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, + 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, + 'WITH ROLLUP' => 7, + 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, + 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, + 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, + 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, + 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, + 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, + 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, + 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, + 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, + 'SELECT TRANSACTION' => 7, + 'DEFAULT CHARACTER SET' => 7, + 'ON COMPLETION PRESERVE' => 7, + 'NATURAL LEFT OUTER JOIN' => 7, + 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, + 'ON COMPLETION NOT PRESERVE' => 7, + + 'BIT' => 9, 'XML' => 9, + 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, + 'ARRAY' => 9, 'FIXED' => 9, + 'SERIAL' => 9, + 'BOOLEAN' => 9, + 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, + 'MULTILINEPOINT' => 9, + 'MULTILINEPOLYGON' => 9, + + 'INT' => 11, 'SET' => 11, + 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, + 'LONG' => 11, 'REAL' => 11, + 'FLOAT' => 11, + 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, + 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, + 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, + 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, + 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, + + 'LONG VARCHAR' => 15, + 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, + 'CHARACTER VARYING' => 15, + + 'KEY' => 19, + 'INDEX' => 19, + 'UNIQUE' => 19, + 'SPATIAL' => 19, + 'FULLTEXT' => 19, + + 'INDEX KEY' => 23, + 'UNIQUE KEY' => 23, + 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, + 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, + 'SPATIAL INDEX' => 23, + 'FULLTEXT INDEX' => 23, + 'IDENTIFIED WITH' => 23, + + 'X' => 33, 'Y' => 33, + 'LN' => 33, 'PI' => 33, + 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, + 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, + 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, + 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, + 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, + 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, + 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, + 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, + 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, + 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, + 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, + 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, + 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, + 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, + 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, + 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, + 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, + 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, + 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, + 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, + 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, + 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, + 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, + 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, + 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, + 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, + 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, + 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, + 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, + 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, + 'VAR_SAMP' => 33, 'YEARWEEK' => 33, + 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, + 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, + 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, + 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, + 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, + 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, + 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, + 'TO_BASE64' => 33, 'UPDATEXML' => 33, + 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, + 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, + 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, + 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, + 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, + 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, + 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, + 'WEEKOFYEAR' => 33, + 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, + 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, + 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, + 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, + 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, + 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, + 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, + 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, + 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, + 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, + 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, + 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, + 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, + 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, + 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, + 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, + 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, + 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, + 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, + 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, + 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, + 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, + 'WEIGHT_STRING' => 33, + 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, + 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, + 'UNIX_TIMESTAMP' => 33, + 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, + 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, + 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, + 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, + 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, + 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, + 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, + 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, + 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, + 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, + 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, + 'ST_POLYGONFROMWKB' => 33, + 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, + 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, + 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, + 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, + 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, + 'UNCOMPRESSED_LENGTH' => 33, + 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, + 'ST_MULTIPOINTFROMTEXT' => 33, + 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, + 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, + 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, + 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, + 'WAIT_FOR_EXECUTED_GTID_SET' => 33, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, + + 'IF' => 35, 'IN' => 35, + 'MOD' => 35, + 'LEFT' => 35, + 'MATCH' => 35, 'RIGHT' => 35, + 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, + 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, + 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, + 'LOCALTIME' => 35, + 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, + 'UTC_TIMESTAMP' => 35, + 'LOCALTIMESTAMP' => 35, + 'CURRENT_TIMESTAMP' => 35, + + 'NOT IN' => 39, + + 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, + 'POINT' => 41, + 'POLYGON' => 41, + 'TIMESTAMP' => 41, + 'LINESTRING' => 41, 'MULTIPOINT' => 41, + 'MULTIPOLYGON' => 41, + 'MULTILINESTRING' => 41, + 'GEOMETRYCOLLECTION' => 41, + + 'CHAR' => 43, + 'BINARY' => 43, + 'INTERVAL' => 43, + ]; +} diff --git a/src/Contexts/ContextMySql80300.php b/src/Contexts/ContextMySql80300.php new file mode 100644 index 000000000..b7a2c13f6 --- /dev/null +++ b/src/Contexts/ContextMySql80300.php @@ -0,0 +1,356 @@ + + * @phpstan-var non-empty-array + */ + public static $KEYWORDS = [ + 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, + 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, + 'ONE' => 1, 'ROW' => 1, 'XID' => 1, + 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, + 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, + 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, + 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, + 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, + 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, + 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, + 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, + 'FIRST' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, + 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, + 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, + 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, + 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, + 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, + 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, + 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, + 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, + 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, + 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, + 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, + 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, + 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, + 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, + 'TABLES' => 1, + 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, + 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, + 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, + 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, + 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, + 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, + 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, + 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, + 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, + 'WRAPPER' => 1, + 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, + 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, + 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, + 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, + 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, + 'UNDOFILE' => 1, 'WARNINGS' => 1, + 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, + 'DUPLICATE' => 1, 'EXPANSION' => 1, 'INVISIBLE' => 1, 'IO_THREAD' => 1, + 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, + 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, + 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, + 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, + 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, + 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, + 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, + 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, + 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, + 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, + 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, + 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, + 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, + 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, + 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, + 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, + 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, + 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, + 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, + 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, + 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, + 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, + 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, + 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, + 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, + 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, + 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, + 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, + 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, + 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, + 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, + 'STATS_SAMPLE_PAGES' => 1, + 'REPLICATE_IGNORE_DB' => 1, + 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, + 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, + 'REPLICATE_IGNORE_TABLE' => 1, + 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, + 'MAX_CONNECTIONS_PER_HOUR' => 1, + 'REPLICATE_WILD_IGNORE_TABLE' => 1, + + 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, + 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, + 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, + 'USE' => 3, 'XOR' => 3, + 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, + 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INTO' => 3, 'JOIN' => 3, + 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LOOP' => 3, + 'NULL' => 3, 'OVER' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, + 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, + 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, + 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, + 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, + 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, + 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, + 'WRITE' => 3, + 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, + 'DELETE' => 3, 'ELSEIF' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, + 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, + 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, + 'UPDATE' => 3, + 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, + 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, + 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, + 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, + 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, + 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, + 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, + 'ZEROFILL' => 3, + 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'PARTITION' => 3, + 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, + 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, + 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, + 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, + 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, + 'MASTER_BIND' => 3, + 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, + 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, + 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, + 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, + 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, + 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, + 'SQL_CALC_FOUND_ROWS' => 3, + 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, + + 'NO SQL' => 7, + 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, + 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, + 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, + 'ON UPDATE' => 7, 'UNION ALL' => 7, + 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, + 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, + 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'ON SCHEDULE' => 7, 'STARTING BY' => 7, + 'WITH ROLLUP' => 7, + 'AND NO CHAIN' => 7, 'CONTAINS SQL' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, + 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, + 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, + 'DATA DIRECTORY' => 7, 'READS SQL DATA' => 7, 'UNION DISTINCT' => 7, + 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, + 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, + 'DISABLE ON SLAVE' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, + 'MODIFIES SQL DATA' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, + 'COALESCE PARTITION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, + 'SELECT TRANSACTION' => 7, + 'DEFAULT CHARACTER SET' => 7, + 'ON COMPLETION PRESERVE' => 7, + 'NATURAL LEFT OUTER JOIN' => 7, + 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, + 'ON COMPLETION NOT PRESERVE' => 7, + + 'BIT' => 9, 'XML' => 9, + 'BOOL' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, + 'ARRAY' => 9, 'FIXED' => 9, + 'SERIAL' => 9, + 'BOOLEAN' => 9, + 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, + 'MULTILINEPOINT' => 9, + 'MULTILINEPOLYGON' => 9, + + 'INT' => 11, 'SET' => 11, + 'BLOB' => 11, 'INT1' => 11, 'INT2' => 11, 'INT3' => 11, 'INT4' => 11, 'INT8' => 11, + 'LONG' => 11, 'REAL' => 11, + 'FLOAT' => 11, + 'BIGINT' => 11, 'DOUBLE' => 11, 'FLOAT4' => 11, 'FLOAT8' => 11, + 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, + 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, + 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'MIDDLEINT' => 11, 'VARBINARY' => 11, + 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, + + 'LONG VARCHAR' => 15, + 'BINARY VARYING' => 15, 'LONG VARBINARY' => 15, + 'CHARACTER VARYING' => 15, + + 'KEY' => 19, + 'INDEX' => 19, + 'UNIQUE' => 19, + 'SPATIAL' => 19, + 'FULLTEXT' => 19, + + 'INDEX KEY' => 23, + 'UNIQUE KEY' => 23, + 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, + 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, + 'SPATIAL INDEX' => 23, + 'FULLTEXT INDEX' => 23, + 'IDENTIFIED WITH' => 23, + + 'X' => 33, 'Y' => 33, + 'LN' => 33, 'PI' => 33, + 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, + 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, + 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, + 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, + 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, + 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, + 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, + 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, + 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, + 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, + 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, + 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, + 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, + 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, + 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, + 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, + 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, + 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, + 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, + 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, + 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, + 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, + 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, + 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, + 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, + 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, + 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, + 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, + 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, + 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, + 'VAR_SAMP' => 33, 'YEARWEEK' => 33, + 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, + 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, + 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, + 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, + 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, + 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, + 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, + 'TO_BASE64' => 33, 'UPDATEXML' => 33, + 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, + 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, + 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, + 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, + 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, + 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, + 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, + 'WEEKOFYEAR' => 33, + 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, + 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, + 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, + 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, + 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, + 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, + 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, + 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, + 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, + 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, + 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, + 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, + 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, + 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, + 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'OCTET_LENGTH' => 33, + 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, + 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, + 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, + 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, + 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, + 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, + 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, + 'WEIGHT_STRING' => 33, + 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, + 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, + 'UNIX_TIMESTAMP' => 33, + 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, + 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, + 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, + 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, + 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, + 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, + 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, + 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, + 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, + 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, + 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, + 'ST_POLYGONFROMWKB' => 33, + 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, + 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, + 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, + 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, + 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, + 'UNCOMPRESSED_LENGTH' => 33, + 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, + 'ST_MULTIPOINTFROMTEXT' => 33, + 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, + 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, + 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, + 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, + 'WAIT_FOR_EXECUTED_GTID_SET' => 33, + 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, + 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, + 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, + + 'IF' => 35, 'IN' => 35, + 'MOD' => 35, + 'LEFT' => 35, + 'MATCH' => 35, 'RIGHT' => 35, + 'EXISTS' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, + 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, + 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, + 'LOCALTIME' => 35, + 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, + 'UTC_TIMESTAMP' => 35, + 'LOCALTIMESTAMP' => 35, + 'CURRENT_TIMESTAMP' => 35, + + 'NOT IN' => 39, + + 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, + 'POINT' => 41, + 'POLYGON' => 41, + 'TIMESTAMP' => 41, + 'LINESTRING' => 41, 'MULTIPOINT' => 41, + 'MULTIPOLYGON' => 41, + 'MULTILINESTRING' => 41, + 'GEOMETRYCOLLECTION' => 41, + + 'CHAR' => 43, + 'BINARY' => 43, + 'INTERVAL' => 43, + ]; +} diff --git a/src/Tools/ContextGenerator.php b/src/Tools/ContextGenerator.php index 6e8ce5507..29a7e675b 100644 --- a/src/Tools/ContextGenerator.php +++ b/src/Tools/ContextGenerator.php @@ -62,6 +62,8 @@ class ContextGenerator 'MySql50700' => 'https://dev.mysql.com/doc/refman/5.7/en/keywords.html', 'MySql80000' => 'https://dev.mysql.com/doc/refman/8.0/en/keywords.html', 'MySql80100' => 'https://dev.mysql.com/doc/refman/8.1/en/keywords.html', + 'MySql80200' => 'https://dev.mysql.com/doc/refman/8.2/en/keywords.html', + 'MySql80300' => 'https://dev.mysql.com/doc/refman/8.3/en/keywords.html', 'MariaDb100000' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb100100' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb100200' => 'https://mariadb.com/kb/en/reserved-words/', @@ -77,6 +79,8 @@ class ContextGenerator 'MariaDb110000' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb110100' => 'https://mariadb.com/kb/en/reserved-words/', 'MariaDb110200' => 'https://mariadb.com/kb/en/reserved-words/', + 'MariaDb110300' => 'https://mariadb.com/kb/en/reserved-words/', + 'MariaDb110400' => 'https://mariadb.com/kb/en/reserved-words/', ]; /** diff --git a/tools/contexts/MariaDb110300.txt b/tools/contexts/MariaDb110300.txt new file mode 100644 index 000000000..02e421548 --- /dev/null +++ b/tools/contexts/MariaDb110300.txt @@ -0,0 +1,629 @@ +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 +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 +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/MariaDb110400.txt b/tools/contexts/MariaDb110400.txt new file mode 100644 index 000000000..02e421548 --- /dev/null +++ b/tools/contexts/MariaDb110400.txt @@ -0,0 +1,629 @@ +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 +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 +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/MySql80200.txt b/tools/contexts/MySql80200.txt new file mode 100644 index 000000000..59a79493b --- /dev/null +++ b/tools/contexts/MySql80200.txt @@ -0,0 +1,626 @@ +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 +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 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 +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 +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 +PARSE_GCOL_EXPR +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) +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 +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 +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/MySql80300.txt b/tools/contexts/MySql80300.txt new file mode 100644 index 000000000..59a79493b --- /dev/null +++ b/tools/contexts/MySql80300.txt @@ -0,0 +1,626 @@ +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 +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 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 +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 +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 +PARSE_GCOL_EXPR +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) +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 +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 +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/_functionsMariaDb110300.txt b/tools/contexts/_functionsMariaDb110300.txt new file mode 100644 index 000000000..3987552d0 --- /dev/null +++ b/tools/contexts/_functionsMariaDb110300.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/_functionsMariaDb110400.txt b/tools/contexts/_functionsMariaDb110400.txt new file mode 100644 index 000000000..3987552d0 --- /dev/null +++ b/tools/contexts/_functionsMariaDb110400.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/_functionsMySql80200.txt b/tools/contexts/_functionsMySql80200.txt new file mode 100644 index 000000000..cf12b5958 --- /dev/null +++ b/tools/contexts/_functionsMySql80200.txt @@ -0,0 +1,419 @@ +ABS (F) +ACOS (F) +ADDDATE (F) +ADDTIME (F) +AES_DECRYPT (F) +AES_ENCRYPT (F) +ANY_VALUE (F) +Area (F) +AsBinary (F) +ASCII (F) +ASIN (F) +AsText (F) +AsWKB (F) +AsWKT (F) +ATAN (F) +ATAN2 (F) +AVG (F) +BENCHMARK (F) +BIN (F) +BINARY (F) +BIN_TO_UUID (F) +BIT_AND (F) +BIT_COUNT (F) +BIT_LENGTH (F) +BIT_OR (F) +BIT_XOR (F) +Buffer (F) +CAST (F) +CEIL (F) +CEILING (F) +Centroid (F) +CHAR (F) +CHAR_LENGTH (F) +CHARACTER_LENGTH (F) +CHARSET (F) +COALESCE (F) +COERCIBILITY (F) +COLLATION (F) +COMPRESS (F) +CONCAT (F) +CONCAT_WS (F) +CONNECTION_ID (F) +Contains (F) +CONV (F) +CONVERT (F) +CONVERT_TZ (F) +ConvexHull (F) +COS (F) +COT (F) +COUNT (F) +CRC32 (F) +Crosses (F) +CURDATE (F) +CURRENT_DATE (F) +CURRENT_TIME (F) +CURRENT_TIMESTAMP (F) +CURRENT_USER (F) +CURTIME (F) +DATABASE (F) +DATE (F) +DATE_ADD (F) +DATE_FORMAT (F) +DATE_SUB (F) +DATEDIFF (F) +DAY (F) +DAYNAME (F) +DAYOFMONTH (F) +DAYOFWEEK (F) +DAYOFYEAR (F) +DECODE (F) +DEFAULT (F) +DEGREES (F) +DES_DECRYPT (F) +DES_ENCRYPT (F) +Dimension (F) +Disjoint (F) +Distance (F) +ELT (F) +ENCODE (F) +ENCRYPT (F) +EndPoint (F) +Envelope (F) +Equals (F) +EXP (F) +EXPORT_SET (F) +ExteriorRing (F) +EXTRACT (F) +ExtractValue (F) +FIELD (F) +FIND_IN_SET (F) +FLOOR (F) +FORMAT (F) +FOUND_ROWS (F) +FROM_BASE64 (F) +FROM_DAYS (F) +FROM_UNIXTIME (F) +GeomCollFromText (F) +GeomCollFromWKB (F) +GeometryCollection (F) +GeometryCollectionFromText (F) +GeometryCollectionFromWKB (F) +GeometryFromText (F) +GeometryN (F) +GeometryType (F) +GeomFromText (F) +GeomFromWKB (F) +GET_FORMAT (F) +GET_LOCK (F) +GLength (F) +GREATEST (F) +GROUP_CONCAT (F) +GTID_SUBSET (F) +GTID_SUBTRACT (F) +HEX (F) +HOUR (F) +IF (F) +IFNULL (F) +IN (F) +INET6_ATON (F) +INET6_NTOA (F) +INET_ATON (F) +INET_NTOA (F) +INSERT (F) +INSTR (F) +InteriorRingN (F) +Intersects (F) +INTERVAL (F) +IS_FREE_LOCK (F) +IS_IPV4 (F) +IS_IPV4_COMPAT (F) +IS_IPV4_MAPPED (F) +IS_IPV6 (F) +IS_USED_LOCK (F) +IS_UUID (F) +IsClosed (F) +IsEmpty (F) +ISNULL (F) +IsSimple (F) +JSON_ARRAY (F) +JSON_ARRAY_APPEND (F) +JSON_ARRAY_INSERT (F) +JSON_CONTAINS (F) +JSON_CONTAINS_PATH (F) +JSON_DEPTH (F) +JSON_EXTRACT (F) +JSON_INSERT (F) +JSON_KEYS (F) +JSON_LENGTH (F) +JSON_MERGE (F) +JSON_MERGE_PATCH (F) +JSON_MERGE_PRESERVE (F) +JSON_OBJECT (F) +JSON_PRETTY (F) +JSON_QUOTE (F) +JSON_REMOVE (F) +JSON_REPLACE (F) +JSON_SEARCH (F) +JSON_SET (F) +JSON_STORAGE_FREE (F) +JSON_STORAGE_SIZE (F) +JSON_TYPE (F) +JSON_UNQUOTE (F) +JSON_VALID (F) +LAST_INSERT_ID (F) +LCASE (F) +LEAST (F) +LEFT (F) +LENGTH (F) +LineFromText (F) +LineFromWKB (F) +LineString (F) +LineStringFromWKB (F) +LN (F) +LOAD_FILE (F) +LOCALTIME (F) +LOCALTIMESTAMP (F) +LOCATE (F) +LOG (F) +LOG10 (F) +LOG2 (F) +LOWER (F) +LPAD (F) +LTRIM (F) +MAKE_SET (F) +MAKEDATE (F) +MAKETIME (F) +MASTER_POS_WAIT (F) +MAX (F) +MBRContains (F) +MBRCoveredBy (F) +MBRCovers (F) +MBRDisjoint (F) +MBREqual (F) +MBREquals (F) +MBRIntersects (F) +MBROverlaps (F) +MBRTouches (F) +MBRWithin (F) +MD5 (F) +MICROSECOND (F) +MID (F) +MIN (F) +MINUTE (F) +MLineFromText (F) +MLineFromWKB (F) +MOD (F) +MONTH (F) +MONTHNAME (F) +MPointFromText (F) +MPointFromWKB (F) +MPolyFromText (F) +MPolyFromWKB (F) +MultiLineString (F) +MultiLineStringFromText (F) +MultiLineStringFromWKB (F) +MultiPoint (F) +MultiPointFromText (F) +MultiPointFromWKB (F) +MultiPolygon (F) +MultiPolygonFromText (F) +MultiPolygonFromWKB (F) +NAME_CONST (F) +NOT IN (F) +NOW (F) +NULLIF (F) +NumGeometries (F) +NumInteriorRings (F) +NumPoints (F) +OCT (F) +OCTET_LENGTH (F) +OLD_PASSWORD (F) +ORD (F) +Overlaps (F) +PASSWORD (F) +PERIOD_ADD (F) +PERIOD_DIFF (F) +PI (F) +Point (F) +PointFromText (F) +PointFromWKB (F) +PointN (F) +PolyFromText (F) +PolyFromWKB (F) +Polygon (F) +PolygonFromText (F) +PolygonFromWKB (F) +POSITION (F) +POW (F) +POWER (F) +QUARTER (F) +QUOTE (F) +RADIANS (F) +RAND (F) +RANDOM_BYTES (F) +RELEASE_ALL_LOCKS (F) +RELEASE_LOCK (F) +REPEAT (F) +REPLACE (F) +REVERSE (F) +RIGHT (F) +ROUND (F) +ROW_COUNT (F) +RPAD (F) +RTRIM (F) +SCHEMA (F) +SEC_TO_TIME (F) +SECOND (F) +SESSION_USER (F) +SHA (F) +SHA1 (F) +SHA2 (F) +SIGN (F) +SIN (F) +SLEEP (F) +SOUNDEX (F) +SPACE (F) +SQRT (F) +SRID (F) +ST_Area (F) +ST_AsBinary (F) +ST_AsGeoJSON (F) +ST_AsText (F) +ST_AsWKB (F) +ST_AsWKT (F) +ST_Buffer (F) +ST_Buffer_Strategy (F) +ST_Centroid (F) +ST_Contains (F) +ST_ConvexHull (F) +ST_Crosses (F) +ST_Difference (F) +ST_Dimension (F) +ST_Disjoint (F) +ST_Distance (F) +ST_Distance_Sphere (F) +ST_EndPoint (F) +ST_Envelope (F) +ST_Equals (F) +ST_ExteriorRing (F) +ST_GeoHash (F) +ST_GeomCollFromText (F) +ST_GeomCollFromTxt (F) +ST_GeomCollFromWKB (F) +ST_GeometryCollectionFromText (F) +ST_GeometryCollectionFromWKB (F) +ST_GeometryFromText (F) +ST_GeometryN (F) +ST_GeometryType (F) +ST_GeomFromGeoJSON (F) +ST_GeomFromText (F) +ST_GeomFromWKB (F) +ST_InteriorRingN (F) +ST_Intersection (F) +ST_Intersects (F) +ST_IsClosed (F) +ST_IsEmpty (F) +ST_IsSimple (F) +ST_IsValid (F) +ST_LatFromGeoHash (F) +ST_Length (F) +ST_LineFromText (F) +ST_LineFromWKB (F) +ST_LineStringFromWKB (F) +ST_LongFromGeoHash (F) +ST_MakeEnvelope (F) +ST_MLineFromText (F) +ST_MLineFromWKB (F) +ST_MPointFromText (F) +ST_MPointFromWKB (F) +ST_MPolyFromText (F) +ST_MPolyFromWKB (F) +ST_MultiLineStringFromText (F) +ST_MultiLineStringFromWKB (F) +ST_MultiPointFromText (F) +ST_MultiPointFromWKB (F) +ST_MultiPolygonFromText (F) +ST_MultiPolygonFromWKB (F) +ST_NumGeometries (F) +ST_NumInteriorRings (F) +ST_NumPoints (F) +ST_Overlaps (F) +ST_PointFromGeoHash (F) +ST_PointFromText (F) +ST_PointFromWKB (F) +ST_PointN (F) +ST_PolyFromText (F) +ST_PolyFromWKB (F) +ST_PolygonFromText (F) +ST_PolygonFromWKB (F) +ST_Simplify (F) +ST_SRID (F) +ST_StartPoint (F) +ST_SymDifference (F) +ST_Touches (F) +ST_Union (F) +ST_Validate (F) +ST_Within (F) +ST_X (F) +ST_Y (F) +StartPoint (F) +STD (F) +STDDEV (F) +STDDEV_POP (F) +STDDEV_SAMP (F) +STR_TO_DATE (F) +STRCMP (F) +SUBDATE (F) +SUBSTR (F) +SUBSTRING (F) +SUBSTRING_INDEX (F) +SUBTIME (F) +SUM (F) +SYSDATE (F) +SYSTEM_USER (F) +TAN (F) +TIME (F) +TIME_FORMAT (F) +TIME_TO_SEC (F) +TIMEDIFF (F) +TIMESTAMP (F) +TIMESTAMPADD (F) +TIMESTAMPDIFF (F) +TO_BASE64 (F) +TO_DAYS (F) +TO_SECONDS (F) +Touches (F) +TRIM (F) +TRUNCATE (F) +UCASE (F) +UNCOMPRESS (F) +UNCOMPRESSED_LENGTH (F) +UNHEX (F) +UNIX_TIMESTAMP (F) +UpdateXML (F) +UPPER (F) +USER (F) +UTC_DATE (F) +UTC_TIME (F) +UTC_TIMESTAMP (F) +UUID (F) +UUID_SHORT (F) +UUID_TO_BIN (F) +VALIDATE_PASSWORD_STRENGTH (F) +VALUES (F) +VAR_POP (F) +VAR_SAMP (F) +VARIANCE (F) +VERSION (F) +WAIT_FOR_EXECUTED_GTID_SET (F) +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS (F) +WEEK (F) +WEEKDAY (F) +WEEKOFYEAR (F) +WEIGHT_STRING (F) +Within (F) +X (F) +Y (F) +YEAR (F) +YEARWEEK (F) diff --git a/tools/contexts/_functionsMySql80300.txt b/tools/contexts/_functionsMySql80300.txt new file mode 100644 index 000000000..cf12b5958 --- /dev/null +++ b/tools/contexts/_functionsMySql80300.txt @@ -0,0 +1,419 @@ +ABS (F) +ACOS (F) +ADDDATE (F) +ADDTIME (F) +AES_DECRYPT (F) +AES_ENCRYPT (F) +ANY_VALUE (F) +Area (F) +AsBinary (F) +ASCII (F) +ASIN (F) +AsText (F) +AsWKB (F) +AsWKT (F) +ATAN (F) +ATAN2 (F) +AVG (F) +BENCHMARK (F) +BIN (F) +BINARY (F) +BIN_TO_UUID (F) +BIT_AND (F) +BIT_COUNT (F) +BIT_LENGTH (F) +BIT_OR (F) +BIT_XOR (F) +Buffer (F) +CAST (F) +CEIL (F) +CEILING (F) +Centroid (F) +CHAR (F) +CHAR_LENGTH (F) +CHARACTER_LENGTH (F) +CHARSET (F) +COALESCE (F) +COERCIBILITY (F) +COLLATION (F) +COMPRESS (F) +CONCAT (F) +CONCAT_WS (F) +CONNECTION_ID (F) +Contains (F) +CONV (F) +CONVERT (F) +CONVERT_TZ (F) +ConvexHull (F) +COS (F) +COT (F) +COUNT (F) +CRC32 (F) +Crosses (F) +CURDATE (F) +CURRENT_DATE (F) +CURRENT_TIME (F) +CURRENT_TIMESTAMP (F) +CURRENT_USER (F) +CURTIME (F) +DATABASE (F) +DATE (F) +DATE_ADD (F) +DATE_FORMAT (F) +DATE_SUB (F) +DATEDIFF (F) +DAY (F) +DAYNAME (F) +DAYOFMONTH (F) +DAYOFWEEK (F) +DAYOFYEAR (F) +DECODE (F) +DEFAULT (F) +DEGREES (F) +DES_DECRYPT (F) +DES_ENCRYPT (F) +Dimension (F) +Disjoint (F) +Distance (F) +ELT (F) +ENCODE (F) +ENCRYPT (F) +EndPoint (F) +Envelope (F) +Equals (F) +EXP (F) +EXPORT_SET (F) +ExteriorRing (F) +EXTRACT (F) +ExtractValue (F) +FIELD (F) +FIND_IN_SET (F) +FLOOR (F) +FORMAT (F) +FOUND_ROWS (F) +FROM_BASE64 (F) +FROM_DAYS (F) +FROM_UNIXTIME (F) +GeomCollFromText (F) +GeomCollFromWKB (F) +GeometryCollection (F) +GeometryCollectionFromText (F) +GeometryCollectionFromWKB (F) +GeometryFromText (F) +GeometryN (F) +GeometryType (F) +GeomFromText (F) +GeomFromWKB (F) +GET_FORMAT (F) +GET_LOCK (F) +GLength (F) +GREATEST (F) +GROUP_CONCAT (F) +GTID_SUBSET (F) +GTID_SUBTRACT (F) +HEX (F) +HOUR (F) +IF (F) +IFNULL (F) +IN (F) +INET6_ATON (F) +INET6_NTOA (F) +INET_ATON (F) +INET_NTOA (F) +INSERT (F) +INSTR (F) +InteriorRingN (F) +Intersects (F) +INTERVAL (F) +IS_FREE_LOCK (F) +IS_IPV4 (F) +IS_IPV4_COMPAT (F) +IS_IPV4_MAPPED (F) +IS_IPV6 (F) +IS_USED_LOCK (F) +IS_UUID (F) +IsClosed (F) +IsEmpty (F) +ISNULL (F) +IsSimple (F) +JSON_ARRAY (F) +JSON_ARRAY_APPEND (F) +JSON_ARRAY_INSERT (F) +JSON_CONTAINS (F) +JSON_CONTAINS_PATH (F) +JSON_DEPTH (F) +JSON_EXTRACT (F) +JSON_INSERT (F) +JSON_KEYS (F) +JSON_LENGTH (F) +JSON_MERGE (F) +JSON_MERGE_PATCH (F) +JSON_MERGE_PRESERVE (F) +JSON_OBJECT (F) +JSON_PRETTY (F) +JSON_QUOTE (F) +JSON_REMOVE (F) +JSON_REPLACE (F) +JSON_SEARCH (F) +JSON_SET (F) +JSON_STORAGE_FREE (F) +JSON_STORAGE_SIZE (F) +JSON_TYPE (F) +JSON_UNQUOTE (F) +JSON_VALID (F) +LAST_INSERT_ID (F) +LCASE (F) +LEAST (F) +LEFT (F) +LENGTH (F) +LineFromText (F) +LineFromWKB (F) +LineString (F) +LineStringFromWKB (F) +LN (F) +LOAD_FILE (F) +LOCALTIME (F) +LOCALTIMESTAMP (F) +LOCATE (F) +LOG (F) +LOG10 (F) +LOG2 (F) +LOWER (F) +LPAD (F) +LTRIM (F) +MAKE_SET (F) +MAKEDATE (F) +MAKETIME (F) +MASTER_POS_WAIT (F) +MAX (F) +MBRContains (F) +MBRCoveredBy (F) +MBRCovers (F) +MBRDisjoint (F) +MBREqual (F) +MBREquals (F) +MBRIntersects (F) +MBROverlaps (F) +MBRTouches (F) +MBRWithin (F) +MD5 (F) +MICROSECOND (F) +MID (F) +MIN (F) +MINUTE (F) +MLineFromText (F) +MLineFromWKB (F) +MOD (F) +MONTH (F) +MONTHNAME (F) +MPointFromText (F) +MPointFromWKB (F) +MPolyFromText (F) +MPolyFromWKB (F) +MultiLineString (F) +MultiLineStringFromText (F) +MultiLineStringFromWKB (F) +MultiPoint (F) +MultiPointFromText (F) +MultiPointFromWKB (F) +MultiPolygon (F) +MultiPolygonFromText (F) +MultiPolygonFromWKB (F) +NAME_CONST (F) +NOT IN (F) +NOW (F) +NULLIF (F) +NumGeometries (F) +NumInteriorRings (F) +NumPoints (F) +OCT (F) +OCTET_LENGTH (F) +OLD_PASSWORD (F) +ORD (F) +Overlaps (F) +PASSWORD (F) +PERIOD_ADD (F) +PERIOD_DIFF (F) +PI (F) +Point (F) +PointFromText (F) +PointFromWKB (F) +PointN (F) +PolyFromText (F) +PolyFromWKB (F) +Polygon (F) +PolygonFromText (F) +PolygonFromWKB (F) +POSITION (F) +POW (F) +POWER (F) +QUARTER (F) +QUOTE (F) +RADIANS (F) +RAND (F) +RANDOM_BYTES (F) +RELEASE_ALL_LOCKS (F) +RELEASE_LOCK (F) +REPEAT (F) +REPLACE (F) +REVERSE (F) +RIGHT (F) +ROUND (F) +ROW_COUNT (F) +RPAD (F) +RTRIM (F) +SCHEMA (F) +SEC_TO_TIME (F) +SECOND (F) +SESSION_USER (F) +SHA (F) +SHA1 (F) +SHA2 (F) +SIGN (F) +SIN (F) +SLEEP (F) +SOUNDEX (F) +SPACE (F) +SQRT (F) +SRID (F) +ST_Area (F) +ST_AsBinary (F) +ST_AsGeoJSON (F) +ST_AsText (F) +ST_AsWKB (F) +ST_AsWKT (F) +ST_Buffer (F) +ST_Buffer_Strategy (F) +ST_Centroid (F) +ST_Contains (F) +ST_ConvexHull (F) +ST_Crosses (F) +ST_Difference (F) +ST_Dimension (F) +ST_Disjoint (F) +ST_Distance (F) +ST_Distance_Sphere (F) +ST_EndPoint (F) +ST_Envelope (F) +ST_Equals (F) +ST_ExteriorRing (F) +ST_GeoHash (F) +ST_GeomCollFromText (F) +ST_GeomCollFromTxt (F) +ST_GeomCollFromWKB (F) +ST_GeometryCollectionFromText (F) +ST_GeometryCollectionFromWKB (F) +ST_GeometryFromText (F) +ST_GeometryN (F) +ST_GeometryType (F) +ST_GeomFromGeoJSON (F) +ST_GeomFromText (F) +ST_GeomFromWKB (F) +ST_InteriorRingN (F) +ST_Intersection (F) +ST_Intersects (F) +ST_IsClosed (F) +ST_IsEmpty (F) +ST_IsSimple (F) +ST_IsValid (F) +ST_LatFromGeoHash (F) +ST_Length (F) +ST_LineFromText (F) +ST_LineFromWKB (F) +ST_LineStringFromWKB (F) +ST_LongFromGeoHash (F) +ST_MakeEnvelope (F) +ST_MLineFromText (F) +ST_MLineFromWKB (F) +ST_MPointFromText (F) +ST_MPointFromWKB (F) +ST_MPolyFromText (F) +ST_MPolyFromWKB (F) +ST_MultiLineStringFromText (F) +ST_MultiLineStringFromWKB (F) +ST_MultiPointFromText (F) +ST_MultiPointFromWKB (F) +ST_MultiPolygonFromText (F) +ST_MultiPolygonFromWKB (F) +ST_NumGeometries (F) +ST_NumInteriorRings (F) +ST_NumPoints (F) +ST_Overlaps (F) +ST_PointFromGeoHash (F) +ST_PointFromText (F) +ST_PointFromWKB (F) +ST_PointN (F) +ST_PolyFromText (F) +ST_PolyFromWKB (F) +ST_PolygonFromText (F) +ST_PolygonFromWKB (F) +ST_Simplify (F) +ST_SRID (F) +ST_StartPoint (F) +ST_SymDifference (F) +ST_Touches (F) +ST_Union (F) +ST_Validate (F) +ST_Within (F) +ST_X (F) +ST_Y (F) +StartPoint (F) +STD (F) +STDDEV (F) +STDDEV_POP (F) +STDDEV_SAMP (F) +STR_TO_DATE (F) +STRCMP (F) +SUBDATE (F) +SUBSTR (F) +SUBSTRING (F) +SUBSTRING_INDEX (F) +SUBTIME (F) +SUM (F) +SYSDATE (F) +SYSTEM_USER (F) +TAN (F) +TIME (F) +TIME_FORMAT (F) +TIME_TO_SEC (F) +TIMEDIFF (F) +TIMESTAMP (F) +TIMESTAMPADD (F) +TIMESTAMPDIFF (F) +TO_BASE64 (F) +TO_DAYS (F) +TO_SECONDS (F) +Touches (F) +TRIM (F) +TRUNCATE (F) +UCASE (F) +UNCOMPRESS (F) +UNCOMPRESSED_LENGTH (F) +UNHEX (F) +UNIX_TIMESTAMP (F) +UpdateXML (F) +UPPER (F) +USER (F) +UTC_DATE (F) +UTC_TIME (F) +UTC_TIMESTAMP (F) +UUID (F) +UUID_SHORT (F) +UUID_TO_BIN (F) +VALIDATE_PASSWORD_STRENGTH (F) +VALUES (F) +VAR_POP (F) +VAR_SAMP (F) +VARIANCE (F) +VERSION (F) +WAIT_FOR_EXECUTED_GTID_SET (F) +WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS (F) +WEEK (F) +WEEKDAY (F) +WEEKOFYEAR (F) +WEIGHT_STRING (F) +Within (F) +X (F) +Y (F) +YEAR (F) +YEARWEEK (F) From 98515793e67df12da89ebef2be4d014f09361e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Sat, 20 Jan 2024 01:43:28 -0300 Subject: [PATCH 2/4] Fix PHP notice in Utils\Error::get() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PHP Notice: Trying to get property 'token' of non-object in src/Utils/Error.php on line 54 PHP Notice: Trying to get property 'position' of non-object in src/Utils/Error.php on line 55 Signed-off-by: Maurício Meneghini Fauth --- phpstan-baseline.neon | 5 ----- psalm-baseline.xml | 5 ----- src/Exceptions/ParserException.php | 8 ++++---- src/Tools/TestGenerator.php | 4 +--- src/Utils/Error.php | 4 ++-- tests/TestCase.php | 2 +- tests/Utils/ErrorTest.php | 10 ++++++++++ 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 419731eec..878a51123 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -465,11 +465,6 @@ parameters: count: 1 path: src/Context.php - - - message: "#^Property PhpMyAdmin\\\\SqlParser\\\\Exceptions\\\\ParserException\\:\\:\\$token \\(PhpMyAdmin\\\\SqlParser\\\\Token\\) does not accept PhpMyAdmin\\\\SqlParser\\\\Token\\|null\\.$#" - count: 1 - path: src/Exceptions/ParserException.php - - message: "#^Cannot access property \\$type on PhpMyAdmin\\\\SqlParser\\\\Token\\|null\\.$#" count: 2 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index ee64ca7a1..80d5bdb4a 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -656,11 +656,6 @@ - - - $token - - $this->last diff --git a/src/Exceptions/ParserException.php b/src/Exceptions/ParserException.php index 7bf067923..8e2892898 100644 --- a/src/Exceptions/ParserException.php +++ b/src/Exceptions/ParserException.php @@ -15,14 +15,14 @@ class ParserException extends Exception /** * The token that produced this error. * - * @var Token + * @var Token|null */ public $token; /** - * @param string $msg the message of this exception - * @param Token $token the token that produced this exception - * @param int $code the code of this error + * @param string $msg the message of this exception + * @param Token|null $token the token that produced this exception + * @param int $code the code of this error */ public function __construct($msg = '', ?Token $token = null, $code = 0) { diff --git a/src/Tools/TestGenerator.php b/src/Tools/TestGenerator.php index 46b70f98c..1fa924d20 100644 --- a/src/Tools/TestGenerator.php +++ b/src/Tools/TestGenerator.php @@ -46,7 +46,7 @@ class TestGenerator * @param string $query the query to be analyzed * @param string $type test's type (may be `lexer` or `parser`) * - * @return array>>|null> + * @return array>>|null> */ public static function generate($query, $type = 'parser') { @@ -72,8 +72,6 @@ public static function generate($query, $type = 'parser') /** * Parser's errors. - * - * @var array> */ $parserErrors = []; diff --git a/src/Utils/Error.php b/src/Utils/Error.php index 1b52b4d1c..f52b91ccd 100644 --- a/src/Utils/Error.php +++ b/src/Utils/Error.php @@ -50,8 +50,8 @@ public static function get($objs) $ret[] = [ $err->getMessage(), $err->getCode(), - $err->token->token, - $err->token->position, + $err->token !== null ? $err->token->token : '', + $err->token !== null ? $err->token->position : null, ]; } } diff --git a/tests/TestCase.php b/tests/TestCase.php index fc196ae24..8351a84b8 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -57,7 +57,7 @@ public function getTokensList(string $query): TokensList * @psalm-return ( * $obj is Lexer * ? list - * : list + * : list * ) */ public function getErrorsAsArray($obj): array diff --git a/tests/Utils/ErrorTest.php b/tests/Utils/ErrorTest.php index dce85da1f..f3769891c 100644 --- a/tests/Utils/ErrorTest.php +++ b/tests/Utils/ErrorTest.php @@ -34,6 +34,16 @@ public function testGet(): void ); } + public function testGetWithNullToken(): void + { + $lexer = new Lexer('LOCK TABLES table1 AS `t1` LOCAL'); + $parser = new Parser($lexer->list); + $this->assertEquals( + [['Unexpected keyword.', 0, 'LOCAL', 27], ['Unexpected end of LOCK expression.', 0, null, null]], + Error::get([$lexer, $parser]) + ); + } + public function testFormat(): void { $this->assertEquals( From a447cc812d6ce0c1acdb9ec1ff34671f45c5747c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Fri, 19 Jan 2024 13:27:39 -0300 Subject: [PATCH 3/4] Add test for issue 496 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maurício Meneghini Fauth --- tests/Misc/BugsTest.php | 1 + tests/data/bugs/gh496.in | 3 + tests/data/bugs/gh496.out | 459 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 463 insertions(+) create mode 100644 tests/data/bugs/gh496.in create mode 100644 tests/data/bugs/gh496.out diff --git a/tests/Misc/BugsTest.php b/tests/Misc/BugsTest.php index 2f93e5c17..95900f686 100644 --- a/tests/Misc/BugsTest.php +++ b/tests/Misc/BugsTest.php @@ -35,6 +35,7 @@ public function bugProvider(): array ['bugs/gh412'], ['bugs/gh478'], ['bugs/gh492'], + ['bugs/gh496'], ['bugs/gh498'], ['bugs/gh499'], ['bugs/gh508'], diff --git a/tests/data/bugs/gh496.in b/tests/data/bugs/gh496.in new file mode 100644 index 000000000..935f01e17 --- /dev/null +++ b/tests/data/bugs/gh496.in @@ -0,0 +1,3 @@ +SELECT COUNT(*) AS amount +FROM one i +JOIN two io ON io.id = i.id \ No newline at end of file diff --git a/tests/data/bugs/gh496.out b/tests/data/bugs/gh496.out new file mode 100644 index 000000000..68b0002e1 --- /dev/null +++ b/tests/data/bugs/gh496.out @@ -0,0 +1,459 @@ +{ + "query": "SELECT COUNT(*) AS amount\nFROM one i\nJOIN two io ON io.id = i.id", + "lexer": { + "@type": "PhpMyAdmin\\SqlParser\\Lexer", + "str": "SELECT COUNT(*) AS amount\nFROM one i\nJOIN two io ON io.id = i.id", + "len": 71, + "last": 71, + "list": { + "@type": "PhpMyAdmin\\SqlParser\\TokensList", + "tokens": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "SELECT", + "value": "SELECT", + "keyword": "SELECT", + "type": 1, + "flags": 3, + "position": 0 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 6 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "COUNT", + "value": "COUNT", + "keyword": "COUNT", + "type": 1, + "flags": 33, + "position": 8 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "(", + "value": "(", + "keyword": null, + "type": 2, + "flags": 16, + "position": 13 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "*", + "value": "*", + "keyword": null, + "type": 2, + "flags": 16, + "position": 14 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ")", + "value": ")", + "keyword": null, + "type": 2, + "flags": 16, + "position": 15 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 16 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "AS", + "value": "AS", + "keyword": "AS", + "type": 1, + "flags": 3, + "position": 17 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 19 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "amount", + "value": "amount", + "keyword": null, + "type": 0, + "flags": 0, + "position": 20 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "\n", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 26 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "FROM", + "value": "FROM", + "keyword": "FROM", + "type": 1, + "flags": 3, + "position": 27 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 31 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "one", + "value": "one", + "keyword": "ONE", + "type": 1, + "flags": 1, + "position": 35 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 38 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "i", + "value": "i", + "keyword": null, + "type": 0, + "flags": 0, + "position": 39 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "\n", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 40 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "JOIN", + "value": "JOIN", + "keyword": "JOIN", + "type": 1, + "flags": 3, + "position": 41 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 45 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "two", + "value": "two", + "keyword": null, + "type": 0, + "flags": 0, + "position": 49 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 52 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "io", + "value": "io", + "keyword": "IO", + "type": 1, + "flags": 1, + "position": 53 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 55 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "ON", + "value": "ON", + "keyword": "ON", + "type": 1, + "flags": 3, + "position": 56 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 58 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "io", + "value": "io", + "keyword": "IO", + "type": 1, + "flags": 1, + "position": 59 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ".", + "value": ".", + "keyword": null, + "type": 2, + "flags": 16, + "position": 61 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "id", + "value": "id", + "keyword": null, + "type": 0, + "flags": 0, + "position": 62 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 64 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "=", + "value": "=", + "keyword": null, + "type": 2, + "flags": 2, + "position": 65 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 66 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "i", + "value": "i", + "keyword": null, + "type": 0, + "flags": 0, + "position": 67 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ".", + "value": ".", + "keyword": null, + "type": 2, + "flags": 16, + "position": 68 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "id", + "value": "id", + "keyword": null, + "type": 0, + "flags": 0, + "position": 69 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": null, + "value": null, + "keyword": null, + "type": 9, + "flags": 0, + "position": null + } + ], + "count": 35, + "idx": 35 + }, + "delimiter": ";", + "delimiterLen": 1, + "strict": false, + "errors": [] + }, + "parser": { + "@type": "PhpMyAdmin\\SqlParser\\Parser", + "list": { + "@type": "@1" + }, + "statements": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Statements\\SelectStatement", + "expr": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": null, + "column": null, + "expr": "COUNT(*)", + "alias": "amount", + "function": "COUNT", + "subquery": null + } + ], + "from": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": "one", + "column": null, + "expr": "one", + "alias": "i", + "function": null, + "subquery": null + } + ], + "index_hints": null, + "partition": null, + "where": null, + "group": null, + "group_options": null, + "having": null, + "order": null, + "limit": null, + "procedure": null, + "into": null, + "join": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\JoinKeyword", + "type": "JOIN", + "expr": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": "two", + "column": null, + "expr": "two", + "alias": null, + "function": null, + "subquery": null + }, + "on": null, + "using": null + } + ], + "union": [], + "end_options": null, + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + }, + "first": 0, + "last": 33, + "table": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": "io", + "table": "id", + "column": null, + "expr": "io.id", + "alias": null, + "function": null, + "subquery": null + } + } + ], + "brackets": 0, + "strict": false, + "errors": [] + }, + "errors": { + "lexer": [], + "parser": [ + [ + "Unrecognized keyword.", + { + "@type": "@23" + }, + 0 + ], + [ + "Unexpected token.", + { + "@type": "@31" + }, + 0 + ], + [ + "Unexpected token.", + { + "@type": "@33" + }, + 0 + ], + [ + "Unexpected token.", + { + "@type": "@34" + }, + 0 + ], + [ + "Unexpected token.", + { + "@type": "@35" + }, + 0 + ] + ] + } +} \ No newline at end of file From 716d545ef87f05850c00080212f968d7cb013bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Sat, 20 Jan 2024 16:34:37 -0300 Subject: [PATCH 4/4] Fix keywords not being recognized as table alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maurício Meneghini Fauth --- src/Components/AlterOperation.php | 6 +-- src/Components/Expression.php | 5 +- src/Statements/LoadStatement.php | 2 +- tests/Utils/ErrorTest.php | 8 ++- tests/data/bugs/gh496.out | 65 ++++++------------------- tests/data/parser/parseLockErr2.out | 7 +++ tests/data/parser/parseTransaction3.in | 2 +- tests/data/parser/parseTransaction3.out | 41 ++++++++-------- 8 files changed, 56 insertions(+), 80 deletions(-) diff --git a/src/Components/AlterOperation.php b/src/Components/AlterOperation.php index 8d134b205..d46a63ec7 100644 --- a/src/Components/AlterOperation.php +++ b/src/Components/AlterOperation.php @@ -237,11 +237,7 @@ class AlterOperation extends Component 'ON COMPLETION PRESERVE' => 5, 'ON COMPLETION NOT PRESERVE' => 5, 'RENAME' => 6, - 'TO' => [ - 7, - 'expr', - ['parseField' => 'table'], - ], + 'TO' => [7, 'expr', ['parseField' => 'table', 'breakOnAlias' => true]], 'ENABLE' => 8, 'DISABLE' => 8, 'DISABLE ON SLAVE' => 8, diff --git a/src/Components/Expression.php b/src/Components/Expression.php index 57037ec98..a817ebee4 100644 --- a/src/Components/Expression.php +++ b/src/Components/Expression.php @@ -273,7 +273,10 @@ public static function parse(Parser $parser, TokensList $list, array $options = } $isExpr = true; - } elseif ($brackets === 0 && strlen((string) $ret->expr) > 0 && ! $alias) { + } elseif ( + $brackets === 0 && strlen((string) $ret->expr) > 0 && ! $alias + && ($ret->table === null || $ret->table === '') + ) { /* End of expression */ break; } diff --git a/src/Statements/LoadStatement.php b/src/Statements/LoadStatement.php index ac2f9fc96..f0f6253e2 100644 --- a/src/Statements/LoadStatement.php +++ b/src/Statements/LoadStatement.php @@ -293,7 +293,7 @@ public function parse(Parser $parser, TokensList $list) } ++$list->idx; - $this->table = Expression::parse($parser, $list, ['parseField' => 'table']); + $this->table = Expression::parse($parser, $list, ['parseField' => 'table', 'breakOnAlias' => true]); $state = 3; } elseif ($state >= 3 && $state <= 7) { if ($token->type === Token::TYPE_KEYWORD) { diff --git a/tests/Utils/ErrorTest.php b/tests/Utils/ErrorTest.php index f3769891c..2a91cdf00 100644 --- a/tests/Utils/ErrorTest.php +++ b/tests/Utils/ErrorTest.php @@ -38,8 +38,12 @@ public function testGetWithNullToken(): void { $lexer = new Lexer('LOCK TABLES table1 AS `t1` LOCAL'); $parser = new Parser($lexer->list); - $this->assertEquals( - [['Unexpected keyword.', 0, 'LOCAL', 27], ['Unexpected end of LOCK expression.', 0, null, null]], + $this->assertSame( + [ + ['An alias was previously found.', 0, 'LOCAL', 27], + ['Unexpected keyword.', 0, 'LOCAL', 27], + ['Unexpected end of LOCK expression.', 0, '', null], + ], Error::get([$lexer, $parser]) ); } diff --git a/tests/data/bugs/gh496.out b/tests/data/bugs/gh496.out index 68b0002e1..624a921f5 100644 --- a/tests/data/bugs/gh496.out +++ b/tests/data/bugs/gh496.out @@ -384,11 +384,22 @@ "table": "two", "column": null, "expr": "two", - "alias": null, + "alias": "io", "function": null, "subquery": null }, - "on": null, + "on": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Condition", + "identifiers": [ + "io", + "id", + "i" + ], + "isOperator": false, + "expr": "io.id = i.id" + } + ], "using": null } ], @@ -399,17 +410,7 @@ "options": [] }, "first": 0, - "last": 33, - "table": { - "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", - "database": "io", - "table": "id", - "column": null, - "expr": "io.id", - "alias": null, - "function": null, - "subquery": null - } + "last": 33 } ], "brackets": 0, @@ -418,42 +419,6 @@ }, "errors": { "lexer": [], - "parser": [ - [ - "Unrecognized keyword.", - { - "@type": "@23" - }, - 0 - ], - [ - "Unexpected token.", - { - "@type": "@31" - }, - 0 - ], - [ - "Unexpected token.", - { - "@type": "@33" - }, - 0 - ], - [ - "Unexpected token.", - { - "@type": "@34" - }, - 0 - ], - [ - "Unexpected token.", - { - "@type": "@35" - }, - 0 - ] - ] + "parser": [] } } \ No newline at end of file diff --git a/tests/data/parser/parseLockErr2.out b/tests/data/parser/parseLockErr2.out index dfd5d8edc..1db477b2b 100644 --- a/tests/data/parser/parseLockErr2.out +++ b/tests/data/parser/parseLockErr2.out @@ -162,6 +162,13 @@ "errors": { "lexer": [], "parser": [ + [ + "An alias was previously found.", + { + "@type": "@12" + }, + 0 + ], [ "Unexpected keyword.", { diff --git a/tests/data/parser/parseTransaction3.in b/tests/data/parser/parseTransaction3.in index bc72a704d..5e7ed78b9 100644 --- a/tests/data/parser/parseTransaction3.in +++ b/tests/data/parser/parseTransaction3.in @@ -1,3 +1,3 @@ begin; -SELECT * FROM `tablename` +SELECT * FROM `tablename`; commit; diff --git a/tests/data/parser/parseTransaction3.out b/tests/data/parser/parseTransaction3.out index e0bb18259..50f4e5de1 100644 --- a/tests/data/parser/parseTransaction3.out +++ b/tests/data/parser/parseTransaction3.out @@ -1,10 +1,10 @@ { - "query": "begin;\nSELECT * FROM `tablename`\ncommit;\n", + "query": "begin;\nSELECT * FROM `tablename`;\ncommit;\n", "lexer": { "@type": "PhpMyAdmin\\SqlParser\\Lexer", - "str": "begin;\nSELECT * FROM `tablename`\ncommit;\n", - "len": 41, - "last": 41, + "str": "begin;\nSELECT * FROM `tablename`;\ncommit;\n", + "len": 42, + "last": 42, "list": { "@type": "PhpMyAdmin\\SqlParser\\TokensList", "tokens": [ @@ -98,6 +98,15 @@ "flags": 2, "position": 21 }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ";", + "value": ";", + "keyword": null, + "type": 9, + "flags": 0, + "position": 32 + }, { "@type": "PhpMyAdmin\\SqlParser\\Token", "token": "\n", @@ -105,7 +114,7 @@ "keyword": null, "type": 3, "flags": 0, - "position": 32 + "position": 33 }, { "@type": "PhpMyAdmin\\SqlParser\\Token", @@ -114,7 +123,7 @@ "keyword": "COMMIT", "type": 1, "flags": 1, - "position": 33 + "position": 34 }, { "@type": "PhpMyAdmin\\SqlParser\\Token", @@ -123,7 +132,7 @@ "keyword": null, "type": 9, "flags": 0, - "position": 39 + "position": 40 }, { "@type": "PhpMyAdmin\\SqlParser\\Token", @@ -132,7 +141,7 @@ "keyword": null, "type": 3, "flags": 0, - "position": 40 + "position": 41 }, { "@type": "PhpMyAdmin\\SqlParser\\Token", @@ -144,8 +153,8 @@ "position": null } ], - "count": 15, - "idx": 15 + "count": 16, + "idx": 16 }, "delimiter": ";", "delimiterLen": 1, @@ -202,7 +211,7 @@ "options": [] }, "first": 1, - "last": 10 + "last": 9 } ], "brackets": 0, @@ -211,14 +220,6 @@ }, "errors": { "lexer": [], - "parser": [ - [ - "A new statement was found, but no delimiter between it and the previous one.", - { - "@type": "@13" - }, - 0 - ] - ] + "parser": [] } } \ No newline at end of file