aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2009-04-23 21:36:24 +0000
committerBibiko <bibiko@eva.mpg.de>2009-04-23 21:36:24 +0000
commit62c469fb0b91601c94fa9ae3ccec3219e7c2d92e (patch)
tree723e1de94f1c7952770a3e64b1c69c5fb79a6f1b
parentc9e479920045b70459c22c68044675020588c14f (diff)
downloadsequelpro-62c469fb0b91601c94fa9ae3ccec3219e7c2d92e.tar.gz
sequelpro-62c469fb0b91601c94fa9ae3ccec3219e7c2d92e.tar.bz2
sequelpro-62c469fb0b91601c94fa9ae3ccec3219e7c2d92e.zip
• updated completion list and added core functions
• improved separator list for word list completion coming from the text view • minor update for syntax highlighting
-rw-r--r--Source/CMTextView.m322
-rw-r--r--Source/SPEditorTokens.l19
2 files changed, 333 insertions, 8 deletions
diff --git a/Source/CMTextView.m b/Source/CMTextView.m
index 767a98d1..dcb5f2b6 100644
--- a/Source/CMTextView.m
+++ b/Source/CMTextView.m
@@ -591,7 +591,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
if([[self textStorage] attribute:kQuote atIndex:charRange.location effectiveRange:nil])
return [[NSSpellChecker sharedSpellChecker] completionsForPartialWordRange:NSMakeRange(0,charRange.length) inString:[[self string] substringWithRange:charRange] language:nil inSpellDocumentWithTag:0];
- NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;"];
+ NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;=+|?:~"];
NSArray *textViewWords = [[self string] componentsSeparatedByCharactersInSet:separators];
NSString *partialString = [[self string] substringWithRange:charRange];
unsigned int partialLength = [partialString length];
@@ -1048,6 +1048,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
@"PRIMARY",
@"PRIVILEGES",
@"PROCEDURE",
+ @"PROCEDURE ANALYSE",
@"PROCESS",
@"PROCESSLIST",
@"PURGE",
@@ -1179,15 +1180,23 @@ YY_BUFFER_STATE yy_scan_string (const char *);
@"SOUNDS",
@"SPATIAL",
@"SPECIFIC",
- @"SQL",
- @"SQLEXCEPTION",
- @"SQLSTATE",
- @"SQLWARNING",
+ @"SQL_AUTO_IS_NULL",
@"SQL_BIG_RESULT",
+ @"SQL_BIG_SELECTS",
+ @"SQL_BIG_TABLES",
@"SQL_BUFFER_RESULT",
@"SQL_CACHE",
@"SQL_CALC_FOUND_ROWS",
+ @"SQL_LOG_BIN",
+ @"SQL_LOG_OFF",
+ @"SQL_LOG_UPDATE",
+ @"SQL_LOW_PRIORITY_UPDATES",
+ @"SQL_MAX_JOIN_SIZE",
@"SQL_NO_CACHE",
+ @"SQL_QUOTE_SHOW_CREATE",
+ @"SQL_SAFE_UPDATES",
+ @"SQL_SELECT_LIMIT",
+ @"SQL_SLAVE_SKIP_COUNTER",
@"SQL_SMALL_RESULT",
@"SQL_THREAD",
@"SQL_TSI_DAY",
@@ -1199,6 +1208,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
@"SQL_TSI_SECOND",
@"SQL_TSI_WEEK",
@"SQL_TSI_YEAR",
+ @"SQL_WARNINGS",
@"SSL",
@"START",
@"START TRANSACTION",
@@ -1288,6 +1298,308 @@ YY_BUFFER_STATE yy_scan_string (const char *);
@"YEAR",
@"YEAR_MONTH",
@"ZEROFILL",
+ //functions
+
+ @"ABS",
+ @"ACOS",
+ @"ADDDATE",
+ @"ADDTIME",
+ @"AES_DECRYPT",
+ @"AES_ENCRYPT",
+ @"AREA",
+ @"ASBINARY",
+ @"ASCII",
+ @"ASIN",
+ @"ASTEXT",
+ @"ATAN",
+ @"ATAN2",
+ @"AVG",
+ @"BDMPOLYFROMTEXT",
+ @"BDMPOLYFROMWKB",
+ @"BDPOLYFROMTEXT",
+ @"BDPOLYFROMWKB",
+ @"BENCHMARK",
+ @"BIN",
+ @"BIT_AND",
+ @"BIT_COUNT",
+ @"BIT_LENGTH",
+ @"BIT_OR",
+ @"BIT_XOR",
+ @"BOUNDARY",
+ @"BUFFER",
+ @"CAST",
+ @"CEIL",
+ @"CEILING",
+ @"CENTROID",
+ @"CHAR",
+ @"CHARACTER_LENGTH",
+ @"CHARSET",
+ @"CHAR_LENGTH",
+ @"COALESCE",
+ @"COERCIBILITY",
+ @"COLLATION",
+ @"COMPRESS",
+ @"CONCAT",
+ @"CONCAT_WS",
+ @"CONNECTION_ID",
+ @"CONTAINS",
+ @"CONV",
+ @"CONVERT",
+ @"CONVERT_TZ",
+ @"CONVEXHULL",
+ @"COS",
+ @"COT",
+ @"COUNT",
+ @"COUNT(*)",
+ @"CRC32",
+ @"CROSSES",
+ @"CURDATE",
+ @"CURRENT_DATE",
+ @"CURRENT_TIME",
+ @"CURRENT_TIMESTAMP",
+ @"CURRENT_USER",
+ @"CURTIME",
+ @"DATABASE",
+ @"DATE",
+ @"DATEDIFF",
+ @"DATE_ADD",
+ @"DATE_DIFF",
+ @"DATE_FORMAT",
+ @"DATE_SUB",
+ @"DAY",
+ @"DAYNAME",
+ @"DAYOFMONTH",
+ @"DAYOFWEEK",
+ @"DAYOFYEAR",
+ @"DECODE",
+ @"DEFAULT",
+ @"DEGREES",
+ @"DES_DECRYPT",
+ @"DES_ENCRYPT",
+ @"DIFFERENCE",
+ @"DIMENSION",
+ @"DISJOINT",
+ @"DISTANCE",
+ @"ELT",
+ @"ENCODE",
+ @"ENCRYPT",
+ @"ENDPOINT",
+ @"ENVELOPE",
+ @"EQUALS",
+ @"EXP",
+ @"EXPORT_SET",
+ @"EXTERIORRING",
+ @"EXTRACT",
+ @"EXTRACTVALUE",
+ @"FIELD",
+ @"FIND_IN_SET",
+ @"FLOOR",
+ @"FORMAT",
+ @"FOUND_ROWS",
+ @"FROM_DAYS",
+ @"FROM_UNIXTIME",
+ @"GEOMCOLLFROMTEXT",
+ @"GEOMCOLLFROMWKB",
+ @"GEOMETRYCOLLECTION",
+ @"GEOMETRYCOLLECTIONFROMTEXT",
+ @"GEOMETRYCOLLECTIONFROMWKB",
+ @"GEOMETRYFROMTEXT",
+ @"GEOMETRYFROMWKB",
+ @"GEOMETRYN",
+ @"GEOMETRYTYPE",
+ @"GEOMFROMTEXT",
+ @"GEOMFROMWKB",
+ @"GET_FORMAT",
+ @"GET_LOCK",
+ @"GLENGTH",
+ @"GREATEST",
+ @"GROUP_CONCAT",
+ @"GROUP_UNIQUE_USERS",
+ @"HEX",
+ @"HOUR",
+ @"IF",
+ @"IFNULL",
+ @"INET_ATON",
+ @"INET_NTOA",
+ @"INSERT",
+ @"INSERT_ID",
+ @"INSTR",
+ @"INTERIORRINGN",
+ @"INTERSECTION",
+ @"INTERSECTS",
+ @"INTERVAL",
+ @"ISCLOSED",
+ @"ISEMPTY",
+ @"ISNULL",
+ @"ISRING",
+ @"ISSIMPLE",
+ @"IS_FREE_LOCK",
+ @"IS_USED_LOCK",
+ @"LAST_DAY",
+ @"LAST_INSERT_ID",
+ @"LCASE",
+ @"LEAST",
+ @"LEFT",
+ @"LENGTH",
+ @"LINEFROMTEXT",
+ @"LINEFROMWKB",
+ @"LINESTRING",
+ @"LINESTRINGFROMTEXT",
+ @"LINESTRINGFROMWKB",
+ @"LN",
+ @"LOAD_FILE",
+ @"LOCALTIME",
+ @"LOCALTIMESTAMP",
+ @"LOCATE",
+ @"LOG",
+ @"LOG10",
+ @"LOG2",
+ @"LOWER",
+ @"LPAD",
+ @"LTRIM",
+ @"MAKEDATE",
+ @"MAKETIME",
+ @"MAKE_SET",
+ @"MASTER_POS_WAIT",
+ @"MAX",
+ @"MBRCONTAINS",
+ @"MBRDISJOINT",
+ @"MBREQUAL",
+ @"MBRINTERSECTS",
+ @"MBROVERLAPS",
+ @"MBRTOUCHES",
+ @"MBRWITHIN",
+ @"MD5",
+ @"MICROSECOND",
+ @"MID",
+ @"MIN",
+ @"MINUTE",
+ @"MLINEFROMTEXT",
+ @"MLINEFROMWKB",
+ @"MOD",
+ @"MONTH",
+ @"MONTHNAME",
+ @"NOW",
+ @"MPOINTFROMTEXT",
+ @"MPOINTFROMWKB",
+ @"MPOLYFROMTEXT",
+ @"MPOLYFROMWKB",
+ @"MULTILINESTRING",
+ @"MULTILINESTRINGFROMTEXT",
+ @"MULTILINESTRINGFROMWKB",
+ @"MULTIPOINT",
+ @"MULTIPOINTFROMTEXT",
+ @"MULTIPOINTFROMWKB",
+ @"MULTIPOLYGON",
+ @"MULTIPOLYGONFROMTEXT",
+ @"MULTIPOLYGONFROMWKB",
+ @"NAME_CONST",
+ @"NOW",
+ @"NULLIF",
+ @"NUMGEOMETRIES",
+ @"NUMINTERIORRINGS",
+ @"NUMPOINTS",
+ @"OCT",
+ @"OCTET_LENGTH",
+ @"OLD_PASSWORD",
+ @"ORD",
+ @"OVERLAPS",
+ @"PASSWORD",
+ @"PERIOD_ADD",
+ @"PERIOD_DIFF",
+ @"PI",
+ @"POINT",
+ @"POINTFROMTEXT",
+ @"POINTFROMWKB",
+ @"POINTN",
+ @"POINTONSURFACE",
+ @"POLYFROMTEXT",
+ @"POLYFROMWKB",
+ @"POLYGON",
+ @"POLYGONFROMTEXT",
+ @"POLYGONFROMWKB",
+ @"POSITION",
+ @"POW",
+ @"POWER",
+ @"QUARTER",
+ @"QUOTE",
+ @"RADIANS",
+ @"RAND",
+ @"RELATED",
+ @"RELEASE_LOCK",
+ @"REPEAT",
+ @"REPLACE",
+ @"REVERSE",
+ @"RIGHT",
+ @"ROUND",
+ @"ROW_COUNT",
+ @"RPAD",
+ @"RTRIM",
+ @"SCHEMA",
+ @"SECOND",
+ @"SEC_TO_TIME",
+ @"SESSION_USER",
+ @"SHA",
+ @"SHA1",
+ @"SIGN",
+ @"SIN",
+ @"SLEEP",
+ @"SOUNDEX",
+ @"SPACE",
+ @"SQRT",
+ @"SRID",
+ @"STARTPOINT",
+ @"STD",
+ @"STDDEV",
+ @"STDDEV_POP",
+ @"STDDEV_SAMP",
+ @"STRCMP",
+ @"STR_TO_DATE",
+ @"SUBDATE",
+ @"SUBSTR",
+ @"SUBSTRING",
+ @"SUBSTRING_INDEX",
+ @"SUBTIME",
+ @"SUM",
+ @"SYMDIFFERENCE",
+ @"SYSDATE",
+ @"SYSTEM_USER",
+ @"TAN",
+ @"TIME",
+ @"TIMEDIFF",
+ @"TIMESTAMP",
+ @"TIMESTAMPADD",
+ @"TIMESTAMPDIFF",
+ @"TIME_FORMAT",
+ @"TIME_TO_SEC",
+ @"TOUCHES",
+ @"TO_DAYS",
+ @"TRIM",
+ @"TRUNCATE",
+ @"UCASE",
+ @"UNCOMPRESS",
+ @"UNCOMPRESSED_LENGTH",
+ @"UNHEX",
+ @"UNIQUE_USERS",
+ @"UNIX_TIMESTAMP",
+ @"UPDATEXML",
+ @"UPPER",
+ @"USER",
+ @"UTC_DATE",
+ @"UTC_TIME",
+ @"UTC_TIMESTAMP",
+ @"UUID",
+ @"VARIANCE",
+ @"VAR_POP",
+ @"VAR_SAMP",
+ @"VERSION",
+ @"WEEK",
+ @"WEEKDAY",
+ @"WEEKOFYEAR",
+ @"WITHIN",
+ @"YEAR",
+ @"YEARWEEK",
+
nil];
}
diff --git a/Source/SPEditorTokens.l b/Source/SPEditorTokens.l
index 04cf1660..e366b552 100644
--- a/Source/SPEditorTokens.l
+++ b/Source/SPEditorTokens.l
@@ -34,8 +34,8 @@ word [a-z_\.0-9À-゚@]
variable @{1,2}[a-z_\.0-9À-゚$]+
nonword [^a-z_0-9À-゚#\n\t]
keyworda (G(R(OUP{s}BY|ANT(S)?)|E(T_FORMAT|OMETRY(COLLECTION)?)|LOBAL)|B(Y(TE)?|TREE|I(GINT|N(LOG|ARY)|T)|O(TH|OL(EAN)?)|E(GIN|TWEEN|FORE)|LOB|ACKUP{s}TABLE)|H(IGH_PRIORITY|O(STS|UR(_(MI(NUTE|CROSECOND)|SECOND))?)|ELP|A(SH|NDLER|VING))|C(R(OSS|EATE)|H(ECK(SUM)?|A(R(SET|ACTER)?|NGE(D)?|IN))|IPHER|O(M(M(IT(TED)?|ENT)|P(RESSED|LETION|ACT))|N(S(TRAINT|ISTENT)|NECTION|CURRENT|T(RIBUTORS|INUE|AINS)|DITION|VERT)|DE|L(UMN(_FORMAT)?|LATE)|ALESCE{s}PARTITION)|U(R(RENT_(TIME(STAMP)?|DATE|USER)|SOR)|BE)|L(IENT|OSE)|A(S(CADE(D)?|E)|CHE{s}INDEX|LL))|I(GNORE|MPORT{s}TABLESPACE|S(SUER|OLATION)?|N(S(TALL|E(RT(_METHOD)?|NSITIVE))|N(O(BASE|DB)|ER)|T(1|2|8|3|O({s}(DUMP|OUT)FILE)?|4|E(RVAL|GER))?|ITIAL_SIZE|OUT|DEX(ES)?|VOKER|FILE)?|TERATE|O_THREAD|DENTIFIED|F)|D(ROP|YNAMIC|I(RECTORY|S(CARD{s}TABLESPACE|TINCT(ROW)?|K|ABLE{s}KEYS)|V)|O(UBLE)?|U(MPFILE|PLICATE|AL)|E(S(C(RIBE)?|_KEY_FILE)|C(IMAL|LARE)?|TERMINISTIC|F(INER|AULT)|L(ETE|AY(_KEY_WRITE|ED))|ALLOCATE)|A(Y(_(MI(NUTE|CROSECOND)|SECOND|HOUR))?|T(E(TIME)?|A(BASE(S)?|FILE)?)))|JOIN|E(RRORS|X(TEN(T_SIZE|DED)|I(STS|T)|P(LAIN|ANSION)|ECUTE)|SCAPE(D{s}BY)?|N(GINE(S)?|CLOSED{s}BY|D(S)?|UM|ABLE{s}KEYS)|VE(RY|NT)|LSE(IF)?|ACH)|K(ILL({s}(CONNECTION|QUERY))?|EY(S|_BLOCK_SIZE)?)|F(R(OM|AC_SECOND)|I(RST|XED|LE)|O(R(CE|EIGN)?|UND)|U(NCTION|LL(TEXT)?)|ETCH|L(OAT(8|4)?|USH)|A(ST|LSE))|A(G(GREGATE|AINST)|S(C(II)?|ENSITIVE)?|N(Y|D|ALYZE)|C(CESSIBLE|TION)|T|DD|UT(HORS|O(_INCREMENT|EXTEND_SIZE))|VG(_ROW_LENGTH)?|FTER|L(GORITHM|TER|L)))
-keywordl (R(TREE|IGHT|O(UTINE|W(S|_FORMAT)?|LL(BACK|UP))|E(GEXP|MOVE{s}PARTITIONING|BUILD{s}PARTITION|S(T(RICT|ORE{s}TABLE)|UME|ET)|NAME|COVER|TURN(S)?|ORGANIZE{s}PARTITION|D(O(_BUFFER_SIZE|FILE)|UNDANT)|P(EAT(ABLE)?|L(ICATION|ACE)|AIR)|VOKE|QUIRE|FERENCES|L(OAD|EASE|AY_(THREAD|LOG_(POS|FILE)))|A(D(S|_(ONLY|WRITE))?|L))|LIKE|ANGE)|M(I(GRATE|N(_ROWS|UTE(_(MICROSECOND|SECOND))?)|CROSECOND|DDLEINT)|O(NTH|D(IF(Y|IES)|E)?)|U(TEX|LTI(PO(INT|LYGON)|LINESTRING))|E(RGE|MORY|DIUM(BLOB|TEXT|INT)?)|A(X(_(ROWS|SIZE|CONNECTIONS_PER_HOUR|U(SER_CONNECTIONS|PDATES_PER_HOUR)|QUERIES_PER_HOUR)|VALUE)|STER(_(S(SL(_(C(IPHER|ERT|A(PATH)?)|VERIFY_SERVER_CERT|KEY))?|ERVER_ID)|HOST|CONNECT_RETRY|USER|P(ORT|ASSWORD)|LOG_(POS|FILE)))?|TCH))|N(CHAR|O(NE|_W(RITE_TO_BINLOG|AIT)|T|DEGROUP)?|DB(CLUSTER)?|U(MERIC|LL)|E(XT|W)|VARCHAR|A(ME(S)?|T(IONAL|URAL)))|O(R(DER{s}BY)?|N({s}(DUPLICATE{s}KEY{s}UPDATE)?|E(_SHOT)?|LINE)|UT(ER|FILE)?|P(TI(MIZE|ON(S|ALLY)?)|EN)|FF(SET|LINE)|LD_PASSWORD)|P(R(I(MARY|VILEGES)|OCE(SS|DURE)|E(SERVE|CISION|PARE|V))|HASE|O(INT|LYGON)|URGE|A(R(SER|TI(TION(S|ING)?|AL))|SSWORD|CK_KEYS))|QU(ICK|ERY|ARTER)|L(I(MIT|ST|NE(S(TRING)?|AR)|KE)|O(G(S|FILE({s}GROUP))|NG(BLOB|TEXT)?|C(K(S)?|AL(TIME(STAMP)?)?)|OP|W_PRIORITY|AD{s}(DATA|INDEX{s}INTO{s}CACHE))|E(SS|VEL|FT|A(DING|VE(S)?))|A(ST|NGUAGE)))
-keywords (X(OR|509|A)|S(MALLINT|SL|H(OW({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|PROCESSLIST|FIELDS|PLUGIN(S)?|STORAGE{s}ENGINES|TABLE{s}TYPES|CO(LUMNS|LLATION)|BINLOG{s}EVENTS))?|UTDOWN|ARE)|NAPSHOT|CHE(MA(S)?|DULE(R)?)|T(R(ING|AIGHT_JOIN)|O(RAGE|P)|A(RT(S|ING{s}BY)?|TUS))|I(GNED|MPLE)|O(ME|NAME|UNDS)|U(B(JECT|PARTITION(S)?)|SPEND|PER)|P(ECIFIC|ATIAL)|E(RIAL(IZABLE)?|SSION|NSITIVE|C(OND(_MICROSECOND)?|URITY)|T({s}(PASSWORD|NAMES|ONE_SHOT))?|PARATOR|LECT)|QL(STATE|_(B(IG_RESULT|UFFER_RESULT)|SMALL_RESULT|NO_CACHE|CA(CHE|LC_FOUND_ROWS)|T(SI_(M(INUTE|ONTH)|SECOND|HOUR|YEAR|DAY|QUARTER|FRAC_SECOND|WEEK)|HREAD))|EXCEPTION|WARNING)?|LAVE|AVEPOINT)|YEAR(_MONTH)?|T(R(IGGER(S)?|U(NCATE|E)|A(NSACTION|ILING))|H(EN|AN)|YPE|I(ME(STAMP(DIFF|ADD)?)?|NY(BLOB|TEXT|INT))|O|E(RMINATED{s}BY|XT|MP(TABLE|ORARY))|ABLE(S(PACE)?)?)|ZEROFILL|U(S(ING|E(R(_RESOURCES)?|_FRM)?|AGE)|N(SIGNED|COMMITTED|TIL|I(NSTALL|CODE|ON|QUE)|D(O(_BUFFER_SIZE|FILE)?|EFINED)|KNOWN|LOCK)|TC_(TIME(STAMP)?|DATE)|P(GRADE|DATE))|V(IEW|A(R(BINARY|YING|CHAR(ACTER)?|IABLES)|LUE(S)?))|W(RITE|H(ILE|E(RE|N))|ITH({s}PARSER)?|ORK|EEK|A(RNINGS|IT)))
+keywordl (R(TREE|IGHT|O(UTINE|W(S|_FORMAT)?|LL(BACK|UP))|E(GEXP|MOVE{s}PARTITIONING|BUILD{s}PARTITION|S(T(RICT|ORE{s}TABLE)|UME|ET)|NAME|COVER|TURN(S)?|ORGANIZE{s}PARTITION|D(O(_BUFFER_SIZE|FILE)|UNDANT)|P(EAT(ABLE)?|L(ICATION|ACE)|AIR)|VOKE|QUIRE|FERENCES|L(OAD|EASE|AY_(THREAD|LOG_(POS|FILE)))|A(D(S|_(ONLY|WRITE))?|L))|LIKE|ANGE)|M(I(GRATE|N(_ROWS|UTE(_(MICROSECOND|SECOND))?)|CROSECOND|DDLEINT)|O(NTH|D(IF(Y|IES)|E)?)|U(TEX|LTI(PO(INT|LYGON)|LINESTRING))|E(RGE|MORY|DIUM(BLOB|TEXT|INT)?)|A(X(_(ROWS|SIZE|CONNECTIONS_PER_HOUR|U(SER_CONNECTIONS|PDATES_PER_HOUR)|QUERIES_PER_HOUR)|VALUE)|STER(_(S(SL(_(C(IPHER|ERT|A(PATH)?)|VERIFY_SERVER_CERT|KEY))?|ERVER_ID)|HOST|CONNECT_RETRY|USER|P(ORT|ASSWORD)|LOG_(POS|FILE)))?|TCH))|N(CHAR|O(NE|_W(RITE_TO_BINLOG|AIT)|T|DEGROUP)?|DB(CLUSTER)?|U(MERIC|LL)|E(XT|W)|VARCHAR|A(ME(S)?|T(IONAL|URAL)))|O(R(DER{s}BY)?|N({s}(DUPLICATE{s}KEY{s}UPDATE)?|E(_SHOT)?|LINE)|UT(ER|FILE)?|P(TI(MIZE|ON(S|ALLY)?)|EN)|FF(SET|LINE)|LD_PASSWORD)|P(R(I(MARY|VILEGES)|OCE(SS|DURE({s}ANALYSE))|E(SERVE|CISION|PARE|V))|HASE|O(INT|LYGON)|URGE|A(R(SER|TI(TION(S|ING)?|AL))|SSWORD|CK_KEYS))|QU(ICK|ERY|ARTER)|L(I(MIT|ST|NE(S(TRING)?|AR)|KE)|O(G(S|FILE({s}GROUP))|NG(BLOB|TEXT)?|C(K(S)?|AL(TIME(STAMP)?)?)|OP|W_PRIORITY|AD{s}(DATA|INDEX{s}INTO{s}CACHE))|E(SS|VEL|FT|A(DING|VE(S)?))|A(ST|NGUAGE)))
+keywords (X(OR|509|A)|S(MALLINT|SL|H(OW({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|PROCESSLIST|FIELDS|PLUGIN(S)?|STORAGE{s}ENGINES|TABLE{s}TYPES|CO(LUMNS|LLATION)|BINLOG{s}EVENTS))?|UTDOWN|ARE)|NAPSHOT|CHE(MA(S)?|DULE(R)?)|T(R(ING|AIGHT_JOIN)|O(RAGE|P)|A(RT(S|ING{s}BY)?|TUS))|I(GNED|MPLE)|O(ME|NAME|UNDS)|U(B(JECT|PARTITION(S)?)|SPEND|PER)|P(ECIFIC|ATIAL)|E(RIAL(IZABLE)?|SSION|NSITIVE|C(OND(_MICROSECOND)?|URITY)|T({s}(PASSWORD|NAMES|ONE_SHOT))?|PARATOR|LECT)|QL(STATE|_(MAX_JOIN_SIZE|B(IG_(RESULT|SELECTS|TABLES)|UFFER_RESULT)|S(MALL_RESULT|ELECT_LIMIT|LAVE_SKIP_COUNTER|AFE_UPDATES)|NO_CACHE|CA(CHE|LC_FOUND_ROWS)|T(SI_(M(INUTE|ONTH)|SECOND|HOUR|YEAR|DAY|QUARTER|FRAC_SECOND|WEEK)|HREAD)|QUOTE_SHOW_CREATE|WARNINGS|LO(G_(BIN|OFF|UPDATE)|W_PRIORITY_UPDATES)|AUTO_IS_NULL)|EXCEPTION|WARNING)?|LAVE|AVEPOINT)|YEAR(_MONTH)?|T(R(IGGER(S)?|U(NCATE|E)|A(NSACTION|ILING))|H(EN|AN)|YPE|I(ME(STAMP(DIFF|ADD)?)?|NY(BLOB|TEXT|INT))|O|E(RMINATED{s}BY|XT|MP(TABLE|ORARY))|ABLE(S(PACE)?)?)|ZEROFILL|U(S(ING|E(R(_RESOURCES)?|_FRM)?|AGE)|N(SIGNED|COMMITTED|TIL|I(NSTALL|CODE|ON|QUE)|D(O(_BUFFER_SIZE|FILE)?|EFINED)|KNOWN|LOCK)|TC_(TIME(STAMP)?|DATE)|P(GRADE|DATE))|V(IEW|A(R(BINARY|YING|CHAR(ACTER)?|IABLES)|LUE(S)?))|W(RITE|H(ILE|E(RE|N))|ITH({s}PARSER)?|ORK|EEK|A(RNINGS|IT)))
%x comment
@@ -481,7 +481,7 @@ PRESERVE
PREV
PRIMARY
PRIVILEGES
-PROCEDURE
+PROCEDURE({s}ANALYSE)
PROCESS
PURGE
QUARTER
@@ -562,11 +562,23 @@ SQL
SQLEXCEPTION
SQLSTATE
SQLWARNING
+SQL_AUTO_IS_NULL
SQL_BIG_RESULT
+SQL_BIG_SELECTS
+SQL_BIG_TABLES
SQL_BUFFER_RESULT
SQL_CACHE
SQL_CALC_FOUND_ROWS
+SQL_LOG_BIN
+SQL_LOG_OFF
+SQL_LOG_UPDATE
+SQL_LOW_PRIORITY_UPDATES
+SQL_MAX_JOIN_SIZE
SQL_NO_CACHE
+SQL_QUOTE_SHOW_CREATE
+SQL_SAFE_UPDATES
+SQL_SELECT_LIMIT
+SQL_SLAVE_SKIP_COUNTER
SQL_SMALL_RESULT
SQL_THREAD
SQL_TSI_DAY
@@ -578,6 +590,7 @@ SQL_TSI_QUARTER
SQL_TSI_SECOND
SQL_TSI_WEEK
SQL_TSI_YEAR
+SQL_WARNINGS
SSL
START
STARTING{s}BY