aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2009-04-08 19:32:17 +0000
committerBibiko <bibiko@eva.mpg.de>2009-04-08 19:32:17 +0000
commitce44079e15c6ad11589b0237fd78ee6b4b364bfa (patch)
tree5a5ed2444afd6a463440873756c41e01a2bc77f5 /Source
parent1e7eec7003844f7ff503fe7bf8f4f405df4563f4 (diff)
downloadsequelpro-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.m325
-rw-r--r--Source/SPEditorTokens.l32
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