diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-04-08 19:32:17 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-04-08 19:32:17 +0000 |
commit | ce44079e15c6ad11589b0237fd78ee6b4b364bfa (patch) | |
tree | 5a5ed2444afd6a463440873756c41e01a2bc77f5 /Source | |
parent | 1e7eec7003844f7ff503fe7bf8f4f405df4563f4 (diff) | |
download | sequelpro-ce44079e15c6ad11589b0237fd78ee6b4b364bfa.tar.gz sequelpro-ce44079e15c6ad11589b0237fd78ee6b4b364bfa.tar.bz2 sequelpro-ce44079e15c6ad11589b0237fd78ee6b4b364bfa.zip |
• keyword update for syntax highlighting
• keyword update for completion
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMTextView.m | 325 | ||||
-rw-r--r-- | Source/SPEditorTokens.l | 32 |
2 files changed, 349 insertions, 8 deletions
diff --git a/Source/CMTextView.m b/Source/CMTextView.m index b61159f7..53be88c7 100644 --- a/Source/CMTextView.m +++ b/Source/CMTextView.m @@ -563,8 +563,15 @@ YY_BUFFER_STATE yy_scan_string (const char *); -(NSArray *)keywords { return [NSArray arrayWithObjects: + @"ACCESSIBLE", + @"ACTION", @"ADD", + @"AFTER", + @"AGAINST", + @"AGGREGATE", + @"ALGORITHM", @"ALL", + @"ALTER", @"ALTER TABLE", @"ALTER VIEW", @"ALTER SCHEMA", @@ -575,29 +582,70 @@ YY_BUFFER_STATE yy_scan_string (const char *); @"ALTER PROCEDURE", @"ANALYZE", @"AND", + @"ANY", + @"AS", @"ASC", + @"ASCII", @"ASENSITIVE", + @"AT", + @"AUTHORS", + @"AUTOEXTEND_SIZE", + @"AUTO_INCREMENT", + @"AVG", + @"AVG_ROW_LENGTH", + @"BACKUP", @"BEFORE", + @"BEGIN", @"BETWEEN", @"BIGINT", @"BINARY", + @"BINLOG", + @"BIT", @"BLOB", + @"BOOL", + @"BOOLEAN", @"BOTH", + @"BTREE", + @"BY", + @"BYTE", + @"CACHE", @"CALL", @"CASCADE", + @"CASCADED", @"CASE", + @"CHAIN", @"CHANGE", + @"CHANGED", @"CHAR", @"CHARACTER", + @"CHARSET", @"CHECK", + @"CHECKSUM", + @"CIPHER", + @"CLIENT", + @"CLOSE", + @"COALESCE", + @"CODE", @"COLLATE", + @"COLLATION", @"COLUMN", @"COLUMNS", + @"COMMENT", + @"COMMIT", + @"COMMITTED", + @"COMPACT", + @"COMPLETION", + @"COMPRESSED", + @"CONCURRENT", @"CONDITION", @"CONNECTION", + @"CONSISTENT", @"CONSTRAINT", + @"CONTAINS", @"CONTINUE", + @"CONTRIBUTORS", @"CONVERT", + @"CREATE", @"CREATE VIEW", @"CREATE INDEX", @"CREATE FUNCTION", @@ -608,30 +656,46 @@ YY_BUFFER_STATE yy_scan_string (const char *); @"CREATE TABLE", @"CREATE USER", @"CROSS", + @"CUBE", @"CURRENT_DATE", @"CURRENT_TIME", @"CURRENT_TIMESTAMP", @"CURRENT_USER", @"CURSOR", + @"DATA", @"DATABASE", @"DATABASES", + @"DATAFILE", + @"DATE", + @"DATETIME", + @"DAY", @"DAY_HOUR", @"DAY_MICROSECOND", @"DAY_MINUTE", @"DAY_SECOND", + @"DEALLOCATE", @"DEC", @"DECIMAL", @"DECLARE", @"DEFAULT", + @"DEFINER", @"DELAYED", + @"DELAY_KEY_WRITE", @"DELETE", @"DESC", @"DESCRIBE", + @"DES_KEY_FILE", @"DETERMINISTIC", + @"DIRECTORY", + @"DISABLE", + @"DISCARD", + @"DISK", @"DISTINCT", @"DISTINCTROW", @"DIV", + @"DO", @"DOUBLE", + @"DROP", @"DROP TABLE", @"DROP TRIGGER", @"DROP VIEW", @@ -645,107 +709,296 @@ YY_BUFFER_STATE yy_scan_string (const char *); @"DROP PRIMARY KEY", @"DROP DATABASE", @"DUAL", + @"DUMPFILE", + @"DUPLICATE", + @"DYNAMIC", @"EACH", @"ELSE", @"ELSEIF", + @"ENABLE", @"ENCLOSED", + @"END", + @"ENDS", + @"ENGINE", + @"ENGINES", + @"ENUM", + @"ERRORS", + @"ESCAPE", @"ESCAPED", + @"EVENT", + @"EVENTS", + @"EVERY", + @"EXECUTE", @"EXISTS", @"EXIT", + @"EXPANSION", @"EXPLAIN", + @"EXTENDED", + @"EXTENT_SIZE", @"FALSE", + @"FAST", @"FETCH", @"FIELDS", + @"FILE", + @"FIRST", + @"FIXED", @"FLOAT", + @"FLOAT4", + @"FLOAT8", + @"FLUSH", @"FOR", @"FORCE", + @"FOREIGN", @"FOREIGN KEY", @"FOUND", + @"FRAC_SECOND", @"FROM", + @"FULL", @"FULLTEXT", - @"GOTO", + @"FUNCTION", + @"GEOMETRY", + @"GEOMETRYCOLLECTION", + @"GET_FORMAT", + @"GLOBAL", @"GRANT", + @"GRANTS", @"GROUP", + @"HANDLER", + @"HASH", @"HAVING", + @"HELP", @"HIGH_PRIORITY", + @"HOSTS", + @"HOUR", @"HOUR_MICROSECOND", @"HOUR_MINUTE", @"HOUR_SECOND", + @"IDENTIFIED", + @"IF", @"IGNORE", + @"IMPORT", + @"IN", @"INDEX", + @"INDEXES", @"INFILE", + @"INITIAL_SIZE", @"INNER", + @"INNOBASE", + @"INNODB", @"INOUT", @"INSENSITIVE", @"INSERT", + @"INSERT_METHOD", + @"INSTALL", @"INT", + @"INT1", + @"INT2", + @"INT3", + @"INT4", + @"INT8", @"INTEGER", @"INTERVAL", @"INTO", + @"INVOKER", + @"IO_THREAD", + @"IS", + @"ISOLATION", + @"ISSUER", @"ITERATE", @"JOIN", @"KEY", @"KEYS", + @"KEY_BLOCK_SIZE", @"KILL", + @"LANGUAGE", + @"LAST", @"LEADING", @"LEAVE", + @"LEAVES", @"LEFT", + @"LESS", + @"LEVEL", @"LIKE", @"LIMIT", + @"LINEAR", @"LINES", - @"LOAD", + @"LINESTRING", + @"LIST", + @"LOAD DATA", + @"LOCAL", @"LOCALTIME", @"LOCALTIMESTAMP", @"LOCK", + @"LOCKS", + @"LOGFILE", + @"LOGS", @"LONG", @"LONGBLOB", @"LONGTEXT", @"LOOP", @"LOW_PRIORITY", + @"MASTER", + @"MASTER_CONNECT_RETRY", + @"MASTER_HOST", + @"MASTER_LOG_FILE", + @"MASTER_LOG_POS", + @"MASTER_PASSWORD", + @"MASTER_PORT", + @"MASTER_SERVER_ID", + @"MASTER_SSL", + @"MASTER_SSL_CA", + @"MASTER_SSL_CAPATH", + @"MASTER_SSL_CERT", + @"MASTER_SSL_CIPHER", + @"MASTER_SSL_KEY", + @"MASTER_USER", @"MATCH", + @"MAXVALUE", + @"MAX_CONNECTIONS_PER_HOUR", + @"MAX_QUERIES_PER_HOUR", + @"MAX_ROWS", + @"MAX_SIZE", + @"MAX_UPDATES_PER_HOUR", + @"MAX_USER_CONNECTIONS", + @"MEDIUM", @"MEDIUMBLOB", @"MEDIUMINT", @"MEDIUMTEXT", + @"MEMORY", + @"MERGE", + @"MICROSECOND", @"MIDDLEINT", + @"MIGRATE", + @"MINUTE", @"MINUTE_MICROSECOND", @"MINUTE_SECOND", + @"MIN_ROWS", @"MOD", + @"MODE", + @"MODIFIES", + @"MODIFY", + @"MONTH", + @"MULTILINESTRING", + @"MULTIPOINT", + @"MULTIPOLYGON", + @"MUTEX", + @"NAME", + @"NAMES", + @"NATIONAL", @"NATURAL", + @"NCHAR", + @"NDB", + @"NDBCLUSTER", + @"NEW", + @"NEXT", + @"NO", + @"NODEGROUP", + @"NONE", @"NOT", + @"NO_WAIT", @"NO_WRITE_TO_BINLOG", @"NULL", @"NUMERIC", + @"NVARCHAR", + @"OFFSET", + @"OLD_PASSWORD", @"ON", + @"ONE", + @"ONE_SHOT", + @"OPEN", @"OPTIMIZE", @"OPTION", @"OPTIONALLY", + @"OR", @"ORDER", @"OUT", @"OUTER", @"OUTFILE", + @"PACK_KEYS", + @"PARSER", + @"PARTIAL", + @"PARTITION", + @"PARTITIONING", + @"PARTITIONS", + @"PASSWORD", + @"PHASE", + @"PLUGIN", + @"PLUGINS", + @"POINT", + @"POLYGON", @"PRECISION", + @"PREPARE", + @"PRESERVE", + @"PREV", @"PRIMARY", @"PRIVILEGES", @"PROCEDURE", + @"PROCESS", + @"PROCESSLIST", @"PURGE", + @"QUARTER", + @"QUERY", + @"QUICK", + @"RANGE", @"READ", + @"READS", + @"READ_ONLY", + @"READ_WRITE", @"REAL", + @"REBUILD", + @"RECOVER", + @"REDOFILE", + @"REDO_BUFFER_SIZE", + @"REDUNDANT", @"REFERENCES", @"REGEXP", + @"RELAY_LOG_FILE", + @"RELAY_LOG_POS", + @"RELAY_THREAD", + @"RELEASE", + @"RELOAD", + @"REMOVE", @"RENAME", + @"REORGANIZE", + @"REPAIR", @"REPEAT", + @"REPEATABLE", @"REPLACE", + @"REPLICATION", @"REQUIRE", + @"RESET", + @"RESTORE", @"RESTRICT", + @"RESUME", @"RETURN", + @"RETURNS", @"REVOKE", @"RIGHT", @"RLIKE", + @"ROLLBACK", + @"ROLLUP", + @"ROUTINE", + @"ROW", + @"ROWS", + @"ROW_FORMAT", + @"RTREE", + @"SAVEPOINT", + @"SCHEDULE", + @"SCHEDULER", + @"SCHEMA", + @"SCHEMAS", + @"SECOND", @"SECOND_MICROSECOND", + @"SECURITY", @"SELECT", @"SENSITIVE", @"SEPARATOR", + @"SERIAL", + @"SERIALIZABLE", + @"SESSION", @"SET", + @"SHARE", + @"SHOW", @"SHOW PROCEDURE STATUS", @"SHOW PROCESSLIST", @"SHOW SCHEMAS", @@ -785,8 +1038,15 @@ YY_BUFFER_STATE yy_scan_string (const char *); @"SHOW ENGINE", @"SHOW ENGINES", @"SHOW KEYS", + @"SHUTDOWN", + @"SIGNED", + @"SIMPLE", + @"SLAVE", @"SMALLINT", + @"SNAPSHOT", + @"SOME", @"SONAME", + @"SOUNDS", @"SPATIAL", @"SPECIFIC", @"SQL", @@ -794,44 +1054,105 @@ YY_BUFFER_STATE yy_scan_string (const char *); @"SQLSTATE", @"SQLWARNING", @"SQL_BIG_RESULT", + @"SQL_BUFFER_RESULT", + @"SQL_CACHE", @"SQL_CALC_FOUND_ROWS", + @"SQL_NO_CACHE", @"SQL_SMALL_RESULT", + @"SQL_THREAD", + @"SQL_TSI_DAY", + @"SQL_TSI_FRAC_SECOND", + @"SQL_TSI_HOUR", + @"SQL_TSI_MINUTE", + @"SQL_TSI_MONTH", + @"SQL_TSI_QUARTER", + @"SQL_TSI_SECOND", + @"SQL_TSI_WEEK", + @"SQL_TSI_YEAR", @"SSL", + @"START", @"STARTING", + @"STARTS", + @"STATUS", + @"STOP", + @"STORAGE", @"STRAIGHT_JOIN", + @"STRING", + @"SUBJECT", + @"SUBPARTITION", + @"SUBPARTITIONS", + @"SUPER", + @"SUSPEND", @"TABLE", @"TABLES", + @"TABLESPACE", + @"TEMPORARY", + @"TEMPTABLE", @"TERMINATED", + @"TEXT", + @"THAN", @"THEN", + @"TIME", + @"TIMESTAMP", + @"TIMESTAMPADD", + @"TIMESTAMPDIFF", @"TINYBLOB", @"TINYINT", @"TINYTEXT", + @"TO", @"TRAILING", + @"TRANSACTION", @"TRIGGER", + @"TRIGGERS", @"TRUE", + @"TRUNCATE", + @"TYPE", + @"TYPES", + @"UNCOMMITTED", + @"UNDEFINED", @"UNDO", + @"UNDOFILE", + @"UNDO_BUFFER_SIZE", + @"UNICODE", + @"UNINSTALL", @"UNION", @"UNIQUE", + @"UNKNOWN", @"UNLOCK", @"UNSIGNED", + @"UNTIL", @"UPDATE", + @"UPGRADE", @"USAGE", @"USE", + @"USER", + @"USER_RESOURCES", + @"USE_FRM", @"USING", @"UTC_DATE", @"UTC_TIME", @"UTC_TIMESTAMP", + @"VALUE", @"VALUES", @"VARBINARY", @"VARCHAR", @"VARCHARACTER", + @"VARIABLES", @"VARYING", + @"VIEW", + @"WAIT", + @"WARNINGS", + @"WEEK", @"WHEN", @"WHERE", @"WHILE", @"WITH", + @"WORK", @"WRITE", + @"X509", + @"XA", @"XOR", + @"YEAR", @"YEAR_MONTH", @"ZEROFILL", nil]; diff --git a/Source/SPEditorTokens.l b/Source/SPEditorTokens.l index e062cf3e..4a177f07 100644 --- a/Source/SPEditorTokens.l +++ b/Source/SPEditorTokens.l @@ -33,7 +33,8 @@ ops "+"|"-"|"*"|"/" word [a-z_\.0-9À-゚@] variable @{1,2}[a-z_\.0-9À-゚$]+ nonword [^a-z_0-9À-゚#\n\t] -keyword (R(IGHT|E(GEXP|S(T(RICT|ORE{s}TABLE)|ET)|NAME|TURN|P(EAT|LACE|AIR)|VOKE|QUIRE|FERENCES|LEASE|A(D(S|_WRITE)?|L))|LIKE|ANGE)|G(R(OUP{s}BY|ANT)|LOBAL)|XOR|M(I(NUTE_(MICROSECOND|SECOND)|DDLEINT)|OD(IFIES)?|EDIUM(BLOB|TEXT|INT)|A(STER_SSL_VERIFY_SERVER_CERT|TCH))|B(Y|I(GINT|NARY)|OTH|E(TWEEN|FORE)|LOB|ACKUP{s}TABLE)|S(MALLINT|SL|HOW({s}(E(NGINE(S)?|RRORS)|M(ASTER|UTEX)|BINLOG|GRANTS|INNODB|P(RIVILEGES|ROFILE(S)?|ROCEDURE{s}CODE)|SLAVE{s}(HOSTS|STATUS)|TRIGGERS|VARIABLES|WARNINGS))?|CHEMA(S)?|T(RAIGHT_JOIN|A(RTING{s}BY|TUS))|P(ECIFIC|ATIAL)|E(SSION|NSITIVE|COND_MICROSECOND|T({s}(PASSWORD|NAMES|ONE_SHOT))?|PARATOR|LECT)|QL(STATE|_(B(IG_RESULT|UFFER_RESULT)|SMALL_RESULT|NO_CACHE|CA(CHE|LC_FOUND_ROWS))|EXCEPTION|WARNING)?)|H(IGH_PRIORITY|OUR_(MI(NUTE|CROSECOND)|SECOND)|A(NDLER|VING))|YEAR_MONTH|N(O(_WRITE_TO_BINLOG|T)|U(MERIC|LL)|EXT|ATURAL)|C(R(OSS|EATE)|H(ECK(SUM{s}TABLE)?|A(R(ACTER)?|NGE))|O(N(STRAINT|CURRENT|TINUE|DITION|VERT)|L(UMN|LATE))|UR(RENT_(TIME(STAMP)?|DATE|USER)|SOR)|LOSE|A(S(CADE|E)|CHE{s}INDEX|LL))|T(R(IGGER|U(NCATE|E)|AILING)|HEN|INY(BLOB|TEXT|INT)|O|ERMINATED{s}BY|ABLE)|I(GNORE|S|N(SE(RT|NSITIVE)|NER|T(1|2|8|3|O({s}(DUMP|OUT)FILE)?|4|E(RVAL|GER))?|OUT|DEX|FILE)?|TERATE|F)|ZEROFILL|O(R(DER{s}BY)?|N{s}(DUPLICATE{s}KEY{s}UPDATE)?|UT(ER|FILE)?|P(TI(MIZE|ON(ALLY)?)|EN)|FFSET)|D(ROP|I(STINCT(ROW)?|V)|O(UBLE)?|UAL|E(SC(RIBE)?|C(IMAL|LARE)?|TERMINISTIC|FAULT|L(ETE|AYED))|A(Y_(MI(NUTE|CROSECOND)|SECOND|HOUR)|TABASE(S)?))|U(S(ING|E|AGE)|N(SIGNED|I(ON|QUE)|DO|LOCK)|TC_(TIME(STAMP)?|DATE)|PDATE)|JOIN|P(R(IMARY|OCEDURE|E(CISION|PARE|V))|URGE)|E(X(I(STS|T)|PLAIN|ECUTE)|SCAPED{s}BY|NCLOSED{s}BY|LSE(IF)?|ACH)|VA(R(BINARY|YING|CHAR(ACTER)?)|LUES)|K(ILL({s}(CONNECTION|QUERY))?|EY(S)?)|QUICK|F(ROM|IRST|OR(CE|EIGN)?|ULLTEXT|ETCH|L(OAT(8|4)?|USH)|ALSE)|W(RITE|H(ILE|E(RE|N))|ITH)|L(I(MIT|NE(S|AR)|KE)|O(GS|NG(BLOB|TEXT)?|C(K|AL(TIME(STAMP)?)?)|OP|W_PRIORITY|AD{s}(DATA|INDEX{s}INTO{s}CACHE))|E(FT|A(DING|VE))|AST)|A(S(C|ENSITIVE)?|N(D|ALYZE)|CCESSIBLE|DD|UTO_INCREMENT|L(TER|L))) +keyworda (G(R(OUP{s}BY|ANT)|LOBAL)|B(Y|TREE|I(GINT|NARY)|OTH|E(TWEEN|FORE)|LOB|ACKUP{s}TABLE)|H(IGH_PRIORITY|OUR_(MI(NUTE|CROSECOND)|SECOND)|A(SH|NDLER|VING))|C(R(OSS|EATE)|H(ECK(SUM{s}TABLE)?|A(R(ACTER)?|NGE))|O(MMENT|N(STRAINT|CURRENT|TINUE|DITION|VERT)|L(UMN|LATE)|ALESCE{s}PARTITION)|UR(RENT_(TIME(STAMP)?|DATE|USER)|SOR)|LOSE|A(S(CADE|E)|CHE{s}INDEX|LL))|I(GNORE|MPORT{s}TABLESPACE|S|N(SE(RT|NSITIVE)|NER|T(1|2|8|3|O({s}(DUMP|OUT)FILE)?|4|E(RVAL|GER))?|OUT|DEX|FILE)?|TERATE|F)|D(ROP|I(S(CARD{s}TABLESPACE|TINCT(ROW)?|ABLE{s}KEYS)|V)|O(UBLE)?|UAL|E(SC(RIBE)?|C(IMAL|LARE)?|TERMINISTIC|FAULT|L(ETE|AYED))|A(Y_(MI(NUTE|CROSECOND)|SECOND|HOUR)|TABASE(S)?))|JOIN|E(X(I(STS|T)|PLAIN|ECUTE)|SCAPED{s}BY|N(CLOSED{s}BY|ABLE{s}KEYS)|LSE(IF)?|ACH)|K(ILL({s}(CONNECTION|QUERY))?|EY(S|_BLOCK_SIZE)?)|F(ROM|IRST|OR(CE|EIGN)?|ULLTEXT|ETCH|L(OAT(8|4)?|USH)|ALSE)|A(S(C|ENSITIVE)?|N(D|ALYZE)|CCESSIBLE|DD|UTO_INCREMENT|FTER|L(TER|L))) +keywordl (R(TREE|IGHT|E(GEXP|MOVE{s}PARTITIONING|BUILD{s}PARTITION|S(T(RICT|ORE{s}TABLE)|ET)|NAME|TURN|ORGANIZE{s}PARTITION|P(EAT|LACE|AIR)|VOKE|QUIRE|FERENCES|LEASE|A(D(S|_WRITE)?|L))|LIKE|ANGE)|XOR|M(I(NUTE_(MICROSECOND|SECOND)|DDLEINT)|OD(IF(Y|IES))?|EDIUM(BLOB|TEXT|INT)|A(STER_SSL_VERIFY_SERVER_CERT|TCH))|S(MALLINT|SL|HOW({s}(E(NGINE(S)?|RRORS)|M(ASTER|UTEX)|BINLOG|GRANTS|INNODB|P(RIVILEGES|ROFILE(S)?|ROCEDURE{s}CODE)|SLAVE{s}(HOSTS|STATUS)|TRIGGERS|VARIABLES|WARNINGS))?|CHEMA(S)?|T(RAIGHT_JOIN|A(RTING{s}BY|TUS))|P(ECIFIC|ATIAL)|E(SSION|NSITIVE|COND_MICROSECOND|T({s}(PASSWORD|NAMES|ONE_SHOT))?|PARATOR|LECT)|QL(STATE|_(B(IG_RESULT|UFFER_RESULT)|SMALL_RESULT|NO_CACHE|CA(CHE|LC_FOUND_ROWS))|EXCEPTION|WARNING)?)|YEAR_MONTH|N(O(_WRITE_TO_BINLOG|T)|U(MERIC|LL)|EXT|ATURAL)|T(R(IGGER|U(NCATE|E)|AILING)|HEN|INY(BLOB|TEXT|INT)|O|ERMINATED{s}BY|ABLE)|ZEROFILL|O(R(DER{s}BY)?|N({s}(DUPLICATE{s}KEY{s}UPDATE)?|LINE)|UT(ER|FILE)?|P(TI(MIZE|ON(ALLY)?)|EN)|FF(SET|LINE))|U(S(ING|E|AGE)|N(SIGNED|I(ON|QUE)|DO|LOCK)|TC_(TIME(STAMP)?|DATE)|PDATE)|P(R(IMARY|OCEDURE|E(CISION|PARE|V))|URGE|ARTITION)|VA(R(BINARY|YING|CHAR(ACTER)?)|LUES)|QUICK|W(RITE|H(ILE|E(RE|N))|ITH({s}PARSER)?)|L(I(MIT|NE(S|AR)|KE)|O(GS|NG(BLOB|TEXT)?|C(K|AL(TIME(STAMP)?)?)|OP|W_PRIORITY|AD{s}(DATA|INDEX{s}INTO{s}CACHE))|E(FT|A(DING|VE))|AST)) %x comment @@ -66,7 +67,9 @@ keyword (R(IGHT|E(GEXP|S(T(RICT|ORE{s}TABLE)|ET)|NAME|TURN|P(EAT|LACE|AIR)|VOKE| {s}+ { return SPT_WHITESPACE; } /* ignore spaces */ -{keyword} { return SPT_RESERVED_WORD; } /* all the mysql reserved words */ +{keyworda} { return SPT_RESERVED_WORD; } /* all the mysql reserved words */ +{keywordl} { return SPT_RESERVED_WORD; } /* all the mysql reserved words */ + {numeric} { return SPT_NUMERIC; } /* single numeric value */ @@ -138,9 +141,9 @@ done: } /* un-optimized keywords: -ADD ACCESSIBLE ADD +AFTER ALL ALTER ANALYZE @@ -156,9 +159,10 @@ BIGINT BINARY BLOB BOTH +BTREE BY -CALL CACHE{s}INDEX +CALL CASCADE CASE CHANGE @@ -167,8 +171,10 @@ CHARACTER CHECK CHECKSUM{s}TABLE CLOSE +COALESCE{s}PARTITION COLLATE COLUMN +COMMENT CONCURRENT CONDITION CONSTRAINT @@ -196,6 +202,8 @@ DELETE DESC DESCRIBE DETERMINISTIC +DISABLE{s}KEYS +DISCARD{s}TABLESPACE DISTINCT DISTINCTROW DIV @@ -206,6 +214,7 @@ DUAL EACH ELSE ELSEIF +ENABLE{s}KEYS ENCLOSED{s}BY ESCAPED{s}BY EXECUTE @@ -228,6 +237,7 @@ GLOBAL GRANT GROUP{s}BY HANDLER +HASH HAVING HIGH_PRIORITY HOUR_MICROSECOND @@ -235,6 +245,7 @@ HOUR_MINUTE HOUR_SECOND IF IGNORE +IMPORT{s}TABLESPACE IN INDEX INFILE @@ -256,6 +267,7 @@ ITERATE JOIN KEY KEYS +KEY_BLOCK_SIZE KILL({s}(CONNECTION|QUERY))? LAST LEADING @@ -286,13 +298,16 @@ MINUTE_MICROSECOND MINUTE_SECOND MOD MODIFIES +MODIFY NATURAL NEXT NOT NO_WRITE_TO_BINLOG NULL NUMERIC +OFFLINE OFFSET +ONLINE ON{s}(DUPLICATE{s}KEY{s}UPDATE)? OPEN OPTIMIZE @@ -303,6 +318,7 @@ ORDER{s}BY OUT OUTER OUTFILE +PARTITION PRECISION PREPARE PREV @@ -315,10 +331,13 @@ READ READS READ_WRITE REAL +REBUILD{s}PARTITION REFERENCES REGEXP RELEASE +REMOVE{s}PARTITIONING RENAME +REORGANIZE{s}PARTITION REPAIR REPEAT REPLACE @@ -330,6 +349,7 @@ RETURN REVOKE RIGHT RLIKE +RTREE SCHEMA SCHEMAS SECOND_MICROSECOND @@ -365,8 +385,8 @@ TINYTEXT TO TRAILING TRIGGER -TRUNCATE TRUE +TRUNCATE UNDO UNION UNIQUE @@ -387,7 +407,7 @@ VARYING WHEN WHERE WHILE -WITH +WITH({s}PARSER)? WRITE XOR YEAR_MONTH |