Warning, /frameworks/syntax-highlighting/data/syntax/sql-mysql.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!--
0004   MySQL syntax definition based on sql.xml by Yury Lebedev
0005   original by Shane Wright (me@shanewright.co.uk)
0006   modifications by Milian Wolff (mail@milianw.de)
0007   v3 fix comments by Gene Thomas <gene@genethomas.com>
0008 -->
0009 <language name="SQL (MySQL)" version="9" kateversion="5.44" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
0010   <highlighting>
0011     <list name="controlFlow">
0012       <item>BEGIN</item>
0013       <item>CASE</item>
0014       <item>DO</item>
0015       <item>ELSE</item>
0016       <item>ELSEIF</item>
0017       <item>END</item>
0018       <item>FOR</item>
0019       <item>IF</item>
0020       <item>LOOP</item>
0021       <item>RETURN</item>
0022       <item>THEN</item>
0023       <item>WHEN</item>
0024       <item>WHILE</item>
0025     </list>
0026     <list name="operators">
0027       <item>AND</item>
0028       <item>BETWEEN</item>
0029       <item>IN</item>
0030       <item>IS</item>
0031       <item>LIKE</item>
0032       <item>NOT</item>
0033       <item>OR</item>
0034     </list>
0035     <list name="keywords">
0036       <item>ACCESS</item>
0037       <item>ADD</item>
0038       <item>ALL</item>
0039       <item>ALTER</item>
0040       <item>ANALYZE</item>
0041       <item>AS</item>
0042       <item>ASC</item>
0043       <item>AUTO_INCREMENT</item>
0044       <item>BDB</item>
0045       <item>BERKELEYDB</item>
0046       <item>BOTH</item>
0047       <item>BY</item>
0048       <item>CASCADE</item>
0049       <item>CHANGE</item>
0050       <!-- <item> CHARACTER SET </item>
0051         needs special regexp (see below) -->
0052       <item>CHARSET</item>
0053       <item>COLUMN</item>
0054       <item>COLUMNS</item>
0055       <item>CONSTRAINT</item>
0056       <item>CREATE</item>
0057       <item>CROSS</item>
0058       <item>CURRENT_DATE</item>
0059       <item>CURRENT_TIME</item>
0060       <item>CURRENT_TIMESTAMP</item>
0061       <item>DATABASE</item>
0062       <item>DATABASES</item>
0063       <item>DAY_HOUR</item>
0064       <item>DAY_MINUTE</item>
0065       <item>DAY_SECOND</item>
0066       <item>DEC</item>
0067       <item>DECLARE</item>
0068       <item>DEFAULT</item>
0069       <item>DELAYED</item>
0070       <item>DELETE</item>
0071       <item>DESC</item>
0072       <item>DESCRIBE</item>
0073       <item>DISTINCT</item>
0074       <item>DISTINCTROW</item>
0075       <item>DROP</item>
0076       <item>ENCLOSED</item>
0077       <item>ESCAPED</item>
0078       <item>EXISTS</item>
0079       <item>EXPLAIN</item>
0080       <item>FIELDS</item>
0081       <item>FOREIGN</item>
0082       <item>FROM</item>
0083       <item>FULLTEXT</item>
0084       <item>FUNCTION</item>
0085       <item>GRANT</item>
0086       <item>GROUP</item>
0087       <item>HAVING</item>
0088       <item>HIGH_PRIORITY</item>
0089       <item>IGNORE</item>
0090       <item>INDEX</item>
0091       <item>INFILE</item>
0092       <item>INNER</item>
0093       <item>INNODB</item>
0094       <item>INSERT</item>
0095       <item>INTERVAL</item>
0096       <item>INTO</item>
0097       <item>JOIN</item>
0098       <item>KEY</item>
0099       <item>KEYS</item>
0100       <item>KILL</item>
0101       <item>LEADING</item>
0102       <item>LEFT</item>
0103       <item>LIMIT</item>
0104       <item>LINES</item>
0105       <item>LOAD</item>
0106       <item>LOCK</item>
0107       <item>LOW_PRIORITY</item>
0108       <item>MASTER_SERVER_ID</item>
0109       <item>MATCH</item>
0110       <item>MRG_MYISAM</item>
0111       <item>NATIONAL</item>
0112       <item>NATURAL</item>
0113       <item>NULL</item>
0114       <item>NUMERIC</item>
0115       <item>ON</item>
0116       <item>OPTIMIZE</item>
0117       <item>OPTION</item>
0118       <item>OPTIONALLY</item>
0119       <item>ORDER</item>
0120       <item>OUTER</item>
0121       <item>OUTFILE</item>
0122       <item>PARTIAL</item>
0123       <item>PRECISION</item>
0124       <item>PRIMARY</item>
0125       <item>PRIVILEGES</item>
0126       <item>PROCEDURE</item>
0127       <item>PURGE</item>
0128       <item>READ</item>
0129       <item>REFERENCES</item>
0130       <item>REGEXP</item>
0131       <item>RENAME</item>
0132       <item>REPLACE</item>
0133       <item>REQUIRE</item>
0134       <item>RESTRICT</item>
0135       <item>RETURNS</item>
0136       <item>REVOKE</item>
0137       <item>RIGHT</item>
0138       <item>RLIKE</item>
0139       <item>SELECT</item>
0140       <item>SET</item>
0141       <item>SHOW</item>
0142       <item>SONAME</item>
0143       <item>SQL_BIG_RESULT</item>
0144       <item>SQL_CALC_FOUND_ROWS</item>
0145       <item>SQL_SMALL_RESULT</item>
0146       <item>SSL</item>
0147       <item>STARTING</item>
0148       <item>STRAIGHT_JOIN</item>
0149       <item>STRIPED</item>
0150       <item>TABLE</item>
0151       <item>TABLES</item>
0152       <item>TERMINATED</item>
0153       <item>TO</item>
0154       <item>TRAILING</item>
0155       <item>TRUNCATE</item>
0156       <item>TYPE</item>
0157       <item>UNION</item>
0158       <item>UNIQUE</item>
0159       <item>UNLOCK</item>
0160       <item>UNSIGNED</item>
0161       <item>UPDATE</item>
0162       <item>USAGE</item>
0163       <item>USE</item>
0164       <item>USER_RESOURCES</item>
0165       <item>USING</item>
0166       <item>VALUES</item>
0167       <item>VARYING</item>
0168       <item>WITH</item>
0169       <item>WHERE</item>
0170       <item>WRITE</item>
0171       <item>XOR</item>
0172       <item>YEAR_MONTH</item>
0173       <item>ZEROFILL</item>
0174     </list>
0175     <list name="functions">
0176       <!-- string functions -->
0177       <item>ASCII</item>
0178       <item>BIN</item>
0179       <item>BIT_LENGTH</item>
0180       <item>CHAR</item>
0181       <item>CHARACTER_LENGTH</item>
0182       <item>CHAR_LENGTH</item>
0183       <item>COALESCE</item>
0184       <item>CONCAT</item>
0185       <item>CONCAT_WS</item>
0186       <item>CONV</item>
0187       <item>ELT</item>
0188       <item>EXPORT_SET</item>
0189       <item>FIELD</item>
0190       <item>FIND_IN_SET</item>
0191       <item>HEX</item>
0192       <item>INSERT</item>
0193       <item>INSTR</item>
0194       <item>LCASE</item>
0195       <item>LEFT</item>
0196       <item>LENGTH</item>
0197       <item>LOAD_FILE</item>
0198       <item>LOCATE</item>
0199       <item>LOWER</item>
0200       <item>LPAD</item>
0201       <item>LTRIM</item>
0202       <item>MAKE_SET</item>
0203       <item>MID</item>
0204       <item>OCT</item>
0205       <item>OCTET_LENGTH</item>
0206       <item>ORD</item>
0207       <item>POSITION</item>
0208       <item>QUOTE</item>
0209       <item>REPEAT</item>
0210       <item>REPLACE</item>
0211       <item>REVERSE</item>
0212       <item>RIGHT</item>
0213       <item>RPAD</item>
0214       <item>RTRIM</item>
0215       <item>SOUNDEX</item>
0216       <item>SPACE</item>
0217       <item>SUBSTRING</item>
0218       <item>SUBSTRING_INDEX</item>
0219       <item>TRIM</item>
0220       <item>UCASE</item>
0221       <item>UPPER</item>
0222       <!-- math functions -->
0223       <item>ABS</item>
0224       <item>ACOS</item>
0225       <item>ASIN</item>
0226       <item>ATAN</item>
0227       <item>ATAN2</item>
0228       <item>CEILING</item>
0229       <item>COS</item>
0230       <item>COT</item>
0231       <item>DEGREES</item>
0232       <item>EXP</item>
0233       <item>FLOOR</item>
0234       <item>GREATEST</item>
0235       <item>LEAST</item>
0236       <item>LN</item>
0237       <item>LOG</item>
0238       <item>LOG10</item>
0239       <item>LOG2</item>
0240       <item>MOD</item>
0241       <item>PI</item>
0242       <item>POW</item>
0243       <item>POWER</item>
0244       <item>RADIANS</item>
0245       <item>RAND</item>
0246       <item>ROUND</item>
0247       <item>SIGN</item>
0248       <item>SIN</item>
0249       <item>SQRT</item>
0250       <item>TAN</item>
0251       <!-- date/time functions -->
0252       <item>ADDDATE</item>
0253       <item>CURDATE</item>
0254       <item>CURRENT_DATE</item>
0255       <item>CURRENT_TIME</item>
0256       <item>CURRENT_TIMESTAMP</item>
0257       <item>CURTIME</item>
0258       <item>DATE_ADD</item>
0259       <item>DATE_FORMAT</item>
0260       <item>DATE_SUB</item>
0261       <item>DAYNAME</item>
0262       <item>DAYOFMONTH</item>
0263       <item>DAYOFWEEK</item>
0264       <item>DAYOFYEAR</item>
0265       <item>EXTRACT</item>
0266       <item>FROM_DAYS</item>
0267       <item>FROM_UNIXTIME</item>
0268       <item>HOUR</item>
0269       <item>MINUTE</item>
0270       <item>MONTH</item>
0271       <item>MONTHNAME</item>
0272       <item>NOW</item>
0273       <item>PERIOD_ADD</item>
0274       <item>PERIOD_DIFF</item>
0275       <item>QUARTER</item>
0276       <item>SECOND</item>
0277       <item>SEC_TO_TIME</item>
0278       <item>SUBDATE</item>
0279       <item>SYSDATE</item>
0280       <item>TIME_FORMAT</item>
0281       <item>TIME_TO_SEC</item>
0282       <item>TO_DAYS</item>
0283       <item>UNIX_TIMESTAMP</item>
0284       <item>WEEK</item>
0285       <item>WEEKDAY</item>
0286       <item>YEAR</item>
0287       <item>YEARWEEK</item>
0288       <!-- cast functions -->
0289       <item>CAST</item>
0290       <item>CONVERT</item>
0291       <!-- misc -->
0292       <item>AES_DECRYPT</item>
0293       <item>AES_ENCRYPT</item>
0294       <item>BENCHMARK</item>
0295       <item>BIT_COUNT</item>
0296       <item>CONNECTION_ID</item>
0297       <item>DATABASE</item>
0298       <item>DECODE</item>
0299       <item>DES_DECRYPT</item>
0300       <item>DES_ENCRYPT</item>
0301       <item>ENCODE</item>
0302       <item>ENCRYPT</item>
0303       <item>FORMAT</item>
0304       <item>FOUND_ROWS</item>
0305       <item>GET_LOCK</item>
0306       <item>INET_ATON</item>
0307       <item>INET_NTOA</item>
0308       <item>IS_FREE_LOCK</item>
0309       <item>LAST_INSERT_ID</item>
0310       <item>MASTER_POS_WAIT</item>
0311       <item>MD5</item>
0312       <item>PASSWORD</item>
0313       <item>RELEASE_LOCK</item>
0314       <item>SESSION_USER</item>
0315       <item>SHA</item>
0316       <item>SHA1</item>
0317       <item>SYSTEM_USER</item>
0318       <item>USER</item>
0319       <item>VERSION</item>
0320       <!-- GROUP BY -->
0321       <item>AVG</item>
0322       <item>BIT_AND</item>
0323       <item>BIT_OR</item>
0324       <item>COUNT</item>
0325       <item>MAX</item>
0326       <item>MIN</item>
0327       <item>STD</item>
0328       <item>STDDEV</item>
0329       <item>SUM</item>
0330     </list>
0331     <list name="types">
0332       <!-- strings -->
0333       <item>BINARY</item>
0334       <item>BLOB</item>
0335       <item>CHAR</item>
0336       <item>CHARACTER</item>
0337       <item>ENUM</item>
0338       <item>LONGBLOB</item>
0339       <item>LONGTEXT</item>
0340       <item>MEDIUMBLOB</item>
0341       <item>MEDIUMTEXT</item>
0342       <item>TEXT</item>
0343       <item>TINYBLOB</item>
0344       <item>TINYTEXT</item>
0345       <item>VARBINARY</item>
0346       <item>VARCHAR</item>
0347       <!-- <item>SET</item>
0348         needs special regexp (see below) -->
0349       <!-- numeric -->
0350       <item>BIGINT</item>
0351       <item>BIT</item>
0352       <item>BOOL</item>
0353       <item>BOOLEAN</item>
0354       <item>DEC</item>
0355       <item>DECIMAL</item>
0356       <item>DOUBLE</item>
0357       <item>FIXED</item>
0358       <item>FLOAT</item>
0359       <item>INT</item>
0360       <item>INTEGER</item>
0361       <item>LONG</item>
0362       <item>MEDIUMINT</item>
0363       <item>MIDDLEINT</item>
0364       <item>NUMERIC</item>
0365       <item>TINYINT</item>
0366       <item>REAL</item>
0367       <item>SERIAL</item>
0368       <item>SMALLINT</item>
0369       <!-- date and time -->
0370       <item>DATE</item>
0371       <item>DATETIME</item>
0372       <item>TIME</item>
0373       <item>TIMESTAMP</item>
0374       <item>YEAR</item>
0375     </list>
0376     <contexts>
0377       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
0378         <DetectSpaces/>
0379 
0380         <!-- comments, before operators -->
0381         <DetectChar attribute="Comment" context="SingleLineComment" char="#"/>
0382         <Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-"/>
0383         <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
0384         <WordDetect attribute="Comment" context="SingleLineComment" String="rem" insensitive="true" column="0"/>
0385 
0386         <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/> <!-- conflict with "operators" keywords -->
0387 
0388         <!-- problematic special cases -->
0389         <!-- SET type -->
0390         <RegExpr attribute="Data Type" context="#stay" insensitive="true" String="SET(?=\s*\()"/>
0391         <!-- keyword character set -->
0392         <WordDetect attribute="Keyword" context="#stay" insensitive="true" String="CHARACTER SET"/>
0393         <!-- using the lists -->
0394         <keyword attribute="Keyword" context="#stay" String="keywords"/>
0395         <keyword attribute="Operator Keyword" context="#stay" String="operators"/>
0396         <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/>
0397         <AnyChar attribute="Operator" context="#stay" String="+-*/=&lt;&gt;"/>
0398         <Detect2Chars attribute="Operator" context="#stay" char="!" char1="="/>
0399         <Detect2Chars attribute="Operator" context="#stay" char="~" char1="="/>
0400         <Detect2Chars attribute="Operator" context="#stay" char="^" char1="="/>
0401         <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>
0402         <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>
0403         <Detect2Chars attribute="Operator" context="#stay" char="|" char1="|"/>
0404         <AnyChar attribute="Symbol" context="#stay" String=":&#38;"/>
0405         <keyword attribute="Function" context="#stay" String="functions"/>
0406         <keyword attribute="Data Type" context="#stay" String="types"/>
0407 
0408         <DetectIdentifier/>
0409         <!-- extra data types -->
0410         <RegExpr attribute="Data Type" context="#stay" String="%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\b" insensitive="true"/>
0411         <!-- numbers -->
0412         <HlCHex attribute="Hex" context="#stay"/>
0413         <Float attribute="Float" context="#stay"/>
0414         <Int attribute="Decimal" context="#stay"/>
0415         <!-- strings -->
0416         <DetectChar attribute="String" context="String" char="'"/>
0417         <DetectChar attribute="String" context="String2" char="&quot;"/>
0418         <DetectChar attribute="Name" context="Name" char="`"/>
0419 
0420         <RegExpr attribute="Preprocessor" context="Preprocessor" String="^@@?[^@ \t\r\n]" column="0"/>
0421         <!-- for something like : SELECT DB.TABLE.ROW ... -->
0422         <DetectChar attribute="String Char" context="#stay" char="."/>
0423       </context>
0424       <!-- 'string' -->
0425       <context name="String" attribute="String" lineEndContext="#stay">
0426         <LineContinue attribute="String" context="#pop"/>
0427         <HlCStringChar attribute="String Char" context="#stay"/>
0428         <DetectChar attribute="Symbol" context="#stay" char="&#38;"/>
0429         <DetectChar attribute="String" context="#pop" char="'"/>
0430       </context>
0431       <!-- "string", extra context needed to enable "str'ing" and 'str"ing' -->
0432       <context name="String2" attribute="String" lineEndContext="#stay">
0433         <LineContinue attribute="String" context="#pop"/>
0434         <HlCStringChar attribute="String Char" context="#stay"/>
0435         <DetectChar attribute="Symbol" context="#stay" char="&#38;"/>
0436         <DetectChar attribute="String" context="#pop" char="&quot;"/>
0437       </context>
0438       <!-- `names` -->
0439       <context name="Name" attribute="Name" lineEndContext="#stay">
0440         <LineContinue attribute="Name" context="#pop"/>
0441         <HlCStringChar attribute="String Char" context="#stay"/>
0442         <DetectChar attribute="Name" context="#pop" char="`"/>
0443       </context>
0444       <!-- comments -->
0445       <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop">
0446         <DetectSpaces />
0447         <IncludeRules context="##Comments"/>
0448       </context>
0449       <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
0450         <LineContinue attribute="Comment" context="#pop"/>
0451         <DetectSpaces />
0452         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0453         <IncludeRules context="##Comments"/>
0454       </context>
0455       <!-- preprocessor -->
0456       <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
0457     </contexts>
0458     <itemDatas>
0459       <itemData name="Normal Text"       defStyleNum="dsNormal" spellChecking="false"/>
0460       <itemData name="Keyword"           defStyleNum="dsKeyword" spellChecking="false"/>
0461       <itemData name="ControlFlow"       defStyleNum="dsControlFlow" spellChecking="false"/>
0462       <itemData name="Operator"          defStyleNum="dsOperator" spellChecking="false"/>
0463       <itemData name="Operator Keyword"  defStyleNum="dsKeyword" spellChecking="false"/>
0464       <itemData name="Function"          defStyleNum="dsFunction" spellChecking="false"/>
0465       <itemData name="Data Type"         defStyleNum="dsDataType" spellChecking="false"/>
0466       <itemData name="Decimal"           defStyleNum="dsDecVal" spellChecking="false"/>
0467       <itemData name="Hex"               defStyleNum="dsBaseN" spellChecking="false"/>
0468       <itemData name="Float"             defStyleNum="dsFloat" spellChecking="false"/>
0469       <itemData name="Name" color="#080" defStyleNum="dsString" spellChecking="false"/>
0470       <itemData name="String"            defStyleNum="dsString"/>
0471       <itemData name="String Char"       defStyleNum="dsChar" spellChecking="false"/>
0472       <itemData name="Comment"           defStyleNum="dsComment"/>
0473       <itemData name="Symbol"            defStyleNum="dsChar" spellChecking="false"/>
0474       <itemData name="Preprocessor"      defStyleNum="dsOthers" spellChecking="false"/>
0475     </itemDatas>
0476   </highlighting>
0477   <general>
0478     <comments>
0479       <comment name="singleLine" start="--" position="afterwhitespace"/>
0480       <comment name="multiLine" start="/*" end="*/" region="Comment"/>
0481     </comments>
0482     <keywords casesensitive="0"/>
0483     <folding indentationsensitive="true"/>
0484   </general>
0485 </language>
0486 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->