summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Ungureanu <udan1107@gmail.com>2015-06-22 20:06:18 +0300
committerDan Ungureanu <udan1107@gmail.com>2015-06-22 20:06:18 +0300
commitcb58d8c0eea3ffda06f96d7131bbcf90a6e602ab (patch)
treebd42c95885d3713c07c6f8aeab90c5d73075263a /src
parent928478f86310f767a8948786470ac895b714cae3 (diff)
downloadsql-parser-cb58d8c0eea3ffda06f96d7131bbcf90a6e602ab.zip
sql-parser-cb58d8c0eea3ffda06f96d7131bbcf90a6e602ab.tar.gz
sql-parser-cb58d8c0eea3ffda06f96d7131bbcf90a6e602ab.tar.bz2
Added table utilities.
Refactoring and bug fixing.
Diffstat (limited to 'src')
-rw-r--r--src/Context.php225
-rw-r--r--src/Contexts/ContextMySql50000.php302
-rw-r--r--src/Contexts/ContextMySql50100.php328
-rw-r--r--src/Contexts/ContextMySql50500.php335
-rw-r--r--src/Contexts/ContextMySql50600.php355
-rw-r--r--src/Contexts/ContextMySql50700.php369
-rw-r--r--src/Fragments/DataTypeFragment.php4
-rw-r--r--src/Fragments/FieldDefFragment.php35
-rw-r--r--src/Fragments/OptionsFragment.php42
-rw-r--r--src/Token.php15
-rw-r--r--src/Utils/Misc.php4
-rw-r--r--src/Utils/Table.php69
12 files changed, 984 insertions, 1099 deletions
diff --git a/src/Context.php b/src/Context.php
index b04adc1..eed10d3 100644
--- a/src/Context.php
+++ b/src/Context.php
@@ -3,7 +3,7 @@
namespace SqlParser;
/**
- * Default MySQL context (based on MySQL 5.7).
+ * Default MySQL context.
*
* @category Contexts
* @package SqlParser
@@ -72,225 +72,7 @@ abstract class Context
*
* @var array
*/
- public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'GET' => 1, 'INT' => 1, 'KEY' => 1,
- 'MOD' => 1, 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1,
- 'SSL' => 1, 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'RANGE' => 1,
- 'READS' => 1, 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1,
- 'UNION' => 1, 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1,
- 'WHILE' => 1, 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'LINEAR' => 1, 'OPTION' => 1, 'REGEXP' => 1,
- 'RENAME' => 1, 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1,
- 'SCHEMA' => 1, 'SELECT' => 1, 'SIGNAL' => 1, 'STORED' => 1,
- 'UNIQUE' => 1, 'UNLOCK' => 1, 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'VIRTUAL' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MAXVALUE' => 1, 'MODIFIES' => 1,
- 'OPTIMIZE' => 1, 'RESIGNAL' => 1, 'RESTRICT' => 1,
- 'SMALLINT' => 1, 'SPECIFIC' => 1, 'SQLSTATE' => 1,
- 'STARTING' => 1, 'TINYBLOB' => 1, 'TINYTEXT' => 1,
- 'TRAILING' => 1, 'UNSIGNED' => 1, 'UTC_DATE' => 1,
- 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'GENERATED' => 1, 'LOCALTIME' => 1, 'MEDIUMINT' => 1,
- 'MIDDLEINT' => 1, 'PARTITION' => 1, 'PRECISION' => 1,
- 'PROCEDURE' => 1, 'SENSITIVE' => 1, 'SEPARATOR' => 1,
- 'VARBINARY' => 1,
- 'ACCESSIBLE' => 1, 'ASENSITIVE' => 1, 'CONSTRAINT' => 1,
- 'DAY_MINUTE' => 1, 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1,
- 'MEDIUMTEXT' => 1, 'OPTIONALLY' => 1, 'READ_WRITE' => 1,
- 'REFERENCES' => 1, 'SQLWARNING' => 1, 'TERMINATED' => 1,
- 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1, 'MASTER_BIND' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'IO_AFTER_GTIDS' => 1, 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1, 'IO_BEFORE_GTIDS' => 1, 'OPTIMIZER_COSTS' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 1,
-
- 'AT' => 2, 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2, 'END' => 2,
- 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2, 'XID' => 2,
- 'XML' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'DISK' => 2, 'ENDS' => 2, 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2,
- 'HASH' => 2, 'HELP' => 2, 'HOST' => 2, 'HOUR' => 2, 'LAST' => 2, 'LESS' => 2,
- 'LIST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2, 'NONE' => 2,
- 'ONLY' => 2, 'OPEN' => 2, 'PAGE' => 2, 'PORT' => 2, 'PREV' => 2, 'ROWS' => 2,
- 'SLOW' => 2, 'SOME' => 2, 'STOP' => 2, 'TEXT' => 2, 'THAN' => 2, 'TIME' => 2,
- 'TYPE' => 2, 'USER' => 2, 'VIEW' => 2, 'WAIT' => 2, 'WEEK' => 2, 'WORK' => 2,
- 'X509' => 2, 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'ERROR' => 2, 'EVENT' => 2,
- 'EVERY' => 2, 'FIRST' => 2, 'FIXED' => 2, 'FLUSH' => 2, 'FOUND' => 2,
- 'HOSTS' => 2, 'LEVEL' => 2, 'LOCAL' => 2, 'LOCKS' => 2, 'MERGE' => 2,
- 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2, 'NCHAR' => 2, 'NEVER' => 2,
- 'OWNER' => 2, 'PHASE' => 2, 'POINT' => 2, 'PROXY' => 2, 'QUERY' => 2,
- 'QUICK' => 2, 'RELAY' => 2, 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2,
- 'SLAVE' => 2, 'START' => 2, 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2,
- 'UNTIL' => 2, 'VALUE' => 2,
- 'ACTION' => 2, 'ALWAYS' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2,
- 'CLIENT' => 2, 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2,
- 'ESCAPE' => 2, 'EVENTS' => 2, 'EXPIRE' => 2, 'EXPORT' => 2, 'FAULTS' => 2,
- 'FIELDS' => 2, 'FILTER' => 2, 'FORMAT' => 2, 'GLOBAL' => 2, 'GRANTS' => 2,
- 'IMPORT' => 2, 'ISSUER' => 2, 'LEAVES' => 2, 'MASTER' => 2, 'MEDIUM' => 2,
- 'MEMORY' => 2, 'MINUTE' => 2, 'MODIFY' => 2, 'NUMBER' => 2, 'OFFSET' => 2,
- 'PARSER' => 2, 'PLUGIN' => 2, 'RELOAD' => 2, 'REMOVE' => 2, 'REPAIR' => 2,
- 'RESUME' => 2, 'ROLLUP' => 2, 'SECOND' => 2, 'SERIAL' => 2, 'SERVER' => 2,
- 'SIGNED' => 2, 'SIMPLE' => 2, 'SOCKET' => 2, 'SONAME' => 2, 'SOUNDS' => 2,
- 'SOURCE' => 2, 'STARTS' => 2, 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'ACCOUNT' => 2, 'AGAINST' => 2, 'ANALYSE' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2,
- 'CHANNEL' => 2, 'CHARSET' => 2, 'COLUMNS' => 2, 'COMMENT' => 2, 'COMPACT' => 2,
- 'CONTEXT' => 2, 'CURRENT' => 2, 'DEFINER' => 2, 'DISABLE' => 2, 'DISCARD' => 2,
- 'DYNAMIC' => 2, 'ENGINES' => 2, 'EXECUTE' => 2, 'FOLLOWS' => 2, 'GENERAL' => 2,
- 'HANDLER' => 2, 'INDEXES' => 2, 'INSTALL' => 2, 'INVOKER' => 2, 'LOGFILE' => 2,
- 'MIGRATE' => 2, 'NO_WAIT' => 2, 'OPTIONS' => 2, 'PARTIAL' => 2, 'PLUGINS' => 2,
- 'POLYGON' => 2, 'PREPARE' => 2, 'PROFILE' => 2, 'QUARTER' => 2, 'REBUILD' => 2,
- 'RECOVER' => 2, 'RESTORE' => 2, 'RETURNS' => 2, 'REVERSE' => 2, 'ROUTINE' => 2,
- 'SESSION' => 2, 'STACKED' => 2, 'STORAGE' => 2, 'SUBJECT' => 2, 'SUSPEND' => 2,
- 'UNICODE' => 2, 'UNKNOWN' => 2, 'UPGRADE' => 2, 'USE_FRM' => 2, 'WITHOUT' => 2,
- 'WRAPPER' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'COALESCE' => 2, 'CONTAINS' => 2,
- 'DATAFILE' => 2, 'DATETIME' => 2, 'DUMPFILE' => 2, 'EXCHANGE' => 2,
- 'EXTENDED' => 2, 'FUNCTION' => 2, 'GEOMETRY' => 2, 'LANGUAGE' => 2,
- 'MAX_ROWS' => 2, 'MAX_SIZE' => 2, 'MIN_ROWS' => 2, 'NATIONAL' => 2,
- 'NVARCHAR' => 2, 'PASSWORD' => 2, 'PRECEDES' => 2, 'PRESERVE' => 2,
- 'PROFILES' => 2, 'REDOFILE' => 2, 'RELAYLOG' => 2, 'ROLLBACK' => 2,
- 'SCHEDULE' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2, 'SNAPSHOT' => 2,
- 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2, 'UNDOFILE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'NODEGROUP' => 2, 'PACK_KEYS' => 2, 'READ_ONLY' => 2,
- 'REDUNDANT' => 2, 'ROW_COUNT' => 2, 'SAVEPOINT' => 2, 'SQL_CACHE' => 2,
- 'TEMPORARY' => 2, 'TEMPTABLE' => 2, 'TIMESTAMP' => 2, 'UNDEFINED' => 2,
- 'UNINSTALL' => 2, 'VARIABLES' => 2,
- 'COMPLETION' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2, 'CONNECTION' => 2,
- 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2, 'IDENTIFIED' => 2,
- 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2, 'NDBCLUSTER' => 2,
- 'PARTITIONS' => 2, 'PLUGIN_DIR' => 2, 'PRIVILEGES' => 2, 'REORGANIZE' => 2,
- 'REPEATABLE' => 2, 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2, 'TABLESPACE' => 2,
- 'TABLE_NAME' => 2, 'VALIDATION' => 2,
- 'COLUMN_NAME' => 2, 'COMPRESSION' => 2, 'CURSOR_NAME' => 2, 'DIAGNOSTICS' => 2,
- 'EXTENT_SIZE' => 2, 'MASTER_HOST' => 2, 'MASTER_PORT' => 2, 'MASTER_USER' => 2,
- 'MICROSECOND' => 2, 'MYSQL_ERRNO' => 2, 'NONBLOCKING' => 2, 'PROCESSLIST' => 2,
- 'REPLICATION' => 2, 'SCHEMA_NAME' => 2, 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2,
- 'UNCOMMITTED' => 2,
- 'CATALOG_NAME' => 2, 'CLASS_ORIGIN' => 2, 'DEFAULT_AUTH' => 2,
- 'DES_KEY_FILE' => 2, 'INITIAL_SIZE' => 2, 'MASTER_DELAY' => 2,
- 'MESSAGE_TEXT' => 2, 'MULTIPOLYGON' => 2, 'OLD_PASSWORD' => 2,
- 'PARTITIONING' => 2, 'RELAY_THREAD' => 2, 'SERIALIZABLE' => 2,
- 'SQL_NO_CACHE' => 2, 'SQL_TSI_HOUR' => 2, 'SQL_TSI_WEEK' => 2,
- 'SQL_TSI_YEAR' => 2, 'SUBPARTITION' => 2, 'TIMESTAMPADD' => 2,
- 'COLUMN_FORMAT' => 2, 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2,
- 'RELAY_LOG_POS' => 2, 'SQL_TSI_MONTH' => 2, 'SUBPARTITIONS' => 2,
- 'TIMESTAMPDIFF' => 2, 'WEIGHT_STRING' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'KEY_BLOCK_SIZE' => 2,
- 'MASTER_LOG_POS' => 2, 'MASTER_SSL_CRL' => 2, 'MASTER_SSL_KEY' => 2,
- 'RELAY_LOG_FILE' => 2, 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2,
- 'TABLE_CHECKSUM' => 2, 'USER_RESOURCES' => 2,
- 'AUTOEXTEND_SIZE' => 2, 'CONSTRAINT_NAME' => 2, 'DELAY_KEY_WRITE' => 2,
- 'FILE_BLOCK_SIZE' => 2, 'MASTER_LOG_FILE' => 2, 'MASTER_PASSWORD' => 2,
- 'MASTER_SSL_CERT' => 2, 'MULTILINESTRING' => 2, 'PARSE_GCOL_EXPR' => 2,
- 'REPLICATE_DO_DB' => 2, 'SQL_AFTER_GTIDS' => 2, 'SQL_TSI_QUARTER' => 2,
- 'SUBCLASS_ORIGIN' => 2,
- 'MASTER_SERVER_ID' => 2, 'REDO_BUFFER_SIZE' => 2, 'SQL_BEFORE_GTIDS' => 2,
- 'STATS_PERSISTENT' => 2, 'UNDO_BUFFER_SIZE' => 2,
- 'CONSTRAINT_SCHEMA' => 2, 'GROUP_REPLICATION' => 2, 'IGNORE_SERVER_IDS' => 2,
- 'MASTER_SSL_CAPATH' => 2, 'MASTER_SSL_CIPHER' => 2, 'RETURNED_SQLSTATE' => 2,
- 'SQL_BUFFER_RESULT' => 2, 'STATS_AUTO_RECALC' => 2,
- 'CONSTRAINT_CATALOG' => 2, 'GEOMETRYCOLLECTION' => 2, 'MASTER_RETRY_COUNT' => 2,
- 'MASTER_SSL_CRLPATH' => 2, 'MAX_STATEMENT_TIME' => 2, 'REPLICATE_DO_TABLE' => 2,
- 'SQL_AFTER_MTS_GAPS' => 2, 'STATS_SAMPLE_PAGES' => 2,
- 'REPLICATE_IGNORE_DB' => 2,
- 'MASTER_AUTO_POSITION' => 2, 'MASTER_CONNECT_RETRY' => 2,
- 'MAX_QUERIES_PER_HOUR' => 2, 'MAX_UPDATES_PER_HOUR' => 2,
- 'MAX_USER_CONNECTIONS' => 2, 'REPLICATE_REWRITE_DB' => 2,
- 'REPLICATE_IGNORE_TABLE' => 2,
- 'MASTER_HEARTBEAT_PERIOD' => 2, 'REPLICATE_WILD_DO_TABLE' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
- 'REPLICATE_WILD_IGNORE_TABLE' => 2,
-
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
- );
-
- // -------------------------------------------------------------------------
- // Keys and Data Types.
-
- /**
- * Types of keys.
- *
- * @var array
- */
- public static $KEY_TYPES = array(
- 'FOREIGN KEY' => 1, 'FULLTEXT INDEX' => 1, 'FULLTEXT KEY' => 1,
- 'INDEX KEY' => 1, 'INDEX' => 1, 'KEY' => 1, 'PRIMARY KEY' => 1,
- 'SPATIAL INDEX' => 1, 'SPATIAL KEY' => 1, 'UNIQUE INDEX' => 1,
- 'UNIQUE KEY' => 1, 'UNIQUE' => 1,
- );
-
- /**
- * All data types.
- *
- * @var array
- */
- public static $DATA_TYPES = array(
- 'ARRAY' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'BINARY VARYING' => 1,
- 'BLOB' => 1, 'BOOLEAN' => 1, 'CHAR' => 1, 'CHARACTER' => 1, 'DATE' => 1,
- 'DATETIME' => 1, 'DECIMAL' => 1, 'DOUBLE' => 1, 'ENUM' => 1,
- 'FLOAT' => 1, 'INT' => 1, 'INTEGER' => 1, 'INTERVAL' => 1,
- 'LONGBLOB' => 1, 'LONGTEXT' => 1, 'MEDIUMBLOB' => 1, 'MEDIUMINT' => 1,
- 'MEDIUMTEXT' => 1, 'MULTISET' => 1, 'NUMERIC' => 1, 'REAL' => 1,
- 'SET' => 1, 'SMALLINT' => 1, 'TEXT' => 1, 'TIME' => 1, 'TIMESTAMP' => 1,
- 'TINYBLOB' => 1, 'TINYINT' => 1, 'TINYTEXT' => 1, 'VARBINARY' => 1,
- 'VARCHAR' => 1, 'XML' => 1, 'YEAR' => 1
- );
+ public static $KEYWORDS = array();
// -------------------------------------------------------------------------
// Operators.
@@ -635,3 +417,6 @@ abstract class Context
self::$KEYWORDS = $context::$KEYWORDS;
}
}
+
+// Initializng the default context.
+Context::load();
diff --git a/src/Contexts/ContextMySql50000.php b/src/Contexts/ContextMySql50000.php
index e54373d..fa7ab1d 100644
--- a/src/Contexts/ContextMySql50000.php
+++ b/src/Contexts/ContextMySql50000.php
@@ -5,7 +5,7 @@ namespace SqlParser\Contexts;
use SqlParser\Context;
/**
- * Context for MySQL 5.0.
+ * Context for MySQL 5.
*
* @category Contexts
* @package SqlParser
@@ -18,155 +18,161 @@ class ContextMySql50000 extends Context
public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'INT' => 1, 'KEY' => 1, 'MOD' => 1,
- 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1, 'SSL' => 1,
- 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'READS' => 1,
- 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1, 'UNION' => 1,
- 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1, 'WHILE' => 1,
- 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'OPTION' => 1, 'REGEXP' => 1, 'RENAME' => 1,
- 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1, 'SCHEMA' => 1,
- 'SELECT' => 1, 'SONAME' => 1, 'UNIQUE' => 1, 'UNLOCK' => 1,
- 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MODIFIES' => 1, 'OPTIMIZE' => 1,
- 'RESTRICT' => 1, 'SMALLINT' => 1, 'SPECIFIC' => 1,
- 'SQLSTATE' => 1, 'STARTING' => 1, 'TINYBLOB' => 1,
- 'TINYTEXT' => 1, 'TRAILING' => 1, 'UNSIGNED' => 1,
- 'UTC_DATE' => 1, 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'LOCALTIME' => 1, 'MEDIUMINT' => 1, 'MIDDLEINT' => 1,
- 'PRECISION' => 1, 'PROCEDURE' => 1, 'SENSITIVE' => 1,
- 'SEPARATOR' => 1, 'VARBINARY' => 1,
- 'ASENSITIVE' => 1, 'CONSTRAINT' => 1, 'DAY_MINUTE' => 1,
- 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1, 'MEDIUMTEXT' => 1,
- 'OPTIONALLY' => 1, 'REFERENCES' => 1, 'SQLWARNING' => 1,
- 'TERMINATED' => 1, 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
+ 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
+ 'ANY' => 1, 'AVG' => 1, 'BDB' => 1, 'BIT' => 1, 'CPU' => 1, 'DAY' => 1,
+ 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
+ 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'FAST' => 1,
+ 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOUR' => 1, 'LAST' => 1,
+ 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1,
+ 'PAGE' => 1, 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'TYPE' => 1,
+ 'USER' => 1, 'VIEW' => 1, 'WEEK' => 1, 'WORK' => 1, 'X509' => 1,
+ 'AFTER' => 1, 'ASCII' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1,
+ 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'FIRST' => 1, 'FIXED' => 1,
+ 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1,
+ 'LOCKS' => 1, 'MERGE' => 1, 'MONTH' => 1, 'MUTEX' => 1, 'NAMES' => 1,
+ 'NCHAR' => 1, 'PHASE' => 1, 'POINT' => 1, 'QUERY' => 1, 'QUICK' => 1,
+ 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1,
+ 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1,
+ 'VALUE' => 1,
+ 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
+ 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
+ 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
+ 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
+ 'MEDIUM' => 1, 'MEMORY' => 1, 'MINUTE' => 1, 'MODIFY' => 1, 'OFFSET' => 1,
+ 'RELOAD' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SECOND' => 1,
+ 'SERIAL' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOUNDS' => 1, 'SOURCE' => 1,
+ 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
+ 'AGAINST' => 1, 'CHANGED' => 1, 'CHARSET' => 1, 'COLUMNS' => 1, 'COMMENT' => 1,
+ 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1,
+ 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1,
+ 'INVOKER' => 1, 'MIGRATE' => 1, 'PARTIAL' => 1, 'POLYGON' => 1, 'PREPARE' => 1,
+ 'PROFILE' => 1, 'QUARTER' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1,
+ 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'STRIPED' => 1, 'SUBJECT' => 1,
+ 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1,
+ 'CASCADED' => 1, 'CHECKSUM' => 1, 'CONTAINS' => 1, 'DUMPFILE' => 1,
+ 'EXTENDED' => 1, 'FUNCTION' => 1, 'GEOMETRY' => 1, 'INNOBASE' => 1,
+ 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
+ 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PASSWORD' => 1, 'PROFILES' => 1,
+ 'ROLLBACK' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1,
+ 'SWITCHES' => 1, 'TRIGGERS' => 1, 'TRUNCATE' => 1, 'WARNINGS' => 1,
+ 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COLLATION' => 1, 'COMMITTED' => 1,
+ 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1,
+ 'ISOLATION' => 1, 'PACK_KEYS' => 1, 'RAID_TYPE' => 1, 'REDUNDANT' => 1,
+ 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
+ 'UNDEFINED' => 1, 'VARIABLES' => 1,
+ 'BERKELEYDB' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
+ 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'GET_FORMAT' => 1, 'IDENTIFIED' => 1,
+ 'LINESTRING' => 1, 'MASTER_SSL' => 1, 'MULTIPOINT' => 1, 'NDBCLUSTER' => 1,
+ 'PRIVILEGES' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1,
+ 'TABLESPACE' => 1,
+ 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
+ 'MICROSECOND' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1,
+ 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
+ 'DES_KEY_FILE' => 1, 'MULTIPOLYGON' => 1, 'OLD_PASSWORD' => 1,
+ 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1,
+ 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1,
+ 'TIMESTAMPADD' => 1,
+ 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1,
+ 'SQL_TSI_MONTH' => 1, 'TIMESTAMPDIFF' => 1,
+ 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'MASTER_LOG_POS' => 1,
+ 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1,
+ 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'USER_RESOURCES' => 1,
+ 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
+ 'MASTER_SSL_CERT' => 1, 'MULTILINESTRING' => 1, 'SQL_TSI_QUARTER' => 1,
+ 'MASTER_SERVER_ID' => 1,
+ 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
+ 'GEOMETRYCOLLECTION' => 1,
+ 'SQL_TSI_FRAC_SECOND' => 1,
+ 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
+ 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
+ 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BDB' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2,
- 'END' => 2, 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2, 'HASH' => 2, 'HELP' => 2,
- 'HOUR' => 2, 'LAST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2,
- 'NONE' => 2, 'OPEN' => 2, 'PAGE' => 2, 'PREV' => 2, 'ROWS' => 2, 'SOME' => 2,
- 'STOP' => 2, 'TEXT' => 2, 'TIME' => 2, 'TYPE' => 2, 'USER' => 2, 'VIEW' => 2,
- 'WEEK' => 2, 'WORK' => 2, 'X509' => 2, 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'FIRST' => 2, 'FIXED' => 2,
- 'FLUSH' => 2, 'FOUND' => 2, 'HOSTS' => 2, 'LEVEL' => 2, 'LOCAL' => 2,
- 'LOCKS' => 2, 'MERGE' => 2, 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2,
- 'NCHAR' => 2, 'PHASE' => 2, 'POINT' => 2, 'QUERY' => 2, 'QUICK' => 2,
- 'RAID0' => 2, 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2, 'SLAVE' => 2,
- 'START' => 2, 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2, 'UNTIL' => 2,
- 'VALUE' => 2,
- 'ACTION' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2, 'CLIENT' => 2,
- 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2, 'ESCAPE' => 2,
- 'EVENTS' => 2, 'FAULTS' => 2, 'FIELDS' => 2, 'GLOBAL' => 2, 'GRANTS' => 2,
- 'IMPORT' => 2, 'INNODB' => 2, 'ISSUER' => 2, 'LEAVES' => 2, 'MASTER' => 2,
- 'MEDIUM' => 2, 'MEMORY' => 2, 'MINUTE' => 2, 'MODIFY' => 2, 'OFFSET' => 2,
- 'RELOAD' => 2, 'REPAIR' => 2, 'RESUME' => 2, 'ROLLUP' => 2, 'SECOND' => 2,
- 'SERIAL' => 2, 'SIGNED' => 2, 'SIMPLE' => 2, 'SOUNDS' => 2, 'SOURCE' => 2,
- 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'AGAINST' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2, 'CHARSET' => 2, 'COLUMNS' => 2,
- 'COMMENT' => 2, 'COMPACT' => 2, 'CONTEXT' => 2, 'DEFINER' => 2, 'DISABLE' => 2,
- 'DISCARD' => 2, 'DYNAMIC' => 2, 'ENGINES' => 2, 'EXECUTE' => 2, 'HANDLER' => 2,
- 'INDEXES' => 2, 'INVOKER' => 2, 'MIGRATE' => 2, 'PARTIAL' => 2, 'POLYGON' => 2,
- 'PREPARE' => 2, 'PROFILE' => 2, 'QUARTER' => 2, 'RECOVER' => 2, 'RESTORE' => 2,
- 'RETURNS' => 2, 'ROUTINE' => 2, 'SESSION' => 2, 'STORAGE' => 2, 'STRIPED' => 2,
- 'SUBJECT' => 2, 'SUSPEND' => 2, 'UNICODE' => 2, 'UNKNOWN' => 2, 'UPGRADE' => 2,
- 'USE_FRM' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'CONTAINS' => 2, 'DATETIME' => 2,
- 'DUMPFILE' => 2, 'EXTENDED' => 2, 'FUNCTION' => 2, 'GEOMETRY' => 2,
- 'INNOBASE' => 2, 'LANGUAGE' => 2, 'MAX_ROWS' => 2, 'MIN_ROWS' => 2,
- 'NATIONAL' => 2, 'NVARCHAR' => 2, 'ONE_SHOT' => 2, 'PASSWORD' => 2,
- 'PROFILES' => 2, 'ROLLBACK' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2,
- 'SNAPSHOT' => 2, 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'PACK_KEYS' => 2, 'RAID_TYPE' => 2, 'REDUNDANT' => 2,
- 'SAVEPOINT' => 2, 'SQL_CACHE' => 2, 'TEMPORARY' => 2, 'TEMPTABLE' => 2,
- 'TIMESTAMP' => 2, 'UNDEFINED' => 2, 'VARIABLES' => 2,
- 'BERKELEYDB' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2, 'CONNECTION' => 2,
- 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2, 'IDENTIFIED' => 2,
- 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2, 'NDBCLUSTER' => 2,
- 'PRIVILEGES' => 2, 'REPEATABLE' => 2, 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2,
- 'TABLESPACE' => 2,
- 'FRAC_SECOND' => 2, 'MASTER_HOST' => 2, 'MASTER_PORT' => 2, 'MASTER_USER' => 2,
- 'MICROSECOND' => 2, 'PROCESSLIST' => 2, 'RAID_CHUNKS' => 2, 'REPLICATION' => 2,
- 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2, 'UNCOMMITTED' => 2,
- 'DES_KEY_FILE' => 2, 'MULTIPOLYGON' => 2, 'OLD_PASSWORD' => 2,
- 'RELAY_THREAD' => 2, 'SERIALIZABLE' => 2, 'SQL_NO_CACHE' => 2,
- 'SQL_TSI_HOUR' => 2, 'SQL_TSI_WEEK' => 2, 'SQL_TSI_YEAR' => 2,
- 'TIMESTAMPADD' => 2,
- 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2, 'RELAY_LOG_POS' => 2,
- 'SQL_TSI_MONTH' => 2, 'TIMESTAMPDIFF' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'MASTER_LOG_POS' => 2,
- 'MASTER_SSL_KEY' => 2, 'RAID_CHUNKSIZE' => 2, 'RELAY_LOG_FILE' => 2,
- 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2, 'USER_RESOURCES' => 2,
- 'DELAY_KEY_WRITE' => 2, 'MASTER_LOG_FILE' => 2, 'MASTER_PASSWORD' => 2,
- 'MASTER_SSL_CERT' => 2, 'MULTILINESTRING' => 2, 'SQL_TSI_QUARTER' => 2,
- 'MASTER_SERVER_ID' => 2,
- 'MASTER_SSL_CAPATH' => 2, 'MASTER_SSL_CIPHER' => 2, 'SQL_BUFFER_RESULT' => 2,
- 'GEOMETRYCOLLECTION' => 2,
- 'SQL_TSI_FRAC_SECOND' => 2,
- 'MASTER_CONNECT_RETRY' => 2, 'MAX_QUERIES_PER_HOUR' => 2,
- 'MAX_UPDATES_PER_HOUR' => 2, 'MAX_USER_CONNECTIONS' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
+ 'AS' => 3, 'BY' => 3, 'IF' => 3, 'IN' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3,
+ 'TO' => 3,
+ 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
+ 'FOR' => 3, 'MOD' => 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, 'INT1' => 3, 'INT2' => 3,
+ 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
+ 'KILL' => 3, 'LEFT' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3,
+ 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
+ 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
+ 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
+ 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
+ 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'MATCH' => 3, 'ORDER' => 3,
+ 'OUTER' => 3, 'PURGE' => 3, 'READS' => 3, 'RIGHT' => 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, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
+ 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'INSERT' => 3, 'OPTION' => 3,
+ 'REGEXP' => 3, 'RENAME' => 3, 'REPEAT' => 3, 'RETURN' => 3, 'REVOKE' => 3,
+ 'SCHEMA' => 3, 'SELECT' => 3, 'SONAME' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
+ 'VALUES' => 3,
+ 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'CONVERT' => 3,
+ 'DECLARE' => 3, 'DEFAULT' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3,
+ 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3,
+ 'PRIMARY' => 3, 'RELEASE' => 3, 'REPLACE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3,
+ 'SPATIAL' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
+ 'CONTINUE' => 3, 'DATABASE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3,
+ 'DISTINCT' => 3, 'ENCLOSED' => 3, 'FULLTEXT' => 3, 'MODIFIES' => 3,
+ 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
+ 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'UTC_DATE' => 3,
+ 'UTC_TIME' => 3, 'ZEROFILL' => 3,
+ 'CONDITION' => 3, 'DATABASES' => 3, 'LOCALTIME' => 3, 'MIDDLEINT' => 3,
+ 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
+ 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3,
+ 'OPTIONALLY' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3,
+ 'YEAR_MONTH' => 3,
+ 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
+ 'CURRENT_DATE' => 3, 'CURRENT_TIME' => 3, 'CURRENT_USER' => 3,
+ 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
+ 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
+ 'STRAIGHT_JOIN' => 3, 'UTC_TIMESTAMP' => 3,
+ 'LOCALTIMESTAMP' => 3, 'SQL_BIG_RESULT' => 3,
+ 'DAY_MICROSECOND' => 3,
+ 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
+ 'CURRENT_TIMESTAMP' => 3,
+ 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
+ 'SQL_CALC_FOUND_ROWS' => 3,
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
+ 'NOT NULL' => 5,
+ 'ON UPDATE' => 5,
+ 'CHARACTER SET' => 5, 'IF NOT EXISTS' => 5,
+ 'DATA DIRECTORY' => 5,
+ 'DEFAULT COLLATE' => 5, 'INDEX DIRECTORY' => 5,
+ 'DEFAULT CHARACTER SET' => 5,
+
+ 'XML' => 9,
+ 'DATE' => 9, 'ENUM' => 9, 'TEXT' => 9, 'TIME' => 9, 'YEAR' => 9,
+ 'ARRAY' => 9,
+ 'BOOLEAN' => 9,
+ 'DATETIME' => 9, 'MULTISET' => 9,
+ 'TIMESTAMP' => 9,
+
+ 'INT' => 11, 'SET' => 11,
+ 'BLOB' => 11, 'CHAR' => 11, 'REAL' => 11,
+ 'FLOAT' => 11,
+ 'BIGINT' => 11, 'BINARY' => 11, 'DOUBLE' => 11,
+ 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
+ 'INTERVAL' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11,
+ 'TINYBLOB' => 11, 'TINYTEXT' => 11,
+ 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
+ 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
+
+ 'BINARY VARYING' => 13,
+
+ 'KEY' => 19,
+ 'INDEX' => 19,
+ 'UNIQUE' => 19,
+
+ 'INDEX KEY' => 21,
+ 'UNIQUE KEY' => 21,
+ 'FOREIGN KEY' => 21, 'PRIMARY KEY' => 21, 'SPATIAL KEY' => 21,
+ 'FULLTEXT KEY' => 21, 'UNIQUE INDEX' => 21,
+ 'SPATIAL INDEX' => 21,
+ 'FULLTEXT INDEX' => 21,
);
}
diff --git a/src/Contexts/ContextMySql50100.php b/src/Contexts/ContextMySql50100.php
index f853c9a..4822141 100644
--- a/src/Contexts/ContextMySql50100.php
+++ b/src/Contexts/ContextMySql50100.php
@@ -18,169 +18,175 @@ class ContextMySql50100 extends Context
public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'INT' => 1, 'KEY' => 1, 'MOD' => 1,
- 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1, 'SSL' => 1,
- 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'RANGE' => 1,
- 'READS' => 1, 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1,
- 'UNION' => 1, 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1,
- 'WHILE' => 1, 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'LINEAR' => 1, 'OPTION' => 1, 'REGEXP' => 1,
- 'RENAME' => 1, 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1,
- 'SCHEMA' => 1, 'SELECT' => 1, 'UNIQUE' => 1, 'UNLOCK' => 1,
- 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MODIFIES' => 1, 'OPTIMIZE' => 1,
- 'RESTRICT' => 1, 'SMALLINT' => 1, 'SPECIFIC' => 1,
- 'SQLSTATE' => 1, 'STARTING' => 1, 'TINYBLOB' => 1,
- 'TINYTEXT' => 1, 'TRAILING' => 1, 'UNSIGNED' => 1,
- 'UTC_DATE' => 1, 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'LOCALTIME' => 1, 'MEDIUMINT' => 1, 'MIDDLEINT' => 1,
- 'PRECISION' => 1, 'PROCEDURE' => 1, 'SENSITIVE' => 1,
- 'SEPARATOR' => 1, 'VARBINARY' => 1,
- 'ACCESSIBLE' => 1, 'ASENSITIVE' => 1, 'CONSTRAINT' => 1,
- 'DAY_MINUTE' => 1, 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1,
- 'MEDIUMTEXT' => 1, 'OPTIONALLY' => 1, 'READ_WRITE' => 1,
- 'REFERENCES' => 1, 'SQLWARNING' => 1, 'TERMINATED' => 1,
- 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 1,
+ 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
+ 'ANY' => 1, 'AVG' => 1, 'BDB' => 1, 'BIT' => 1, 'CPU' => 1, 'DAY' => 1,
+ 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
+ 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
+ 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'GOTO' => 1, 'HASH' => 1,
+ 'HELP' => 1, 'HOST' => 1, 'HOUR' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1,
+ 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1,
+ 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1,
+ 'THAN' => 1, 'TYPE' => 1, 'USER' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WEEK' => 1,
+ 'WORK' => 1, 'X509' => 1,
+ 'AFTER' => 1, 'ASCII' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1,
+ 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'EVENT' => 1, 'EVERY' => 1,
+ 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
+ 'LABEL' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1,
+ 'MONTH' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1,
+ 'PHASE' => 1, 'POINT' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RAID0' => 1,
+ 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1,
+ 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
+ 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
+ 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
+ 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
+ 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
+ 'MEDIUM' => 1, 'MEMORY' => 1, 'MINUTE' => 1, 'MODIFY' => 1, 'OFFSET' => 1,
+ 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1,
+ 'RESUME' => 1, 'ROLLUP' => 1, 'SECOND' => 1, 'SERIAL' => 1, 'SERVER' => 1,
+ 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1,
+ 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
+ 'AGAINST' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'CHARSET' => 1, 'COLUMNS' => 1,
+ 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1,
+ 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1,
+ 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1,
+ 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'POLYGON' => 1,
+ 'PREPARE' => 1, 'PROFILE' => 1, 'QUARTER' => 1, 'REBUILD' => 1, 'RECOVER' => 1,
+ 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1,
+ 'STRIPED' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1,
+ 'UPGRADE' => 1, 'USE_FRM' => 1, 'WRAPPER' => 1,
+ 'CASCADED' => 1, 'CHECKSUM' => 1, 'COALESCE' => 1, 'CONTAINS' => 1,
+ 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1,
+ 'GEOMETRY' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAXVALUE' => 1,
+ 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
+ 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PASSWORD' => 1, 'PRESERVE' => 1,
+ 'PROFILES' => 1, 'REDOFILE' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
+ 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
+ 'TRIGGERS' => 1, 'TRUNCATE' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
+ 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COLLATION' => 1, 'COMMITTED' => 1,
+ 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1,
+ 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1,
+ 'RAID_TYPE' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1,
+ 'SCHEDULER' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
+ 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
+ 'BERKELEYDB' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1,
+ 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'GET_FORMAT' => 1,
+ 'IDENTIFIED' => 1, 'LINESTRING' => 1, 'MASTER_SSL' => 1, 'MULTIPOINT' => 1,
+ 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PRIVILEGES' => 1, 'REORGANISE' => 1,
+ 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1,
+ 'TABLESPACE' => 1,
+ 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1,
+ 'MASTER_USER' => 1, 'MICROSECOND' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1,
+ 'REPLICATION' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
+ 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1,
+ 'MULTIPOLYGON' => 1, 'OLD_PASSWORD' => 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, 'TIMESTAMPADD' => 1,
+ 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'PAGE_CHECKSUM' => 1,
+ 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
+ 'TIMESTAMPDIFF' => 1, 'TRANSACTIONAL' => 1,
+ 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
+ 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1,
+ 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
+ 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
+ 'AUTOEXTEND_SIZE' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1,
+ 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'MULTILINESTRING' => 1,
+ 'SQL_TSI_QUARTER' => 1,
+ 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1,
+ 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
+ 'GEOMETRYCOLLECTION' => 1,
+ 'SQL_TSI_FRAC_SECOND' => 1,
+ 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
+ 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
+ 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'AT' => 2, 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BDB' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2,
- 'END' => 2, 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'DISK' => 2, 'ENDS' => 2, 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2,
- 'GOTO' => 2, 'HASH' => 2, 'HELP' => 2, 'HOST' => 2, 'HOUR' => 2, 'LAST' => 2,
- 'LESS' => 2, 'LIST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2,
- 'NONE' => 2, 'OPEN' => 2, 'PAGE' => 2, 'PORT' => 2, 'PREV' => 2, 'ROWS' => 2,
- 'SOME' => 2, 'STOP' => 2, 'TEXT' => 2, 'THAN' => 2, 'TIME' => 2, 'TYPE' => 2,
- 'USER' => 2, 'VIEW' => 2, 'WAIT' => 2, 'WEEK' => 2, 'WORK' => 2, 'X509' => 2,
- 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'EVENT' => 2, 'EVERY' => 2,
- 'FIRST' => 2, 'FIXED' => 2, 'FLUSH' => 2, 'FOUND' => 2, 'HOSTS' => 2,
- 'LABEL' => 2, 'LEVEL' => 2, 'LOCAL' => 2, 'LOCKS' => 2, 'MERGE' => 2,
- 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2, 'NCHAR' => 2, 'OWNER' => 2,
- 'PHASE' => 2, 'POINT' => 2, 'QUERY' => 2, 'QUICK' => 2, 'RAID0' => 2,
- 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2, 'SLAVE' => 2, 'START' => 2,
- 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2, 'UNTIL' => 2, 'VALUE' => 2,
- 'ACTION' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2, 'CLIENT' => 2,
- 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2, 'ESCAPE' => 2,
- 'EVENTS' => 2, 'FAULTS' => 2, 'FIELDS' => 2, 'GLOBAL' => 2, 'GRANTS' => 2,
- 'IMPORT' => 2, 'INNODB' => 2, 'ISSUER' => 2, 'LEAVES' => 2, 'MASTER' => 2,
- 'MEDIUM' => 2, 'MEMORY' => 2, 'MINUTE' => 2, 'MODIFY' => 2, 'OFFSET' => 2,
- 'PARSER' => 2, 'PLUGIN' => 2, 'RELOAD' => 2, 'REMOVE' => 2, 'REPAIR' => 2,
- 'RESUME' => 2, 'ROLLUP' => 2, 'SECOND' => 2, 'SERIAL' => 2, 'SERVER' => 2,
- 'SIGNED' => 2, 'SIMPLE' => 2, 'SOCKET' => 2, 'SONAME' => 2, 'SOUNDS' => 2,
- 'SOURCE' => 2, 'STARTS' => 2, 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'AGAINST' => 2, 'AUTHORS' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2, 'CHARSET' => 2,
- 'COLUMNS' => 2, 'COMMENT' => 2, 'COMPACT' => 2, 'CONTEXT' => 2, 'DEFINER' => 2,
- 'DISABLE' => 2, 'DISCARD' => 2, 'DYNAMIC' => 2, 'ENGINES' => 2, 'EXECUTE' => 2,
- 'HANDLER' => 2, 'INDEXES' => 2, 'INSTALL' => 2, 'INVOKER' => 2, 'LOGFILE' => 2,
- 'MIGRATE' => 2, 'NO_WAIT' => 2, 'OPTIONS' => 2, 'PARTIAL' => 2, 'PLUGINS' => 2,
- 'POLYGON' => 2, 'PREPARE' => 2, 'PROFILE' => 2, 'QUARTER' => 2, 'REBUILD' => 2,
- 'RECOVER' => 2, 'RESTORE' => 2, 'RETURNS' => 2, 'ROUTINE' => 2, 'SESSION' => 2,
- 'STORAGE' => 2, 'STRIPED' => 2, 'SUBJECT' => 2, 'SUSPEND' => 2, 'UNICODE' => 2,
- 'UNKNOWN' => 2, 'UPGRADE' => 2, 'USE_FRM' => 2, 'WRAPPER' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'COALESCE' => 2, 'CONTAINS' => 2,
- 'DATAFILE' => 2, 'DATETIME' => 2, 'DUMPFILE' => 2, 'EXTENDED' => 2,
- 'FUNCTION' => 2, 'GEOMETRY' => 2, 'INNOBASE' => 2, 'LANGUAGE' => 2,
- 'MAXVALUE' => 2, 'MAX_ROWS' => 2, 'MAX_SIZE' => 2, 'MIN_ROWS' => 2,
- 'NATIONAL' => 2, 'NVARCHAR' => 2, 'ONE_SHOT' => 2, 'PASSWORD' => 2,
- 'PRESERVE' => 2, 'PROFILES' => 2, 'REDOFILE' => 2, 'ROLLBACK' => 2,
- 'SCHEDULE' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2, 'SNAPSHOT' => 2,
- 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2, 'UNDOFILE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'NODEGROUP' => 2, 'PACK_KEYS' => 2, 'PARTITION' => 2,
- 'RAID_TYPE' => 2, 'READ_ONLY' => 2, 'REDUNDANT' => 2, 'SAVEPOINT' => 2,
- 'SCHEDULER' => 2, 'SQL_CACHE' => 2, 'TEMPORARY' => 2, 'TEMPTABLE' => 2,
- 'TIMESTAMP' => 2, 'UNDEFINED' => 2, 'UNINSTALL' => 2, 'VARIABLES' => 2,
- 'BERKELEYDB' => 2, 'COMPLETION' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2,
- 'CONNECTION' => 2, 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2,
- 'IDENTIFIED' => 2, 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2,
- 'NDBCLUSTER' => 2, 'PARTITIONS' => 2, 'PRIVILEGES' => 2, 'REORGANISE' => 2,
- 'REORGANIZE' => 2, 'REPEATABLE' => 2, 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2,
- 'TABLESPACE' => 2,
- 'EXTENT_SIZE' => 2, 'FRAC_SECOND' => 2, 'MASTER_HOST' => 2, 'MASTER_PORT' => 2,
- 'MASTER_USER' => 2, 'MICROSECOND' => 2, 'PROCESSLIST' => 2, 'RAID_CHUNKS' => 2,
- 'REPLICATION' => 2, 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2, 'UNCOMMITTED' => 2,
- 'CONTRIBUTORS' => 2, 'DES_KEY_FILE' => 2, 'INITIAL_SIZE' => 2,
- 'MULTIPOLYGON' => 2, 'OLD_PASSWORD' => 2, 'PARTITIONING' => 2,
- 'RELAY_THREAD' => 2, 'SERIALIZABLE' => 2, 'SQL_NO_CACHE' => 2,
- 'SQL_TSI_HOUR' => 2, 'SQL_TSI_WEEK' => 2, 'SQL_TSI_YEAR' => 2,
- 'SUBPARTITION' => 2, 'TIMESTAMPADD' => 2,
- 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2, 'PAGE_CHECKSUM' => 2,
- 'RELAY_LOG_POS' => 2, 'SQL_TSI_MONTH' => 2, 'SUBPARTITIONS' => 2,
- 'TIMESTAMPDIFF' => 2, 'TRANSACTIONAL' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'KEY_BLOCK_SIZE' => 2,
- 'MASTER_LOG_POS' => 2, 'MASTER_SSL_KEY' => 2, 'RAID_CHUNKSIZE' => 2,
- 'RELAY_LOG_FILE' => 2, 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2,
- 'TABLE_CHECKSUM' => 2, 'USER_RESOURCES' => 2,
- 'AUTOEXTEND_SIZE' => 2, 'DELAY_KEY_WRITE' => 2, 'MASTER_LOG_FILE' => 2,
- 'MASTER_PASSWORD' => 2, 'MASTER_SSL_CERT' => 2, 'MULTILINESTRING' => 2,
- 'SQL_TSI_QUARTER' => 2,
- 'MASTER_SERVER_ID' => 2, 'REDO_BUFFER_SIZE' => 2, 'UNDO_BUFFER_SIZE' => 2,
- 'MASTER_SSL_CAPATH' => 2, 'MASTER_SSL_CIPHER' => 2, 'SQL_BUFFER_RESULT' => 2,
- 'GEOMETRYCOLLECTION' => 2,
- 'SQL_TSI_FRAC_SECOND' => 2,
- 'MASTER_CONNECT_RETRY' => 2, 'MAX_QUERIES_PER_HOUR' => 2,
- 'MAX_UPDATES_PER_HOUR' => 2, 'MAX_USER_CONNECTIONS' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
+ 'AS' => 3, 'BY' => 3, 'IF' => 3, 'IN' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3,
+ 'TO' => 3,
+ 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
+ 'FOR' => 3, 'MOD' => 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, 'INT1' => 3, 'INT2' => 3,
+ 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
+ 'KILL' => 3, 'LEFT' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3,
+ 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
+ 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
+ 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
+ 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
+ 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'MATCH' => 3, 'ORDER' => 3,
+ 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RIGHT' => 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, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
+ 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'INSERT' => 3, 'LINEAR' => 3,
+ 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'REPEAT' => 3, 'RETURN' => 3,
+ 'REVOKE' => 3, 'SCHEMA' => 3, 'SELECT' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
+ 'VALUES' => 3,
+ 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'CONVERT' => 3,
+ 'DECLARE' => 3, 'DEFAULT' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3,
+ 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3,
+ 'PRIMARY' => 3, 'RELEASE' => 3, 'REPLACE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3,
+ 'SPATIAL' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
+ 'CONTINUE' => 3, 'DATABASE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3,
+ 'DISTINCT' => 3, 'ENCLOSED' => 3, 'FULLTEXT' => 3, 'MODIFIES' => 3,
+ 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
+ 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'UTC_DATE' => 3,
+ 'UTC_TIME' => 3, 'ZEROFILL' => 3,
+ 'CONDITION' => 3, 'DATABASES' => 3, 'LOCALTIME' => 3, 'MIDDLEINT' => 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,
+ 'CURRENT_DATE' => 3, 'CURRENT_TIME' => 3, 'CURRENT_USER' => 3,
+ 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
+ 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
+ 'STRAIGHT_JOIN' => 3, 'UTC_TIMESTAMP' => 3,
+ 'LOCALTIMESTAMP' => 3, 'SQL_BIG_RESULT' => 3,
+ 'DAY_MICROSECOND' => 3,
+ 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
+ 'CURRENT_TIMESTAMP' => 3,
+ 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
+ 'SQL_CALC_FOUND_ROWS' => 3,
+ 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
+ 'NOT NULL' => 5,
+ 'ON UPDATE' => 5,
+ 'CHARACTER SET' => 5, 'IF NOT EXISTS' => 5,
+ 'DATA DIRECTORY' => 5,
+ 'DEFAULT COLLATE' => 5, 'INDEX DIRECTORY' => 5,
+ 'DEFAULT CHARACTER SET' => 5,
+
+ 'XML' => 9,
+ 'DATE' => 9, 'ENUM' => 9, 'TEXT' => 9, 'TIME' => 9, 'YEAR' => 9,
+ 'ARRAY' => 9,
+ 'BOOLEAN' => 9,
+ 'DATETIME' => 9, 'MULTISET' => 9,
+ 'TIMESTAMP' => 9,
+
+ 'INT' => 11, 'SET' => 11,
+ 'BLOB' => 11, 'CHAR' => 11, 'REAL' => 11,
+ 'FLOAT' => 11,
+ 'BIGINT' => 11, 'BINARY' => 11, 'DOUBLE' => 11,
+ 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
+ 'INTERVAL' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11,
+ 'TINYBLOB' => 11, 'TINYTEXT' => 11,
+ 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
+ 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
+
+ 'BINARY VARYING' => 13,
+
+ 'KEY' => 19,
+ 'INDEX' => 19,
+ 'UNIQUE' => 19,
+
+ 'INDEX KEY' => 21,
+ 'UNIQUE KEY' => 21,
+ 'FOREIGN KEY' => 21, 'PRIMARY KEY' => 21, 'SPATIAL KEY' => 21,
+ 'FULLTEXT KEY' => 21, 'UNIQUE INDEX' => 21,
+ 'SPATIAL INDEX' => 21,
+ 'FULLTEXT INDEX' => 21,
);
}
diff --git a/src/Contexts/ContextMySql50500.php b/src/Contexts/ContextMySql50500.php
index 9fe3e87..e0cea95 100644
--- a/src/Contexts/ContextMySql50500.php
+++ b/src/Contexts/ContextMySql50500.php
@@ -18,173 +18,178 @@ class ContextMySql50500 extends Context
public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'INT' => 1, 'KEY' => 1, 'MOD' => 1,
- 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1, 'SSL' => 1,
- 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'RANGE' => 1,
- 'READS' => 1, 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1,
- 'UNION' => 1, 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1,
- 'WHILE' => 1, 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'LINEAR' => 1, 'OPTION' => 1, 'REGEXP' => 1,
- 'RENAME' => 1, 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1,
- 'SCHEMA' => 1, 'SELECT' => 1, 'SIGNAL' => 1, 'UNIQUE' => 1,
- 'UNLOCK' => 1, 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MAXVALUE' => 1, 'MODIFIES' => 1,
- 'OPTIMIZE' => 1, 'RESIGNAL' => 1, 'RESTRICT' => 1,
- 'SMALLINT' => 1, 'SPECIFIC' => 1, 'SQLSTATE' => 1,
- 'STARTING' => 1, 'TINYBLOB' => 1, 'TINYTEXT' => 1,
- 'TRAILING' => 1, 'UNSIGNED' => 1, 'UTC_DATE' => 1,
- 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'LOCALTIME' => 1, 'MEDIUMINT' => 1, 'MIDDLEINT' => 1,
- 'PRECISION' => 1, 'PROCEDURE' => 1, 'SENSITIVE' => 1,
- 'SEPARATOR' => 1, 'VARBINARY' => 1,
- 'ACCESSIBLE' => 1, 'ASENSITIVE' => 1, 'CONSTRAINT' => 1,
- 'DAY_MINUTE' => 1, 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1,
- 'MEDIUMTEXT' => 1, 'OPTIONALLY' => 1, 'READ_WRITE' => 1,
- 'REFERENCES' => 1, 'SQLWARNING' => 1, 'TERMINATED' => 1,
- 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 1,
+ 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
+ 'ANY' => 1, 'AVG' => 1, 'BIT' => 1, 'CPU' => 1, 'DAY' => 1, 'END' => 1,
+ 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
+ 'BOOL' => 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, 'HOUR' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1,
+ 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1,
+ 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1,
+ 'THAN' => 1, 'TYPE' => 1, 'USER' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WEEK' => 1,
+ 'WORK' => 1, 'X509' => 1,
+ 'AFTER' => 1, 'ASCII' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1,
+ 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1,
+ 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1,
+ 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1,
+ 'MONTH' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1,
+ 'PHASE' => 1, 'POINT' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1,
+ 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1,
+ 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1,
+ 'VALUE' => 1,
+ 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
+ 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
+ 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
+ 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
+ 'MEDIUM' => 1, 'MEMORY' => 1, 'MINUTE' => 1, 'MODIFY' => 1, 'OFFSET' => 1,
+ 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1,
+ 'RESUME' => 1, 'ROLLUP' => 1, 'SECOND' => 1, 'SERIAL' => 1, 'SERVER' => 1,
+ 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1,
+ 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
+ 'AGAINST' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'CHARSET' => 1, 'COLUMNS' => 1,
+ 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1,
+ 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1,
+ 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1,
+ 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1,
+ 'POLYGON' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'QUARTER' => 1, 'REBUILD' => 1,
+ 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
+ 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1,
+ 'UPGRADE' => 1, 'USE_FRM' => 1, 'WRAPPER' => 1,
+ 'CASCADED' => 1, 'CHECKSUM' => 1, 'COALESCE' => 1, 'CONTAINS' => 1,
+ 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1,
+ 'GEOMETRY' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1,
+ 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1,
+ 'ONE_SHOT' => 1, 'PASSWORD' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
+ 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
+ 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
+ 'TRIGGERS' => 1, 'TRUNCATE' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
+ 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COLLATION' => 1, 'COMMITTED' => 1,
+ 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1,
+ 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1,
+ 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1,
+ 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1,
+ 'VARIABLES' => 1,
+ 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
+ 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'GET_FORMAT' => 1, 'IDENTIFIED' => 1,
+ 'LINESTRING' => 1, 'MASTER_SSL' => 1, 'MULTIPOINT' => 1, 'NDBCLUSTER' => 1,
+ 'PARTITIONS' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1,
+ 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1,
+ 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1,
+ 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MICROSECOND' => 1,
+ 'MYSQL_ERRNO' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1,
+ 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
+ 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1,
+ 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1,
+ 'MULTIPOLYGON' => 1, 'OLD_PASSWORD' => 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, 'TIMESTAMPADD' => 1,
+ 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1,
+ 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'TIMESTAMPDIFF' => 1,
+ 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
+ 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1,
+ 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1,
+ 'USER_RESOURCES' => 1,
+ 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
+ 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1,
+ 'MULTILINESTRING' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
+ 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1,
+ 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1,
+ 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
+ 'CONSTRAINT_CATALOG' => 1, 'GEOMETRYCOLLECTION' => 1,
+ 'SQL_TSI_FRAC_SECOND' => 1,
+ 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
+ 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
+ 'MASTER_HEARTBEAT_PERIOD' => 1,
+ 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'AT' => 2, 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2, 'END' => 2,
- 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2, 'XML' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'DISK' => 2, 'ENDS' => 2, 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2,
- 'HASH' => 2, 'HELP' => 2, 'HOST' => 2, 'HOUR' => 2, 'LAST' => 2, 'LESS' => 2,
- 'LIST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2, 'NONE' => 2,
- 'OPEN' => 2, 'PAGE' => 2, 'PORT' => 2, 'PREV' => 2, 'ROWS' => 2, 'SLOW' => 2,
- 'SOME' => 2, 'STOP' => 2, 'TEXT' => 2, 'THAN' => 2, 'TIME' => 2, 'TYPE' => 2,
- 'USER' => 2, 'VIEW' => 2, 'WAIT' => 2, 'WEEK' => 2, 'WORK' => 2, 'X509' => 2,
- 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'ERROR' => 2, 'EVENT' => 2,
- 'EVERY' => 2, 'FIRST' => 2, 'FIXED' => 2, 'FLUSH' => 2, 'FOUND' => 2,
- 'HOSTS' => 2, 'LEVEL' => 2, 'LOCAL' => 2, 'LOCKS' => 2, 'MERGE' => 2,
- 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2, 'NCHAR' => 2, 'OWNER' => 2,
- 'PHASE' => 2, 'POINT' => 2, 'PROXY' => 2, 'QUERY' => 2, 'QUICK' => 2,
- 'RELAY' => 2, 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2, 'SLAVE' => 2,
- 'START' => 2, 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2, 'UNTIL' => 2,
- 'VALUE' => 2,
- 'ACTION' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2, 'CLIENT' => 2,
- 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2, 'ESCAPE' => 2,
- 'EVENTS' => 2, 'FAULTS' => 2, 'FIELDS' => 2, 'GLOBAL' => 2, 'GRANTS' => 2,
- 'IMPORT' => 2, 'INNODB' => 2, 'ISSUER' => 2, 'LEAVES' => 2, 'MASTER' => 2,
- 'MEDIUM' => 2, 'MEMORY' => 2, 'MINUTE' => 2, 'MODIFY' => 2, 'OFFSET' => 2,
- 'PARSER' => 2, 'PLUGIN' => 2, 'RELOAD' => 2, 'REMOVE' => 2, 'REPAIR' => 2,
- 'RESUME' => 2, 'ROLLUP' => 2, 'SECOND' => 2, 'SERIAL' => 2, 'SERVER' => 2,
- 'SIGNED' => 2, 'SIMPLE' => 2, 'SOCKET' => 2, 'SONAME' => 2, 'SOUNDS' => 2,
- 'SOURCE' => 2, 'STARTS' => 2, 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'AGAINST' => 2, 'AUTHORS' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2, 'CHARSET' => 2,
- 'COLUMNS' => 2, 'COMMENT' => 2, 'COMPACT' => 2, 'CONTEXT' => 2, 'DEFINER' => 2,
- 'DISABLE' => 2, 'DISCARD' => 2, 'DYNAMIC' => 2, 'ENGINES' => 2, 'EXECUTE' => 2,
- 'GENERAL' => 2, 'HANDLER' => 2, 'INDEXES' => 2, 'INSTALL' => 2, 'INVOKER' => 2,
- 'LOGFILE' => 2, 'MIGRATE' => 2, 'NO_WAIT' => 2, 'OPTIONS' => 2, 'PARTIAL' => 2,
- 'PLUGINS' => 2, 'POLYGON' => 2, 'PREPARE' => 2, 'PROFILE' => 2, 'QUARTER' => 2,
- 'REBUILD' => 2, 'RECOVER' => 2, 'RESTORE' => 2, 'RETURNS' => 2, 'ROUTINE' => 2,
- 'SESSION' => 2, 'STORAGE' => 2, 'SUBJECT' => 2, 'SUSPEND' => 2, 'UNICODE' => 2,
- 'UNKNOWN' => 2, 'UPGRADE' => 2, 'USE_FRM' => 2, 'WRAPPER' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'COALESCE' => 2, 'CONTAINS' => 2,
- 'DATAFILE' => 2, 'DATETIME' => 2, 'DUMPFILE' => 2, 'EXTENDED' => 2,
- 'FUNCTION' => 2, 'GEOMETRY' => 2, 'INNOBASE' => 2, 'LANGUAGE' => 2,
- 'MAX_ROWS' => 2, 'MAX_SIZE' => 2, 'MIN_ROWS' => 2, 'NATIONAL' => 2,
- 'NVARCHAR' => 2, 'ONE_SHOT' => 2, 'PASSWORD' => 2, 'PRESERVE' => 2,
- 'PROFILES' => 2, 'REDOFILE' => 2, 'RELAYLOG' => 2, 'ROLLBACK' => 2,
- 'SCHEDULE' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2, 'SNAPSHOT' => 2,
- 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2, 'UNDOFILE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'NODEGROUP' => 2, 'PACK_KEYS' => 2, 'PARTITION' => 2,
- 'READ_ONLY' => 2, 'REDUNDANT' => 2, 'SAVEPOINT' => 2, 'SQL_CACHE' => 2,
- 'TEMPORARY' => 2, 'TEMPTABLE' => 2, 'TIMESTAMP' => 2, 'UNDEFINED' => 2,
- 'UNINSTALL' => 2, 'VARIABLES' => 2,
- 'COMPLETION' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2, 'CONNECTION' => 2,
- 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2, 'IDENTIFIED' => 2,
- 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2, 'NDBCLUSTER' => 2,
- 'PARTITIONS' => 2, 'PRIVILEGES' => 2, 'REORGANIZE' => 2, 'REPEATABLE' => 2,
- 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2, 'TABLESPACE' => 2, 'TABLE_NAME' => 2,
- 'COLUMN_NAME' => 2, 'CURSOR_NAME' => 2, 'EXTENT_SIZE' => 2, 'FRAC_SECOND' => 2,
- 'MASTER_HOST' => 2, 'MASTER_PORT' => 2, 'MASTER_USER' => 2, 'MICROSECOND' => 2,
- 'MYSQL_ERRNO' => 2, 'PROCESSLIST' => 2, 'REPLICATION' => 2, 'SCHEMA_NAME' => 2,
- 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2, 'UNCOMMITTED' => 2,
- 'CATALOG_NAME' => 2, 'CLASS_ORIGIN' => 2, 'CONTRIBUTORS' => 2,
- 'DES_KEY_FILE' => 2, 'INITIAL_SIZE' => 2, 'MESSAGE_TEXT' => 2,
- 'MULTIPOLYGON' => 2, 'OLD_PASSWORD' => 2, 'PARTITIONING' => 2,
- 'RELAY_THREAD' => 2, 'SERIALIZABLE' => 2, 'SQL_NO_CACHE' => 2,
- 'SQL_TSI_HOUR' => 2, 'SQL_TSI_WEEK' => 2, 'SQL_TSI_YEAR' => 2,
- 'SUBPARTITION' => 2, 'TIMESTAMPADD' => 2,
- 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2, 'RELAY_LOG_POS' => 2,
- 'SQL_TSI_MONTH' => 2, 'SUBPARTITIONS' => 2, 'TIMESTAMPDIFF' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'KEY_BLOCK_SIZE' => 2,
- 'MASTER_LOG_POS' => 2, 'MASTER_SSL_KEY' => 2, 'RELAY_LOG_FILE' => 2,
- 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2, 'TABLE_CHECKSUM' => 2,
- 'USER_RESOURCES' => 2,
- 'AUTOEXTEND_SIZE' => 2, 'CONSTRAINT_NAME' => 2, 'DELAY_KEY_WRITE' => 2,
- 'MASTER_LOG_FILE' => 2, 'MASTER_PASSWORD' => 2, 'MASTER_SSL_CERT' => 2,
- 'MULTILINESTRING' => 2, 'SQL_TSI_QUARTER' => 2, 'SUBCLASS_ORIGIN' => 2,
- 'MASTER_SERVER_ID' => 2, 'REDO_BUFFER_SIZE' => 2, 'UNDO_BUFFER_SIZE' => 2,
- 'CONSTRAINT_SCHEMA' => 2, 'IGNORE_SERVER_IDS' => 2, 'MASTER_SSL_CAPATH' => 2,
- 'MASTER_SSL_CIPHER' => 2, 'SQL_BUFFER_RESULT' => 2,
- 'CONSTRAINT_CATALOG' => 2, 'GEOMETRYCOLLECTION' => 2,
- 'SQL_TSI_FRAC_SECOND' => 2,
- 'MASTER_CONNECT_RETRY' => 2, 'MAX_QUERIES_PER_HOUR' => 2,
- 'MAX_UPDATES_PER_HOUR' => 2, 'MAX_USER_CONNECTIONS' => 2,
- 'MASTER_HEARTBEAT_PERIOD' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
+ 'AS' => 3, 'BY' => 3, 'IF' => 3, 'IN' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3,
+ 'TO' => 3,
+ 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
+ 'FOR' => 3, 'MOD' => 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, 'INT1' => 3, 'INT2' => 3,
+ 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
+ 'KILL' => 3, 'LEFT' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3,
+ 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
+ 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
+ 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
+ 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
+ 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'MATCH' => 3, 'ORDER' => 3,
+ 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RIGHT' => 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, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
+ 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'INSERT' => 3, 'LINEAR' => 3,
+ 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'REPEAT' => 3, 'RETURN' => 3,
+ 'REVOKE' => 3, 'SCHEMA' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3,
+ 'UPDATE' => 3, 'VALUES' => 3,
+ 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'CONVERT' => 3,
+ 'DECLARE' => 3, 'DEFAULT' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3,
+ 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3,
+ 'PRIMARY' => 3, 'RELEASE' => 3, 'REPLACE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3,
+ 'SPATIAL' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
+ 'CONTINUE' => 3, 'DATABASE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3,
+ 'DISTINCT' => 3, 'ENCLOSED' => 3, 'FULLTEXT' => 3, 'MAXVALUE' => 3,
+ 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3,
+ 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3,
+ 'UNSIGNED' => 3, 'UTC_DATE' => 3, 'UTC_TIME' => 3, 'ZEROFILL' => 3,
+ 'CONDITION' => 3, 'DATABASES' => 3, 'LOCALTIME' => 3, 'MIDDLEINT' => 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,
+ 'CURRENT_DATE' => 3, 'CURRENT_TIME' => 3, 'CURRENT_USER' => 3,
+ 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
+ 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
+ 'STRAIGHT_JOIN' => 3, 'UTC_TIMESTAMP' => 3,
+ 'LOCALTIMESTAMP' => 3, 'SQL_BIG_RESULT' => 3,
+ 'DAY_MICROSECOND' => 3,
+ 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
+ 'CURRENT_TIMESTAMP' => 3,
+ 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
+ 'SQL_CALC_FOUND_ROWS' => 3,
+ 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
+ 'NOT NULL' => 5,
+ 'ON UPDATE' => 5,
+ 'CHARACTER SET' => 5, 'IF NOT EXISTS' => 5,
+ 'DATA DIRECTORY' => 5,
+ 'DEFAULT COLLATE' => 5, 'INDEX DIRECTORY' => 5,
+ 'DEFAULT CHARACTER SET' => 5,
+
+ 'XML' => 9,
+ 'DATE' => 9, 'ENUM' => 9, 'TEXT' => 9, 'TIME' => 9, 'YEAR' => 9,
+ 'ARRAY' => 9,
+ 'BOOLEAN' => 9,
+ 'DATETIME' => 9, 'MULTISET' => 9,
+ 'TIMESTAMP' => 9,
+
+ 'INT' => 11, 'SET' => 11,
+ 'BLOB' => 11, 'CHAR' => 11, 'REAL' => 11,
+ 'FLOAT' => 11,
+ 'BIGINT' => 11, 'BINARY' => 11, 'DOUBLE' => 11,
+ 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
+ 'INTERVAL' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11,
+ 'TINYBLOB' => 11, 'TINYTEXT' => 11,
+ 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
+ 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
+
+ 'BINARY VARYING' => 13,
+
+ 'KEY' => 19,
+ 'INDEX' => 19,
+ 'UNIQUE' => 19,
+
+ 'INDEX KEY' => 21,
+ 'UNIQUE KEY' => 21,
+ 'FOREIGN KEY' => 21, 'PRIMARY KEY' => 21, 'SPATIAL KEY' => 21,
+ 'FULLTEXT KEY' => 21, 'UNIQUE INDEX' => 21,
+ 'SPATIAL INDEX' => 21,
+ 'FULLTEXT INDEX' => 21,
);
}
diff --git a/src/Contexts/ContextMySql50600.php b/src/Contexts/ContextMySql50600.php
index b465026..1fad4fa 100644
--- a/src/Contexts/ContextMySql50600.php
+++ b/src/Contexts/ContextMySql50600.php
@@ -18,182 +18,189 @@ class ContextMySql50600 extends Context
public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'GET' => 1, 'INT' => 1, 'KEY' => 1,
- 'MOD' => 1, 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1,
- 'SSL' => 1, 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'RANGE' => 1,
- 'READS' => 1, 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1,
- 'UNION' => 1, 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1,
- 'WHILE' => 1, 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'LINEAR' => 1, 'OPTION' => 1, 'REGEXP' => 1,
- 'RENAME' => 1, 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1,
- 'SCHEMA' => 1, 'SELECT' => 1, 'SIGNAL' => 1, 'UNIQUE' => 1,
- 'UNLOCK' => 1, 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MAXVALUE' => 1, 'MODIFIES' => 1,
- 'OPTIMIZE' => 1, 'RESIGNAL' => 1, 'RESTRICT' => 1,
- 'SMALLINT' => 1, 'SPECIFIC' => 1, 'SQLSTATE' => 1,
- 'STARTING' => 1, 'TINYBLOB' => 1, 'TINYTEXT' => 1,
- 'TRAILING' => 1, 'UNSIGNED' => 1, 'UTC_DATE' => 1,
- 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'LOCALTIME' => 1, 'MEDIUMINT' => 1, 'MIDDLEINT' => 1,
- 'PARTITION' => 1, 'PRECISION' => 1, 'PROCEDURE' => 1,
- 'SENSITIVE' => 1, 'SEPARATOR' => 1, 'VARBINARY' => 1,
- 'ACCESSIBLE' => 1, 'ASENSITIVE' => 1, 'CONSTRAINT' => 1,
- 'DAY_MINUTE' => 1, 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1,
- 'MEDIUMTEXT' => 1, 'OPTIONALLY' => 1, 'READ_WRITE' => 1,
- 'REFERENCES' => 1, 'SQLWARNING' => 1, 'TERMINATED' => 1,
- 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1, 'MASTER_BIND' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'IO_AFTER_GTIDS' => 1, 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1, 'IO_BEFORE_GTIDS' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 1,
+ 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
+ 'ANY' => 1, 'AVG' => 1, 'BIT' => 1, 'CPU' => 1, 'DAY' => 1, 'END' => 1,
+ 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
+ 'BOOL' => 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, 'HOUR' => 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, 'USER' => 1, 'VIEW' => 1, 'WAIT' => 1,
+ 'WEEK' => 1, 'WORK' => 1, 'X509' => 1,
+ 'AFTER' => 1, 'ASCII' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1,
+ 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1,
+ 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1,
+ 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1,
+ 'MONTH' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1,
+ 'PHASE' => 1, 'POINT' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1,
+ 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1,
+ 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1,
+ 'VALUE' => 1,
+ 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
+ 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
+ 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1,
+ 'FORMAT' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1,
+ 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MINUTE' => 1,
+ 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
+ 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
+ 'SECOND' => 1, 'SERIAL' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1,
+ 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1,
+ 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
+ 'AGAINST' => 1, 'ANALYSE' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'CHARSET' => 1,
+ 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1,
+ 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1,
+ 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
+ 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
+ 'PARTIAL' => 1, 'PLUGINS' => 1, 'POLYGON' => 1, 'PREPARE' => 1, 'PROFILE' => 1,
+ 'QUARTER' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1,
+ 'REVERSE' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1,
+ 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1,
+ 'WRAPPER' => 1,
+ 'CASCADED' => 1, 'CHECKSUM' => 1, 'COALESCE' => 1, 'CONTAINS' => 1,
+ 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1,
+ 'FUNCTION' => 1, 'GEOMETRY' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1,
+ 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1,
+ 'ONE_SHOT' => 1, 'PASSWORD' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
+ 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
+ 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
+ 'TRIGGERS' => 1, 'TRUNCATE' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
+ 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COLLATION' => 1, 'COMMITTED' => 1,
+ 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1,
+ 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1,
+ 'REDUNDANT' => 1, 'ROW_COUNT' => 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, 'GET_FORMAT' => 1, 'IDENTIFIED' => 1,
+ 'LINESTRING' => 1, 'MASTER_SSL' => 1, 'MULTIPOINT' => 1, 'NDBCLUSTER' => 1,
+ 'PARTITIONS' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1,
+ 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1,
+ 'TABLE_NAME' => 1,
+ 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1,
+ 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MICROSECOND' => 1,
+ 'MYSQL_ERRNO' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1,
+ 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
+ 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1,
+ 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1,
+ 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'MULTIPOLYGON' => 1,
+ 'OLD_PASSWORD' => 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,
+ 'TIMESTAMPADD' => 1,
+ 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
+ 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
+ 'TIMESTAMPDIFF' => 1, 'WEIGHT_STRING' => 1,
+ 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
+ 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
+ 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
+ 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
+ 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
+ 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1,
+ 'MULTILINESTRING' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1,
+ 'SUBCLASS_ORIGIN' => 1,
+ 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
+ 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
+ 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1,
+ 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1,
+ 'STATS_AUTO_RECALC' => 1,
+ 'CONSTRAINT_CATALOG' => 1, 'GEOMETRYCOLLECTION' => 1, 'MASTER_RETRY_COUNT' => 1,
+ 'MASTER_SSL_CRLPATH' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1,
+ 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
+ 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
+ 'MAX_USER_CONNECTIONS' => 1,
+ 'MASTER_HEARTBEAT_PERIOD' => 1,
+ 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'AT' => 2, 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2, 'END' => 2,
- 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2, 'XML' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'DISK' => 2, 'ENDS' => 2, 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2,
- 'HASH' => 2, 'HELP' => 2, 'HOST' => 2, 'HOUR' => 2, 'LAST' => 2, 'LESS' => 2,
- 'LIST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2, 'NONE' => 2,
- 'ONLY' => 2, 'OPEN' => 2, 'PAGE' => 2, 'PORT' => 2, 'PREV' => 2, 'ROWS' => 2,
- 'SLOW' => 2, 'SOME' => 2, 'STOP' => 2, 'TEXT' => 2, 'THAN' => 2, 'TIME' => 2,
- 'TYPE' => 2, 'USER' => 2, 'VIEW' => 2, 'WAIT' => 2, 'WEEK' => 2, 'WORK' => 2,
- 'X509' => 2, 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'ERROR' => 2, 'EVENT' => 2,
- 'EVERY' => 2, 'FIRST' => 2, 'FIXED' => 2, 'FLUSH' => 2, 'FOUND' => 2,
- 'HOSTS' => 2, 'LEVEL' => 2, 'LOCAL' => 2, 'LOCKS' => 2, 'MERGE' => 2,
- 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2, 'NCHAR' => 2, 'OWNER' => 2,
- 'PHASE' => 2, 'POINT' => 2, 'PROXY' => 2, 'QUERY' => 2, 'QUICK' => 2,
- 'RELAY' => 2, 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2, 'SLAVE' => 2,
- 'START' => 2, 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2, 'UNTIL' => 2,
- 'VALUE' => 2,
- 'ACTION' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2, 'CLIENT' => 2,
- 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2, 'ESCAPE' => 2,
- 'EVENTS' => 2, 'EXPIRE' => 2, 'EXPORT' => 2, 'FAULTS' => 2, 'FIELDS' => 2,
- 'FORMAT' => 2, 'GLOBAL' => 2, 'GRANTS' => 2, 'IMPORT' => 2, 'ISSUER' => 2,
- 'LEAVES' => 2, 'MASTER' => 2, 'MEDIUM' => 2, 'MEMORY' => 2, 'MINUTE' => 2,
- 'MODIFY' => 2, 'NUMBER' => 2, 'OFFSET' => 2, 'PARSER' => 2, 'PLUGIN' => 2,
- 'RELOAD' => 2, 'REMOVE' => 2, 'REPAIR' => 2, 'RESUME' => 2, 'ROLLUP' => 2,
- 'SECOND' => 2, 'SERIAL' => 2, 'SERVER' => 2, 'SIGNED' => 2, 'SIMPLE' => 2,
- 'SOCKET' => 2, 'SONAME' => 2, 'SOUNDS' => 2, 'SOURCE' => 2, 'STARTS' => 2,
- 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'AGAINST' => 2, 'ANALYSE' => 2, 'AUTHORS' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2,
- 'CHARSET' => 2, 'COLUMNS' => 2, 'COMMENT' => 2, 'COMPACT' => 2, 'CONTEXT' => 2,
- 'CURRENT' => 2, 'DEFINER' => 2, 'DISABLE' => 2, 'DISCARD' => 2, 'DYNAMIC' => 2,
- 'ENGINES' => 2, 'EXECUTE' => 2, 'GENERAL' => 2, 'HANDLER' => 2, 'INDEXES' => 2,
- 'INSTALL' => 2, 'INVOKER' => 2, 'LOGFILE' => 2, 'MIGRATE' => 2, 'NO_WAIT' => 2,
- 'OPTIONS' => 2, 'PARTIAL' => 2, 'PLUGINS' => 2, 'POLYGON' => 2, 'PREPARE' => 2,
- 'PROFILE' => 2, 'QUARTER' => 2, 'REBUILD' => 2, 'RECOVER' => 2, 'RESTORE' => 2,
- 'RETURNS' => 2, 'REVERSE' => 2, 'ROUTINE' => 2, 'SESSION' => 2, 'STORAGE' => 2,
- 'SUBJECT' => 2, 'SUSPEND' => 2, 'UNICODE' => 2, 'UNKNOWN' => 2, 'UPGRADE' => 2,
- 'USE_FRM' => 2, 'WRAPPER' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'COALESCE' => 2, 'CONTAINS' => 2,
- 'DATAFILE' => 2, 'DATETIME' => 2, 'DUMPFILE' => 2, 'EXCHANGE' => 2,
- 'EXTENDED' => 2, 'FUNCTION' => 2, 'GEOMETRY' => 2, 'LANGUAGE' => 2,
- 'MAX_ROWS' => 2, 'MAX_SIZE' => 2, 'MIN_ROWS' => 2, 'NATIONAL' => 2,
- 'NVARCHAR' => 2, 'ONE_SHOT' => 2, 'PASSWORD' => 2, 'PRESERVE' => 2,
- 'PROFILES' => 2, 'REDOFILE' => 2, 'RELAYLOG' => 2, 'ROLLBACK' => 2,
- 'SCHEDULE' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2, 'SNAPSHOT' => 2,
- 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2, 'UNDOFILE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'NODEGROUP' => 2, 'PACK_KEYS' => 2, 'READ_ONLY' => 2,
- 'REDUNDANT' => 2, 'ROW_COUNT' => 2, 'SAVEPOINT' => 2, 'SQL_CACHE' => 2,
- 'TEMPORARY' => 2, 'TEMPTABLE' => 2, 'TIMESTAMP' => 2, 'UNDEFINED' => 2,
- 'UNINSTALL' => 2, 'VARIABLES' => 2,
- 'COMPLETION' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2, 'CONNECTION' => 2,
- 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2, 'IDENTIFIED' => 2,
- 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2, 'NDBCLUSTER' => 2,
- 'PARTITIONS' => 2, 'PLUGIN_DIR' => 2, 'PRIVILEGES' => 2, 'REORGANIZE' => 2,
- 'REPEATABLE' => 2, 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2, 'TABLESPACE' => 2,
- 'TABLE_NAME' => 2,
- 'COLUMN_NAME' => 2, 'CURSOR_NAME' => 2, 'DIAGNOSTICS' => 2, 'EXTENT_SIZE' => 2,
- 'MASTER_HOST' => 2, 'MASTER_PORT' => 2, 'MASTER_USER' => 2, 'MICROSECOND' => 2,
- 'MYSQL_ERRNO' => 2, 'PROCESSLIST' => 2, 'REPLICATION' => 2, 'SCHEMA_NAME' => 2,
- 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2, 'UNCOMMITTED' => 2,
- 'CATALOG_NAME' => 2, 'CLASS_ORIGIN' => 2, 'CONTRIBUTORS' => 2,
- 'DEFAULT_AUTH' => 2, 'DES_KEY_FILE' => 2, 'INITIAL_SIZE' => 2,
- 'MASTER_DELAY' => 2, 'MESSAGE_TEXT' => 2, 'MULTIPOLYGON' => 2,
- 'OLD_PASSWORD' => 2, 'PARTITIONING' => 2, 'RELAY_THREAD' => 2,
- 'SERIALIZABLE' => 2, 'SQL_NO_CACHE' => 2, 'SQL_TSI_HOUR' => 2,
- 'SQL_TSI_WEEK' => 2, 'SQL_TSI_YEAR' => 2, 'SUBPARTITION' => 2,
- 'TIMESTAMPADD' => 2,
- 'COLUMN_FORMAT' => 2, 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2,
- 'RELAY_LOG_POS' => 2, 'SQL_TSI_MONTH' => 2, 'SUBPARTITIONS' => 2,
- 'TIMESTAMPDIFF' => 2, 'WEIGHT_STRING' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'KEY_BLOCK_SIZE' => 2,
- 'MASTER_LOG_POS' => 2, 'MASTER_SSL_CRL' => 2, 'MASTER_SSL_KEY' => 2,
- 'RELAY_LOG_FILE' => 2, 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2,
- 'TABLE_CHECKSUM' => 2, 'USER_RESOURCES' => 2,
- 'AUTOEXTEND_SIZE' => 2, 'CONSTRAINT_NAME' => 2, 'DELAY_KEY_WRITE' => 2,
- 'MASTER_LOG_FILE' => 2, 'MASTER_PASSWORD' => 2, 'MASTER_SSL_CERT' => 2,
- 'MULTILINESTRING' => 2, 'SQL_AFTER_GTIDS' => 2, 'SQL_TSI_QUARTER' => 2,
- 'SUBCLASS_ORIGIN' => 2,
- 'MASTER_SERVER_ID' => 2, 'REDO_BUFFER_SIZE' => 2, 'SQL_BEFORE_GTIDS' => 2,
- 'STATS_PERSISTENT' => 2, 'UNDO_BUFFER_SIZE' => 2,
- 'CONSTRAINT_SCHEMA' => 2, 'IGNORE_SERVER_IDS' => 2, 'MASTER_SSL_CAPATH' => 2,
- 'MASTER_SSL_CIPHER' => 2, 'RETURNED_SQLSTATE' => 2, 'SQL_BUFFER_RESULT' => 2,
- 'STATS_AUTO_RECALC' => 2,
- 'CONSTRAINT_CATALOG' => 2, 'GEOMETRYCOLLECTION' => 2, 'MASTER_RETRY_COUNT' => 2,
- 'MASTER_SSL_CRLPATH' => 2, 'SQL_AFTER_MTS_GAPS' => 2, 'STATS_SAMPLE_PAGES' => 2,
- 'MASTER_AUTO_POSITION' => 2, 'MASTER_CONNECT_RETRY' => 2,
- 'MAX_QUERIES_PER_HOUR' => 2, 'MAX_UPDATES_PER_HOUR' => 2,
- 'MAX_USER_CONNECTIONS' => 2,
- 'MASTER_HEARTBEAT_PERIOD' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
+ 'AS' => 3, 'BY' => 3, 'IF' => 3, 'IN' => 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, 'MOD' => 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, 'INT1' => 3, 'INT2' => 3,
+ 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
+ 'KILL' => 3, 'LEFT' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3,
+ 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
+ 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
+ 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
+ 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
+ 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'MATCH' => 3, 'ORDER' => 3,
+ 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RIGHT' => 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, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
+ 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'INSERT' => 3, 'LINEAR' => 3,
+ 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'REPEAT' => 3, 'RETURN' => 3,
+ 'REVOKE' => 3, 'SCHEMA' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3,
+ 'UPDATE' => 3, 'VALUES' => 3,
+ 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'CONVERT' => 3,
+ 'DECLARE' => 3, 'DEFAULT' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3,
+ 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3,
+ 'PRIMARY' => 3, 'RELEASE' => 3, 'REPLACE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3,
+ 'SPATIAL' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
+ 'CONTINUE' => 3, 'DATABASE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3,
+ 'DISTINCT' => 3, 'ENCLOSED' => 3, 'FULLTEXT' => 3, 'MAXVALUE' => 3,
+ 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3,
+ 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3,
+ 'UNSIGNED' => 3, 'UTC_DATE' => 3, 'UTC_TIME' => 3, 'ZEROFILL' => 3,
+ 'CONDITION' => 3, 'DATABASES' => 3, 'LOCALTIME' => 3, 'MIDDLEINT' => 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,
+ 'CURRENT_DATE' => 3, 'CURRENT_TIME' => 3, 'CURRENT_USER' => 3,
+ 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
+ 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
+ 'STRAIGHT_JOIN' => 3, 'UTC_TIMESTAMP' => 3,
+ 'IO_AFTER_GTIDS' => 3, 'LOCALTIMESTAMP' => 3, 'SQL_BIG_RESULT' => 3,
+ 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3,
+ 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
+ 'CURRENT_TIMESTAMP' => 3,
+ 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
+ 'SQL_CALC_FOUND_ROWS' => 3,
+ 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
+ 'NOT NULL' => 5,
+ 'ON UPDATE' => 5,
+ 'CHARACTER SET' => 5, 'IF NOT EXISTS' => 5,
+ 'DATA DIRECTORY' => 5,
+ 'DEFAULT COLLATE' => 5, 'INDEX DIRECTORY' => 5,
+ 'DEFAULT CHARACTER SET' => 5,
+
+ 'XML' => 9,
+ 'DATE' => 9, 'ENUM' => 9, 'TEXT' => 9, 'TIME' => 9, 'YEAR' => 9,
+ 'ARRAY' => 9,
+ 'BOOLEAN' => 9,
+ 'DATETIME' => 9, 'MULTISET' => 9,
+ 'TIMESTAMP' => 9,
+
+ 'INT' => 11, 'SET' => 11,
+ 'BLOB' => 11, 'CHAR' => 11, 'REAL' => 11,
+ 'FLOAT' => 11,
+ 'BIGINT' => 11, 'BINARY' => 11, 'DOUBLE' => 11,
+ 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
+ 'INTERVAL' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11,
+ 'TINYBLOB' => 11, 'TINYTEXT' => 11,
+ 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
+ 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
+
+ 'BINARY VARYING' => 13,
+
+ 'KEY' => 19,
+ 'INDEX' => 19,
+ 'UNIQUE' => 19,
+
+ 'INDEX KEY' => 21,
+ 'UNIQUE KEY' => 21,
+ 'FOREIGN KEY' => 21, 'PRIMARY KEY' => 21, 'SPATIAL KEY' => 21,
+ 'FULLTEXT KEY' => 21, 'UNIQUE INDEX' => 21,
+ 'SPATIAL INDEX' => 21,
+ 'FULLTEXT INDEX' => 21,
);
}
diff --git a/src/Contexts/ContextMySql50700.php b/src/Contexts/ContextMySql50700.php
index 5f9014c..d9b7906 100644
--- a/src/Contexts/ContextMySql50700.php
+++ b/src/Contexts/ContextMySql50700.php
@@ -18,191 +18,194 @@ class ContextMySql50700 extends Context
public static $KEYWORDS = array(
- 'AS' => 1, 'BY' => 1, 'IF' => 1, 'IN' => 1, 'IS' => 1,
- 'ON' => 1, 'OR' => 1, 'TO' => 1,
- 'ADD' => 1, 'ALL' => 1, 'AND' => 1, 'ASC' => 1, 'DEC' => 1,
- 'DIV' => 1, 'FOR' => 1, 'GET' => 1, 'INT' => 1, 'KEY' => 1,
- 'MOD' => 1, 'NOT' => 1, 'OUT' => 1, 'SET' => 1, 'SQL' => 1,
- 'SSL' => 1, 'USE' => 1, 'XOR' => 1,
- 'BLOB' => 1, 'BOTH' => 1, 'CALL' => 1, 'CASE' => 1,
- 'CHAR' => 1, 'DESC' => 1, 'DROP' => 1, 'DUAL' => 1,
- 'EACH' => 1, 'ELSE' => 1, 'EXIT' => 1, 'FROM' => 1,
- 'INT1' => 1, 'INT2' => 1, 'INT3' => 1, 'INT4' => 1,
- 'INT8' => 1, 'INTO' => 1, 'JOIN' => 1, 'KEYS' => 1,
- 'KILL' => 1, 'LEFT' => 1, 'LIKE' => 1, 'LOAD' => 1,
- 'LOCK' => 1, 'LONG' => 1, 'LOOP' => 1, 'NULL' => 1,
- 'READ' => 1, 'REAL' => 1, 'SHOW' => 1, 'THEN' => 1,
- 'TRUE' => 1, 'UNDO' => 1, 'WHEN' => 1, 'WITH' => 1,
- 'ALTER' => 1, 'CHECK' => 1, 'CROSS' => 1, 'FALSE' => 1,
- 'FETCH' => 1, 'FLOAT' => 1, 'FORCE' => 1, 'GRANT' => 1,
- 'GROUP' => 1, 'INDEX' => 1, 'INNER' => 1, 'INOUT' => 1,
- 'LEAVE' => 1, 'LIMIT' => 1, 'LINES' => 1, 'MATCH' => 1,
- 'ORDER' => 1, 'OUTER' => 1, 'PURGE' => 1, 'RANGE' => 1,
- 'READS' => 1, 'RIGHT' => 1, 'RLIKE' => 1, 'TABLE' => 1,
- 'UNION' => 1, 'USAGE' => 1, 'USING' => 1, 'WHERE' => 1,
- 'WHILE' => 1, 'WRITE' => 1,
- 'BEFORE' => 1, 'BIGINT' => 1, 'BINARY' => 1, 'CHANGE' => 1,
- 'COLUMN' => 1, 'CREATE' => 1, 'CURSOR' => 1, 'DELETE' => 1,
- 'DOUBLE' => 1, 'ELSEIF' => 1, 'EXISTS' => 1, 'FLOAT4' => 1,
- 'FLOAT8' => 1, 'HAVING' => 1, 'IGNORE' => 1, 'INFILE' => 1,
- 'INSERT' => 1, 'LINEAR' => 1, 'OPTION' => 1, 'REGEXP' => 1,
- 'RENAME' => 1, 'REPEAT' => 1, 'RETURN' => 1, 'REVOKE' => 1,
- 'SCHEMA' => 1, 'SELECT' => 1, 'SIGNAL' => 1, 'STORED' => 1,
- 'UNIQUE' => 1, 'UNLOCK' => 1, 'UPDATE' => 1, 'VALUES' => 1,
- 'ANALYZE' => 1, 'BETWEEN' => 1, 'CASCADE' => 1, 'COLLATE' => 1,
- 'CONVERT' => 1, 'DECIMAL' => 1, 'DECLARE' => 1, 'DEFAULT' => 1,
- 'DELAYED' => 1, 'ESCAPED' => 1, 'EXPLAIN' => 1, 'FOREIGN' => 1,
- 'INTEGER' => 1, 'ITERATE' => 1, 'LEADING' => 1, 'NATURAL' => 1,
- 'NUMERIC' => 1, 'OUTFILE' => 1, 'PRIMARY' => 1, 'RELEASE' => 1,
- 'REPLACE' => 1, 'REQUIRE' => 1, 'SCHEMAS' => 1, 'SPATIAL' => 1,
- 'TINYINT' => 1, 'TRIGGER' => 1, 'VARCHAR' => 1, 'VARYING' => 1,
- 'VIRTUAL' => 1,
- 'CONTINUE' => 1, 'DATABASE' => 1, 'DAY_HOUR' => 1,
- 'DESCRIBE' => 1, 'DISTINCT' => 1, 'ENCLOSED' => 1,
- 'FULLTEXT' => 1, 'INTERVAL' => 1, 'LONGBLOB' => 1,
- 'LONGTEXT' => 1, 'MAXVALUE' => 1, 'MODIFIES' => 1,
- 'OPTIMIZE' => 1, 'RESIGNAL' => 1, 'RESTRICT' => 1,
- 'SMALLINT' => 1, 'SPECIFIC' => 1, 'SQLSTATE' => 1,
- 'STARTING' => 1, 'TINYBLOB' => 1, 'TINYTEXT' => 1,
- 'TRAILING' => 1, 'UNSIGNED' => 1, 'UTC_DATE' => 1,
- 'UTC_TIME' => 1, 'ZEROFILL' => 1,
- 'CHARACTER' => 1, 'CONDITION' => 1, 'DATABASES' => 1,
- 'GENERATED' => 1, 'LOCALTIME' => 1, 'MEDIUMINT' => 1,
- 'MIDDLEINT' => 1, 'PARTITION' => 1, 'PRECISION' => 1,
- 'PROCEDURE' => 1, 'SENSITIVE' => 1, 'SEPARATOR' => 1,
- 'VARBINARY' => 1,
- 'ACCESSIBLE' => 1, 'ASENSITIVE' => 1, 'CONSTRAINT' => 1,
- 'DAY_MINUTE' => 1, 'DAY_SECOND' => 1, 'MEDIUMBLOB' => 1,
- 'MEDIUMTEXT' => 1, 'OPTIONALLY' => 1, 'READ_WRITE' => 1,
- 'REFERENCES' => 1, 'SQLWARNING' => 1, 'TERMINATED' => 1,
- 'YEAR_MONTH' => 1,
- 'DISTINCTROW' => 1, 'HOUR_MINUTE' => 1, 'HOUR_SECOND' => 1,
- 'INSENSITIVE' => 1, 'MASTER_BIND' => 1,
- 'CURRENT_DATE' => 1, 'CURRENT_TIME' => 1, 'CURRENT_USER' => 1,
- 'LOW_PRIORITY' => 1, 'SQLEXCEPTION' => 1, 'VARCHARACTER' => 1,
- 'DETERMINISTIC' => 1, 'HIGH_PRIORITY' => 1, 'MINUTE_SECOND' => 1,
- 'STRAIGHT_JOIN' => 1, 'UTC_TIMESTAMP' => 1,
- 'IO_AFTER_GTIDS' => 1, 'LOCALTIMESTAMP' => 1, 'SQL_BIG_RESULT' => 1,
- 'DAY_MICROSECOND' => 1, 'IO_BEFORE_GTIDS' => 1, 'OPTIMIZER_COSTS' => 1,
- 'HOUR_MICROSECOND' => 1, 'SQL_SMALL_RESULT' => 1,
- 'CURRENT_TIMESTAMP' => 1,
- 'MINUTE_MICROSECOND' => 1, 'NO_WRITE_TO_BINLOG' => 1,
- 'SECOND_MICROSECOND' => 1,
- 'SQL_CALC_FOUND_ROWS' => 1,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 1,
+ 'AT' => 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
+ 'ANY' => 1, 'AVG' => 1, 'BIT' => 1, 'CPU' => 1, 'DAY' => 1, 'END' => 1,
+ 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
+ 'BOOL' => 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, 'HOUR' => 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, 'USER' => 1, 'VIEW' => 1, 'WAIT' => 1,
+ 'WEEK' => 1, 'WORK' => 1, 'X509' => 1,
+ 'AFTER' => 1, 'ASCII' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1,
+ 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1,
+ 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1,
+ 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1,
+ 'MONTH' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1,
+ 'OWNER' => 1, 'PHASE' => 1, 'POINT' => 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, 'FORMAT' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
+ 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1,
+ 'MEMORY' => 1, 'MINUTE' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1,
+ 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1,
+ 'RESUME' => 1, 'ROLLUP' => 1, 'SECOND' => 1, 'SERIAL' => 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, 'AGAINST' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1,
+ 'CHARSET' => 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, 'POLYGON' => 1,
+ 'PREPARE' => 1, 'PROFILE' => 1, 'QUARTER' => 1, 'REBUILD' => 1, 'RECOVER' => 1,
+ 'RESTORE' => 1, 'RETURNS' => 1, 'REVERSE' => 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, 'COALESCE' => 1, 'CONTAINS' => 1,
+ 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1,
+ 'FUNCTION' => 1, 'GEOMETRY' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1,
+ 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1,
+ 'PASSWORD' => 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, 'TRUNCATE' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
+ 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COLLATION' => 1, 'COMMITTED' => 1,
+ 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1,
+ 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1,
+ 'REDUNDANT' => 1, 'ROW_COUNT' => 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, 'GET_FORMAT' => 1, 'IDENTIFIED' => 1,
+ 'LINESTRING' => 1, 'MASTER_SSL' => 1, 'MULTIPOINT' => 1, 'NDBCLUSTER' => 1,
+ 'PARTITIONS' => 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,
+ 'MICROSECOND' => 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, 'MULTIPOLYGON' => 1, 'OLD_PASSWORD' => 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, 'TIMESTAMPADD' => 1,
+ 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
+ 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
+ 'TIMESTAMPDIFF' => 1, 'WEIGHT_STRING' => 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, 'MULTILINESTRING' => 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, 'GEOMETRYCOLLECTION' => 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,
- 'AT' => 2, 'DO' => 2, 'IO' => 2, 'NO' => 2, 'XA' => 2,
- 'ANY' => 2, 'AVG' => 2, 'BIT' => 2, 'CPU' => 2, 'DAY' => 2, 'END' => 2,
- 'IPC' => 2, 'NDB' => 2, 'NEW' => 2, 'ONE' => 2, 'ROW' => 2, 'XID' => 2,
- 'XML' => 2,
- 'BOOL' => 2, 'BYTE' => 2, 'CODE' => 2, 'CUBE' => 2, 'DATA' => 2, 'DATE' => 2,
- 'DISK' => 2, 'ENDS' => 2, 'ENUM' => 2, 'FAST' => 2, 'FILE' => 2, 'FULL' => 2,
- 'HASH' => 2, 'HELP' => 2, 'HOST' => 2, 'HOUR' => 2, 'LAST' => 2, 'LESS' => 2,
- 'LIST' => 2, 'LOGS' => 2, 'MODE' => 2, 'NAME' => 2, 'NEXT' => 2, 'NONE' => 2,
- 'ONLY' => 2, 'OPEN' => 2, 'PAGE' => 2, 'PORT' => 2, 'PREV' => 2, 'ROWS' => 2,
- 'SLOW' => 2, 'SOME' => 2, 'STOP' => 2, 'TEXT' => 2, 'THAN' => 2, 'TIME' => 2,
- 'TYPE' => 2, 'USER' => 2, 'VIEW' => 2, 'WAIT' => 2, 'WEEK' => 2, 'WORK' => 2,
- 'X509' => 2, 'YEAR' => 2,
- 'AFTER' => 2, 'ASCII' => 2, 'BEGIN' => 2, 'BLOCK' => 2, 'BTREE' => 2,
- 'CACHE' => 2, 'CHAIN' => 2, 'CLOSE' => 2, 'ERROR' => 2, 'EVENT' => 2,
- 'EVERY' => 2, 'FIRST' => 2, 'FIXED' => 2, 'FLUSH' => 2, 'FOUND' => 2,
- 'HOSTS' => 2, 'LEVEL' => 2, 'LOCAL' => 2, 'LOCKS' => 2, 'MERGE' => 2,
- 'MONTH' => 2, 'MUTEX' => 2, 'NAMES' => 2, 'NCHAR' => 2, 'NEVER' => 2,
- 'OWNER' => 2, 'PHASE' => 2, 'POINT' => 2, 'PROXY' => 2, 'QUERY' => 2,
- 'QUICK' => 2, 'RELAY' => 2, 'RESET' => 2, 'RTREE' => 2, 'SHARE' => 2,
- 'SLAVE' => 2, 'START' => 2, 'SUPER' => 2, 'SWAPS' => 2, 'TYPES' => 2,
- 'UNTIL' => 2, 'VALUE' => 2,
- 'ACTION' => 2, 'ALWAYS' => 2, 'BACKUP' => 2, 'BINLOG' => 2, 'CIPHER' => 2,
- 'CLIENT' => 2, 'COMMIT' => 2, 'ENABLE' => 2, 'ENGINE' => 2, 'ERRORS' => 2,
- 'ESCAPE' => 2, 'EVENTS' => 2, 'EXPIRE' => 2, 'EXPORT' => 2, 'FAULTS' => 2,
- 'FIELDS' => 2, 'FILTER' => 2, 'FORMAT' => 2, 'GLOBAL' => 2, 'GRANTS' => 2,
- 'IMPORT' => 2, 'ISSUER' => 2, 'LEAVES' => 2, 'MASTER' => 2, 'MEDIUM' => 2,
- 'MEMORY' => 2, 'MINUTE' => 2, 'MODIFY' => 2, 'NUMBER' => 2, 'OFFSET' => 2,
- 'PARSER' => 2, 'PLUGIN' => 2, 'RELOAD' => 2, 'REMOVE' => 2, 'REPAIR' => 2,
- 'RESUME' => 2, 'ROLLUP' => 2, 'SECOND' => 2, 'SERIAL' => 2, 'SERVER' => 2,
- 'SIGNED' => 2, 'SIMPLE' => 2, 'SOCKET' => 2, 'SONAME' => 2, 'SOUNDS' => 2,
- 'SOURCE' => 2, 'STARTS' => 2, 'STATUS' => 2, 'STRING' => 2, 'TABLES' => 2,
- 'ACCOUNT' => 2, 'AGAINST' => 2, 'ANALYSE' => 2, 'BOOLEAN' => 2, 'CHANGED' => 2,
- 'CHANNEL' => 2, 'CHARSET' => 2, 'COLUMNS' => 2, 'COMMENT' => 2, 'COMPACT' => 2,
- 'CONTEXT' => 2, 'CURRENT' => 2, 'DEFINER' => 2, 'DISABLE' => 2, 'DISCARD' => 2,
- 'DYNAMIC' => 2, 'ENGINES' => 2, 'EXECUTE' => 2, 'FOLLOWS' => 2, 'GENERAL' => 2,
- 'HANDLER' => 2, 'INDEXES' => 2, 'INSTALL' => 2, 'INVOKER' => 2, 'LOGFILE' => 2,
- 'MIGRATE' => 2, 'NO_WAIT' => 2, 'OPTIONS' => 2, 'PARTIAL' => 2, 'PLUGINS' => 2,
- 'POLYGON' => 2, 'PREPARE' => 2, 'PROFILE' => 2, 'QUARTER' => 2, 'REBUILD' => 2,
- 'RECOVER' => 2, 'RESTORE' => 2, 'RETURNS' => 2, 'REVERSE' => 2, 'ROUTINE' => 2,
- 'SESSION' => 2, 'STACKED' => 2, 'STORAGE' => 2, 'SUBJECT' => 2, 'SUSPEND' => 2,
- 'UNICODE' => 2, 'UNKNOWN' => 2, 'UPGRADE' => 2, 'USE_FRM' => 2, 'WITHOUT' => 2,
- 'WRAPPER' => 2,
- 'CASCADED' => 2, 'CHECKSUM' => 2, 'COALESCE' => 2, 'CONTAINS' => 2,
- 'DATAFILE' => 2, 'DATETIME' => 2, 'DUMPFILE' => 2, 'EXCHANGE' => 2,
- 'EXTENDED' => 2, 'FUNCTION' => 2, 'GEOMETRY' => 2, 'LANGUAGE' => 2,
- 'MAX_ROWS' => 2, 'MAX_SIZE' => 2, 'MIN_ROWS' => 2, 'NATIONAL' => 2,
- 'NVARCHAR' => 2, 'PASSWORD' => 2, 'PRECEDES' => 2, 'PRESERVE' => 2,
- 'PROFILES' => 2, 'REDOFILE' => 2, 'RELAYLOG' => 2, 'ROLLBACK' => 2,
- 'SCHEDULE' => 2, 'SECURITY' => 2, 'SHUTDOWN' => 2, 'SNAPSHOT' => 2,
- 'SWITCHES' => 2, 'TRIGGERS' => 2, 'TRUNCATE' => 2, 'UNDOFILE' => 2,
- 'WARNINGS' => 2,
- 'AGGREGATE' => 2, 'ALGORITHM' => 2, 'COLLATION' => 2, 'COMMITTED' => 2,
- 'DIRECTORY' => 2, 'DUPLICATE' => 2, 'EXPANSION' => 2, 'IO_THREAD' => 2,
- 'ISOLATION' => 2, 'NODEGROUP' => 2, 'PACK_KEYS' => 2, 'READ_ONLY' => 2,
- 'REDUNDANT' => 2, 'ROW_COUNT' => 2, 'SAVEPOINT' => 2, 'SQL_CACHE' => 2,
- 'TEMPORARY' => 2, 'TEMPTABLE' => 2, 'TIMESTAMP' => 2, 'UNDEFINED' => 2,
- 'UNINSTALL' => 2, 'VARIABLES' => 2,
- 'COMPLETION' => 2, 'COMPRESSED' => 2, 'CONCURRENT' => 2, 'CONNECTION' => 2,
- 'CONSISTENT' => 2, 'DEALLOCATE' => 2, 'GET_FORMAT' => 2, 'IDENTIFIED' => 2,
- 'LINESTRING' => 2, 'MASTER_SSL' => 2, 'MULTIPOINT' => 2, 'NDBCLUSTER' => 2,
- 'PARTITIONS' => 2, 'PLUGIN_DIR' => 2, 'PRIVILEGES' => 2, 'REORGANIZE' => 2,
- 'REPEATABLE' => 2, 'ROW_FORMAT' => 2, 'SQL_THREAD' => 2, 'TABLESPACE' => 2,
- 'TABLE_NAME' => 2, 'VALIDATION' => 2,
- 'COLUMN_NAME' => 2, 'COMPRESSION' => 2, 'CURSOR_NAME' => 2, 'DIAGNOSTICS' => 2,
- 'EXTENT_SIZE' => 2, 'MASTER_HOST' => 2, 'MASTER_PORT' => 2, 'MASTER_USER' => 2,
- 'MICROSECOND' => 2, 'MYSQL_ERRNO' => 2, 'NONBLOCKING' => 2, 'PROCESSLIST' => 2,
- 'REPLICATION' => 2, 'SCHEMA_NAME' => 2, 'SQL_TSI_DAY' => 2, 'TRANSACTION' => 2,
- 'UNCOMMITTED' => 2,
- 'CATALOG_NAME' => 2, 'CLASS_ORIGIN' => 2, 'DEFAULT_AUTH' => 2,
- 'DES_KEY_FILE' => 2, 'INITIAL_SIZE' => 2, 'MASTER_DELAY' => 2,
- 'MESSAGE_TEXT' => 2, 'MULTIPOLYGON' => 2, 'OLD_PASSWORD' => 2,
- 'PARTITIONING' => 2, 'RELAY_THREAD' => 2, 'SERIALIZABLE' => 2,
- 'SQL_NO_CACHE' => 2, 'SQL_TSI_HOUR' => 2, 'SQL_TSI_WEEK' => 2,
- 'SQL_TSI_YEAR' => 2, 'SUBPARTITION' => 2, 'TIMESTAMPADD' => 2,
- 'COLUMN_FORMAT' => 2, 'INSERT_METHOD' => 2, 'MASTER_SSL_CA' => 2,
- 'RELAY_LOG_POS' => 2, 'SQL_TSI_MONTH' => 2, 'SUBPARTITIONS' => 2,
- 'TIMESTAMPDIFF' => 2, 'WEIGHT_STRING' => 2,
- 'AUTO_INCREMENT' => 2, 'AVG_ROW_LENGTH' => 2, 'KEY_BLOCK_SIZE' => 2,
- 'MASTER_LOG_POS' => 2, 'MASTER_SSL_CRL' => 2, 'MASTER_SSL_KEY' => 2,
- 'RELAY_LOG_FILE' => 2, 'SQL_TSI_MINUTE' => 2, 'SQL_TSI_SECOND' => 2,
- 'TABLE_CHECKSUM' => 2, 'USER_RESOURCES' => 2,
- 'AUTOEXTEND_SIZE' => 2, 'CONSTRAINT_NAME' => 2, 'DELAY_KEY_WRITE' => 2,
- 'FILE_BLOCK_SIZE' => 2, 'MASTER_LOG_FILE' => 2, 'MASTER_PASSWORD' => 2,
- 'MASTER_SSL_CERT' => 2, 'MULTILINESTRING' => 2, 'PARSE_GCOL_EXPR' => 2,
- 'REPLICATE_DO_DB' => 2, 'SQL_AFTER_GTIDS' => 2, 'SQL_TSI_QUARTER' => 2,
- 'SUBCLASS_ORIGIN' => 2,
- 'MASTER_SERVER_ID' => 2, 'REDO_BUFFER_SIZE' => 2, 'SQL_BEFORE_GTIDS' => 2,
- 'STATS_PERSISTENT' => 2, 'UNDO_BUFFER_SIZE' => 2,
- 'CONSTRAINT_SCHEMA' => 2, 'GROUP_REPLICATION' => 2, 'IGNORE_SERVER_IDS' => 2,
- 'MASTER_SSL_CAPATH' => 2, 'MASTER_SSL_CIPHER' => 2, 'RETURNED_SQLSTATE' => 2,
- 'SQL_BUFFER_RESULT' => 2, 'STATS_AUTO_RECALC' => 2,
- 'CONSTRAINT_CATALOG' => 2, 'GEOMETRYCOLLECTION' => 2, 'MASTER_RETRY_COUNT' => 2,
- 'MASTER_SSL_CRLPATH' => 2, 'MAX_STATEMENT_TIME' => 2, 'REPLICATE_DO_TABLE' => 2,
- 'SQL_AFTER_MTS_GAPS' => 2, 'STATS_SAMPLE_PAGES' => 2,
- 'REPLICATE_IGNORE_DB' => 2,
- 'MASTER_AUTO_POSITION' => 2, 'MASTER_CONNECT_RETRY' => 2,
- 'MAX_QUERIES_PER_HOUR' => 2, 'MAX_UPDATES_PER_HOUR' => 2,
- 'MAX_USER_CONNECTIONS' => 2, 'REPLICATE_REWRITE_DB' => 2,
- 'REPLICATE_IGNORE_TABLE' => 2,
- 'MASTER_HEARTBEAT_PERIOD' => 2, 'REPLICATE_WILD_DO_TABLE' => 2,
- 'MAX_CONNECTIONS_PER_HOUR' => 2,
- 'REPLICATE_WILD_IGNORE_TABLE' => 2,
+ 'AS' => 3, 'BY' => 3, 'IF' => 3, 'IN' => 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, 'MOD' => 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, 'INT1' => 3, 'INT2' => 3,
+ 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
+ 'KILL' => 3, 'LEFT' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3,
+ 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
+ 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
+ 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
+ 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
+ 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'MATCH' => 3, 'ORDER' => 3,
+ 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RIGHT' => 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, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
+ 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'INSERT' => 3, 'LINEAR' => 3,
+ 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'REPEAT' => 3, 'RETURN' => 3,
+ 'REVOKE' => 3, 'SCHEMA' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3,
+ 'UNLOCK' => 3, 'UPDATE' => 3, 'VALUES' => 3,
+ 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'CONVERT' => 3,
+ 'DECLARE' => 3, 'DEFAULT' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3,
+ 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3,
+ 'PRIMARY' => 3, 'RELEASE' => 3, 'REPLACE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3,
+ 'SPATIAL' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
+ 'CONTINUE' => 3, 'DATABASE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3,
+ 'DISTINCT' => 3, 'ENCLOSED' => 3, 'FULLTEXT' => 3, 'MAXVALUE' => 3,
+ 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3,
+ 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3,
+ 'UNSIGNED' => 3, 'UTC_DATE' => 3, 'UTC_TIME' => 3, 'ZEROFILL' => 3,
+ 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'LOCALTIME' => 3,
+ 'MIDDLEINT' => 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,
+ 'CURRENT_DATE' => 3, 'CURRENT_TIME' => 3, 'CURRENT_USER' => 3,
+ 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
+ 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
+ 'STRAIGHT_JOIN' => 3, 'UTC_TIMESTAMP' => 3,
+ 'IO_AFTER_GTIDS' => 3, 'LOCALTIMESTAMP' => 3, 'SQL_BIG_RESULT' => 3,
+ 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
+ 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
+ 'CURRENT_TIMESTAMP' => 3,
+ 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
+ 'SQL_CALC_FOUND_ROWS' => 3,
+ 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
- 'NOT NULL' => 4,
- 'INDEX KEY' => 4,
- 'UNIQUE KEY' => 4,
- 'FOREIGN KEY' => 4, 'PRIMARY KEY' => 4, 'PRIMARY KEY' => 4, 'SPATIAL KEY' => 4,
- 'FULLTEXT KEY' => 4, 'UNIQUE INDEX' => 4,
- 'CHARACTER SET' => 4, 'IF NOT EXISTS' => 4, 'SPATIAL INDEX' => 4,
- 'DATA DIRECTORY' => 4, 'FULLTEXT INDEX' => 4,
- 'DEFAULT COLLATE' => 4, 'INDEX DIRECTORY' => 4,
- 'DEFAULT CHARACTER SET' => 4,
+ 'NOT NULL' => 5,
+ 'ON UPDATE' => 5,
+ 'CHARACTER SET' => 5, 'IF NOT EXISTS' => 5,
+ 'DATA DIRECTORY' => 5,
+ 'DEFAULT COLLATE' => 5, 'INDEX DIRECTORY' => 5,
+ 'DEFAULT CHARACTER SET' => 5,
+
+ 'XML' => 9,
+ 'DATE' => 9, 'ENUM' => 9, 'TEXT' => 9, 'TIME' => 9, 'YEAR' => 9,
+ 'ARRAY' => 9,
+ 'BOOLEAN' => 9,
+ 'DATETIME' => 9, 'MULTISET' => 9,
+ 'TIMESTAMP' => 9,
+
+ 'INT' => 11, 'SET' => 11,
+ 'BLOB' => 11, 'CHAR' => 11, 'REAL' => 11,
+ 'FLOAT' => 11,
+ 'BIGINT' => 11, 'BINARY' => 11, 'DOUBLE' => 11,
+ 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
+ 'INTERVAL' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11,
+ 'TINYBLOB' => 11, 'TINYTEXT' => 11,
+ 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
+ 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
+
+ 'BINARY VARYING' => 13,
+
+ 'KEY' => 19,
+ 'INDEX' => 19,
+ 'UNIQUE' => 19,
+
+ 'INDEX KEY' => 21,
+ 'UNIQUE KEY' => 21,
+ 'FOREIGN KEY' => 21, 'PRIMARY KEY' => 21, 'SPATIAL KEY' => 21,
+ 'FULLTEXT KEY' => 21, 'UNIQUE INDEX' => 21,
+ 'SPATIAL INDEX' => 21,
+ 'FULLTEXT INDEX' => 21,
);
}
diff --git a/src/Fragments/DataTypeFragment.php b/src/Fragments/DataTypeFragment.php
index 7baefdd..740fbfd 100644
--- a/src/Fragments/DataTypeFragment.php
+++ b/src/Fragments/DataTypeFragment.php
@@ -88,8 +88,8 @@ class DataTypeFragment extends Fragment
}
if ($state === 0) {
- $ret->name = $token->value;
- if (!isset(Context::$DATA_TYPES[$token->value])) {
+ $ret->name = strtoupper($token->value);
+ if (($token->type !== Token::TYPE_KEYWORD) || (!($token->flags & Token::FLAG_KEYWORD_DATA_TYPE))) {
$parser->error('Unrecognized data type.', $token);
}
$state = 1;
diff --git a/src/Fragments/FieldDefFragment.php b/src/Fragments/FieldDefFragment.php
index ba4b6dc..f4a08bd 100644
--- a/src/Fragments/FieldDefFragment.php
+++ b/src/Fragments/FieldDefFragment.php
@@ -38,6 +38,7 @@ class FieldDefFragment extends Fragment
'UNIQUE KEY' => 4,
'COMMENT' => array(5, 'var'),
'COLUMN_FORMAT' => array(6, 'var'),
+ 'ON UPDATE' => array(7, 'var'),
);
/**
@@ -133,16 +134,14 @@ class FieldDefFragment extends Fragment
}
continue;
} elseif ($state === 1) {
- if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
- if ($token->value === 'CONSTRAINT') {
- $state = 4;
- } elseif (isset(Context::$KEY_TYPES[$token->value])) {
- $expr->type = $token->value;
- $state = 5;
- } else {
- $parser->error('Unexpected keyword.', $token);
- break; // TODO: Skip to the end of the query.
- }
+ if (($token->type === Token::TYPE_KEYWORD) && ($token->value === 'CONSTRAINT')) {
+ $state = 4;
+ } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_KEY)) {
+ $expr->type = $token->value;
+ $state = 5;
+ } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
+ $parser->error('Unexpected keyword.', $token);
+ break; // TODO: Skip to the end of the query.
} else {
$expr->name = $token->value;
$state = 2;
@@ -154,17 +153,23 @@ class FieldDefFragment extends Fragment
$expr->options = OptionsFragment::parse($parser, $list, static::$FIELD_OPTIONS);
$state = 6;
} elseif ($state === 4) {
- if (!isset(Context::$KEY_TYPES[$token->value])) {
+ if (($token->type !== Token::TYPE_KEYWORD) || (!($token->flags & Token::FLAG_KEYWORD_KEY))) {
$expr->name = $token->value;
} else {
$expr->type = $token->value;
$state = 5;
}
} elseif ($state === 5) {
- $expr->indexes = ArrayFragment::parse($parser, $list);
- $state = 6;
+ if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
+ $expr->indexes = ArrayFragment::parse($parser, $list);
+ $state = 6;
+ } else {
+ $expr->name = $token->value;
+ }
} elseif ($state === 6) {
- $ret[] = $expr;
+ if (!empty($expr->type)) {
+ $ret[] = $expr;
+ }
$expr = new FieldDefFragment();
if ($token->value === ',') {
$state = 1;
@@ -178,7 +183,7 @@ class FieldDefFragment extends Fragment
}
// Last iteration was not saved.
- if (!empty($expr->name)) {
+ if (!empty($expr->type)) {
$ret[] = $expr;
}
diff --git a/src/Fragments/OptionsFragment.php b/src/Fragments/OptionsFragment.php
index f002f5b..dfb4fc9 100644
--- a/src/Fragments/OptionsFragment.php
+++ b/src/Fragments/OptionsFragment.php
@@ -70,30 +70,24 @@ class OptionsFragment extends Fragment
continue;
}
- if (isset($options[strtoupper($token->value)])) {
- $lastOption = $options[strtoupper($token->value)];
- $lastOptionId = is_array($lastOption) ? $lastOption[0] : $lastOption;
-
- // Checking for option conflicts.
- // For example, in `SELECT` statements the keywords `ALL` and `DISTINCT`
- // conflict and if used together, they produce an invalid query.
- // Usually, tokens can be identified in the array by the option ID,
- // but if conflicts occur, a psuedo option ID is used.
- // The first pseudo duplicate ID is the maximum value of the real
- // options (e.g. if there are 5 options, the first fake ID is 6).
- if (isset($ret->options[$lastOptionId])) {
- $parser->error('This option conflicts with \'' . $ret->options[$lastOptionId] . '\'.', $token);
- $lastOptionId = $lastAssignedId++;
- }
- } else {
- // There is no option to be processed.
- if ($lastOption === null) {
- break;
- }
-
- // The only keywords that are expected are those which are
- // options.
- if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
+ if ($lastOption === null) {
+ if (isset($options[strtoupper($token->value)])) {
+ $lastOption = $options[strtoupper($token->value)];
+ $lastOptionId = is_array($lastOption) ? $lastOption[0] : $lastOption;
+
+ // Checking for option conflicts.
+ // For example, in `SELECT` statements the keywords `ALL` and `DISTINCT`
+ // conflict and if used together, they produce an invalid query.
+ // Usually, tokens can be identified in the array by the option ID,
+ // but if conflicts occur, a psuedo option ID is used.
+ // The first pseudo duplicate ID is the maximum value of the real
+ // options (e.g. if there are 5 options, the first fake ID is 6).
+ if (isset($ret->options[$lastOptionId])) {
+ $parser->error('This option conflicts with \'' . $ret->options[$lastOptionId] . '\'.', $token);
+ $lastOptionId = $lastAssignedId++;
+ }
+ } else {
+ // There is no option to be processed.
break;
}
}
diff --git a/src/Token.php b/src/Token.php
index 5a378ca..867976c 100644
--- a/src/Token.php
+++ b/src/Token.php
@@ -114,9 +114,12 @@ class Token
const TYPE_DELIMITER = 9;
// Flags that describe the tokens in more detail.
- const FLAG_KEYWORD_RESERVED = 1;
- const FLAG_KEYWORD_UNRESERVED = 2;
+ // All keywords must have flag 1 so `Context::isKeyword` method doesn't
+ // require strict comparison.
+ const FLAG_KEYWORD_RESERVED = 2;
const FLAG_KEYWORD_COMPOSED = 4;
+ const FLAG_KEYWORD_DATA_TYPE = 8;
+ const FLAG_KEYWORD_KEY = 16;
// Numbers related flags.
const FLAG_NUMBER_HEX = 1;
@@ -207,10 +210,12 @@ class Token
{
switch ($this->type) {
case Token::TYPE_KEYWORD:
- if ($this->flags & Token::FLAG_KEYWORD_RESERVED) {
- return strtoupper($this->token);
+ if (!($this->flags & Token::FLAG_KEYWORD_RESERVED)) {
+ // Unreserved keywords should stay the way they are because they
+ // might represent field names.
+ return $this->token;
}
- return $this->token;
+ return strtoupper($this->token);
case Token::TYPE_WHITESPACE:
return ' ';
case Token::TYPE_BOOL:
diff --git a/src/Utils/Misc.php b/src/Utils/Misc.php
index 2174060..22227a8 100644
--- a/src/Utils/Misc.php
+++ b/src/Utils/Misc.php
@@ -19,8 +19,8 @@ class Misc
/**
* Gets a list of all aliases and their original names.
*
- * @param SelectStatement $tree The tree that was generated after parsing.
- * @param string $database The name of the database.
+ * @param SelectStatement $tree The tree that was generated after parsing.
+ * @param string $database The name of the database.
*
* @return array
*/
diff --git a/src/Utils/Table.php b/src/Utils/Table.php
new file mode 100644
index 0000000..7560f9d
--- /dev/null
+++ b/src/Utils/Table.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace SqlParser\Utils;
+
+use SqlParser\Lexer;
+use SqlParser\Parser;
+use SqlParser\Fragments\DataTypeFragment;
+use SqlParser\Fragments\ParamDefFragment;
+use SqlParser\Statements\CreateStatement;
+
+/**
+ * Table utilities.
+ *
+ * @category Tables
+ * @package SqlParser
+ * @subpackage Utils
+ * @author Dan Ungureanu <udan1107@gmail.com>
+ * @license http://opensource.org/licenses/GPL-2.0 GNU Public License
+ */
+class Table
+{
+
+ public static function getFields(CreateStatement $tree)
+ {
+ if (($tree->fields === null) || (!$tree->options->has('TABLE'))) {
+ return array();
+ }
+
+ $ret = array();
+
+ foreach ($tree->fields as $field) {
+
+ // Skipping keys.
+ if (is_string($field->type)) {
+ continue;
+ }
+
+ $ret[$field->name] = array(
+ 'type' => $field->type->name,
+ 'timestamp_not_null' => false,
+ );
+
+ if ($field->options) {
+
+ if ($field->type->name === 'TIMESTAMP') {
+ if ($field->options->has('NOT NULL')) {
+ $ret[$field->name]['timestamp_not_null'] = true;
+ }
+ }
+
+ if (($option = $field->options->has('DEFAULT'))) {
+ $ret[$field->name]['default_value'] = $option;
+ if ($option === 'CURRENT_TIMESTAMP') {
+ $ret[$field->name]['default_current_timestamp'] = true;
+ }
+ }
+
+ if (($option = $field->options->has('ON UPDATE'))) {
+ if ($option === 'CURRENT_TIMESTAMP') {
+ $ret[$field->name]['on_update_current_timestamp'] = true;
+ }
+ }
+ }
+
+ }
+
+ return $ret;
+ }
+}