KXStudio Website https://kx.studio/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

475 lines
22KB

  1. <?php
  2. /*************************************************************************************
  3. * mysql.php
  4. * ---------
  5. * Author: Marjolein Katsma (marjolein.is.back@gmail.com)
  6. * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)
  7. * Release Version: 1.0.8.11
  8. * Date Started: 2008-12-12
  9. *
  10. * MySQL language file for GeSHi.
  11. *
  12. * Based on original MySQL language file by Carl Fürstenberg (2004); brought
  13. * up-to-date for current MySQL versions, and with more classes for different
  14. * types of keywords; several minor errors were corrected as well.
  15. *
  16. * Some "classes" have two groups here: this is to allow for the fact that some
  17. * keywords in MySQL have a double function: many of those are either a function
  18. * (must be immediately followed by an opening bracket) or some other keyword:
  19. * so they can be distinguished by the presence (or not) of that opening bracket.
  20. * (An immediately following opening bracket is a default rule for functions in
  21. * MySQL, though this may be overridden; because it's only a default, we use a
  22. * regex lookahead only where necessary to distinguish homonyms, not generally
  23. * to match any function.)
  24. * Other keywords with double usage cannot be distinguished and are classified
  25. * in the "Mix" category.
  26. *
  27. *************************************************************************************
  28. *
  29. * This file is part of GeSHi.
  30. *
  31. * GeSHi is free software; you can redistribute it and/or modify
  32. * it under the terms of the GNU General Public License as published by
  33. * the Free Software Foundation; either version 2 of the License, or
  34. * (at your option) any later version.
  35. *
  36. * GeSHi is distributed in the hope that it will be useful,
  37. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  38. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  39. * GNU General Public License for more details.
  40. *
  41. * You should have received a copy of the GNU General Public License
  42. * along with GeSHi; if not, write to the Free Software
  43. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  44. *
  45. ************************************************************************************/
  46. $language_data = array (
  47. 'LANG_NAME' => 'MySQL',
  48. //'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), // '--' MUST be folowed by whitespace,not necessarily a space
  49. 'COMMENT_SINGLE' => array(
  50. 1 =>'-- ',
  51. 2 => '#'
  52. ),
  53. 'COMMENT_REGEXP' => array(
  54. 1 => "/(?:--\s).*?$/", // double dash followed by any whitespace
  55. ),
  56. 'COMMENT_MULTI' => array('/*' => '*/'),
  57. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, // @@@ would be nice if this could be defined per group!
  58. 'QUOTEMARKS' => array("'", '"', '`'),
  59. 'ESCAPE_CHAR' => '\\', // by default only, can be specified
  60. 'ESCAPE_REGEXP' => array(
  61. 1 => "/[_%]/", // search wildcards
  62. ),
  63. 'NUMBERS' =>
  64. GESHI_NUMBER_INT_BASIC |
  65. GESHI_NUMBER_OCT_PREFIX |
  66. GESHI_NUMBER_HEX_PREFIX |
  67. GESHI_NUMBER_FLT_NONSCI |
  68. GESHI_NUMBER_FLT_SCI_SHORT |
  69. GESHI_NUMBER_FLT_SCI_ZERO,
  70. 'KEYWORDS' => array(
  71. 1 => array(
  72. // Mix: statement keywords and keywords that don't fit in any other
  73. // category, or have multiple usage/meanings
  74. 'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY',
  75. 'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL',
  76. 'CASCADED','CASCADE','CHAIN','CHANGE','CHECK','COLUMNS','COLUMN',
  77. 'COMMENT','COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL',
  78. 'CONSISTENT','CONVERT','CREATE','CROSS','DATA','DATABASES',
  79. 'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC',
  80. 'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO',
  81. 'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE',
  82. 'ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS',
  83. 'FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL',
  84. 'FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING',
  85. 'HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX',
  86. 'INFILE','INNER','INNODB','INOUT','INTO','INVOKER',
  87. 'ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST',
  88. 'LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY',
  89. 'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA',
  90. 'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON',
  91. 'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT',
  92. 'PARTIAL','PARTITION','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE',
  93. 'PURGE','QUICK','READS SQL DATA','READ','REFERENCES','RELEASE',
  94. 'RENAME','REORGANIZE','REPEATABLE','REQUIRE','RESTRICT','RETURNS',
  95. 'REVOKE','ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT',
  96. 'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE',
  97. 'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT',
  98. 'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS',
  99. 'SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY',
  100. 'STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE',
  101. 'TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS',
  102. 'TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED',
  103. 'UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES',
  104. 'USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP',
  105. 'WITH','WORK','WRITE',
  106. ),
  107. 2 => array( //No ( must follow
  108. // Mix: statement keywords distinguished from functions by the same name
  109. "CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE"
  110. ),
  111. 3 => array(
  112. // Values (Constants)
  113. 'FALSE','NULL','TRUE',
  114. ),
  115. 4 => array(
  116. // Column Data Types
  117. 'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING',
  118. 'CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION',
  119. 'DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY',
  120. 'INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB',
  121. 'MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING',
  122. 'MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING',
  123. 'NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR',
  124. 'NUMERIC','POINT','POLYGON','REAL','SERIAL',
  125. 'SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT',
  126. 'TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR',
  127. ),
  128. 5 => array( //No ( must follow
  129. // Column data types distinguished from functions by the same name
  130. "CHAR", "DATE", "TIME"
  131. ),
  132. 6 => array(
  133. // Table, Column & Index Attributes
  134. 'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION',
  135. 'DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT',
  136. 'INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS',
  137. 'NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED',
  138. 'SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL'
  139. ),
  140. 7 => array( //No ( must follow
  141. // Column attribute distinguished from function by the same name
  142. "CHARSET"
  143. ),
  144. 8 => array(
  145. // Date and Time Unit Specifiers
  146. 'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND',
  147. 'HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND',
  148. 'MINUTE_MICROSECOND','MINUTE_SECOND',
  149. 'SECOND_MICROSECOND','YEAR_MONTH'
  150. ),
  151. 9 => array( //No ( must follow
  152. // Date-time unit specifiers distinguished from functions by the same name
  153. "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR"
  154. ),
  155. 10 => array(
  156. // Operators (see also Symbols)
  157. 'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL',
  158. 'IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE',
  159. 'SOUNDS LIKE','XOR'
  160. ),
  161. 11 => array( //No ( must follow
  162. // Operator distinghuished from function by the same name
  163. "INTERVAL"
  164. ),
  165. 12 => array(
  166. // Control Flow (functions)
  167. 'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN',
  168. ),
  169. 13 => array(
  170. // String Functions
  171. 'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH',
  172. 'CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD',
  173. 'FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH',
  174. 'LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID',
  175. 'OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE',
  176. 'RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX',
  177. 'SUBSTRING','TRIM','UCASE','UNHEX','UPPER',
  178. ),
  179. 14 => array( //A ( must follow
  180. // String functions distinguished from other keywords by the same name
  181. "INSERT", "REPLACE", "CHAR"
  182. ),
  183. 15 => array(
  184. // Numeric Functions
  185. 'ABS','ACOS','ASIN','ATAN2','ATAN','CEILING','CEIL',
  186. 'CONV','COS','COT','CRC32','DEGREES','EXP','FLOOR','LN','LOG10',
  187. 'LOG2','LOG','MOD','OCT','PI','POWER','POW','RADIANS','RAND',
  188. 'ROUND','SIGN','SIN','SQRT','TAN',
  189. ),
  190. 16 => array( //A ( must follow
  191. // Numeric function distinguished from other keyword by the same name
  192. "TRUNCATE"
  193. ),
  194. 17 => array(
  195. // Date and Time Functions
  196. 'ADDDATE','ADDTIME','CONVERT_TZ','CURDATE','CURRENT_DATE',
  197. 'CURRENT_TIME','CURRENT_TIMESTAMP','CURTIME','DATE_ADD',
  198. 'DATE_FORMAT','DATE_SUB','DATEDIFF','DAYNAME','DAYOFMONTH',
  199. 'DAYOFWEEK','DAYOFYEAR','EXTRACT','FROM_DAYS','FROM_UNIXTIME',
  200. 'GET_FORMAT','LAST_DAY','LOCALTIME','LOCALTIMESTAMP','MAKEDATE',
  201. 'MAKETIME','MONTHNAME','NOW','PERIOD_ADD',
  202. 'PERIOD_DIFF','SEC_TO_TIME','STR_TO_DATE','SUBDATE','SUBTIME',
  203. 'SYSDATE','TIME_FORMAT','TIME_TO_SEC',
  204. 'TIMESTAMPADD','TIMESTAMPDIFF','TO_DAYS',
  205. 'UNIX_TIMESTAMP','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','WEEKDAY',
  206. 'WEEKOFYEAR','YEARWEEK',
  207. ),
  208. 18 => array( //A ( must follow
  209. // Date-time functions distinguished from other keywords by the same name
  210. "DATE", "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER",
  211. "SECOND", "TIME", "WEEK", "YEAR"
  212. ),
  213. 19 => array(
  214. // Comparison Functions
  215. 'COALESCE','GREATEST','ISNULL','LEAST',
  216. ),
  217. 20 => array( //A ( must follow
  218. // Comparison functions distinguished from other keywords by the same name
  219. "IN", "INTERVAL"
  220. ),
  221. 21 => array(
  222. // Encryption and Compression Functions
  223. 'AES_DECRYPT','AES_ENCRYPT','COMPRESS','DECODE','DES_DECRYPT',
  224. 'DES_ENCRYPT','ENCODE','ENCRYPT','MD5','OLD_PASSWORD','PASSWORD',
  225. 'SHA1','SHA','UNCOMPRESS','UNCOMPRESSED_LENGTH',
  226. ),
  227. 22 => array(
  228. // GROUP BY (aggregate) Functions
  229. 'AVG','BIT_AND','BIT_OR','BIT_XOR','COUNT','GROUP_CONCAT',
  230. 'MAX','MIN','STDDEV_POP','STDDEV_SAMP','STDDEV','STD','SUM',
  231. 'VAR_POP','VAR_SAMP','VARIANCE',
  232. ),
  233. 23 => array(
  234. // Information Functions
  235. 'BENCHMARK','COERCIBILITY','COLLATION','CONNECTION_ID',
  236. 'FOUND_ROWS','LAST_INSERT_ID','ROW_COUNT',
  237. 'SESSION_USER','SYSTEM_USER','USER','VERSION',
  238. ),
  239. 24 => array( //A ( must follow
  240. // Information functions distinguished from other keywords by the same name
  241. "CURRENT_USER", "DATABASE", "SCHEMA", "CHARSET"
  242. ),
  243. 25 => array(
  244. // Miscellaneous Functions
  245. 'ExtractValue','BIT_COUNT','GET_LOCK','INET_ATON','INET_NTOA',
  246. 'IS_FREE_LOCK','IS_USED_LOCK','MASTER_POS_WAIT','NAME_CONST',
  247. 'RELEASE_LOCK','SLEEP','UpdateXML','UUID',
  248. ),
  249. 26 => array( //A ( must follow
  250. // Miscellaneous function distinguished from other keyword by the same name
  251. "DEFAULT"
  252. ),
  253. 27 => array(
  254. // Geometry Functions
  255. 'Area','AsBinary','AsText','AsWKB','AsWKT','Boundary','Buffer',
  256. 'Centroid','Contains','ConvexHull','Crosses',
  257. 'Difference','Dimension','Disjoint','Distance',
  258. 'EndPoint','Envelope','Equals','ExteriorRing',
  259. 'GLength','GeomCollFromText','GeomCollFromWKB','GeomFromText',
  260. 'GeomFromWKB','GeometryCollectionFromText',
  261. 'GeometryCollectionFromWKB','GeometryFromText','GeometryFromWKB',
  262. 'GeometryN','GeometryType',
  263. 'InteriorRingN','Intersection','Intersects','IsClosed','IsEmpty',
  264. 'IsRing','IsSimple',
  265. 'LineFromText','LineFromWKB','LineStringFromText',
  266. 'LineStringFromWKB',
  267. 'MBRContains','MBRDisjoint','MBREqual','MBRIntersects',
  268. 'MBROverlaps','MBRTouches','MBRWithin','MLineFromText',
  269. 'MLineFromWKB','MPointFromText','MPointFromWKB','MPolyFromText',
  270. 'MPolyFromWKB','MultiLineStringFromText','MultiLineStringFromWKB',
  271. 'MultiPointFromText','MultiPointFromWKB','MultiPolygonFromText',
  272. 'MultiPolygonFromWKB',
  273. 'NumGeometries','NumInteriorRings','NumPoints',
  274. 'Overlaps',
  275. 'PointFromText','PointFromWKB','PointN','PointOnSurface',
  276. 'PolyFromText','PolyFromWKB','PolygonFromText','PolygonFromWKB',
  277. 'Related','SRID','StartPoint','SymDifference',
  278. 'Touches',
  279. 'Union',
  280. 'Within',
  281. 'X',
  282. 'Y',
  283. ),
  284. ),
  285. 'SYMBOLS' => array(
  286. 1 => array(
  287. /* Operators */
  288. '=', ':=', // assignment operators
  289. '||', '&&', '!', // locical operators
  290. '=', '<=>', '>=', '>', '<=', '<', '<>', '!=', // comparison operators
  291. '|', '&', '^', '~', '<<', '>>', // bitwise operators
  292. '-', '+', '*', '/', '%', // numerical operators
  293. ),
  294. 2 => array(
  295. /* Other syntactical symbols */
  296. '(', ')',
  297. ',', ';',
  298. ),
  299. ),
  300. 'CASE_SENSITIVE' => array(
  301. GESHI_COMMENTS => false,
  302. 1 => false,
  303. 2 => false,
  304. 3 => false,
  305. 4 => false,
  306. 5 => false,
  307. 6 => false,
  308. 7 => false,
  309. 8 => false,
  310. 9 => false,
  311. 10 => false,
  312. 11 => false,
  313. 12 => false,
  314. 13 => false,
  315. 13 => false,
  316. 14 => false,
  317. 15 => false,
  318. 16 => false,
  319. 17 => false,
  320. 18 => false,
  321. 19 => false,
  322. 20 => false,
  323. 21 => false,
  324. 22 => false,
  325. 23 => false,
  326. 24 => false,
  327. 25 => false,
  328. 26 => false,
  329. 27 => false,
  330. ),
  331. 'STYLES' => array(
  332. 'KEYWORDS' => array(
  333. 1 => 'color: #990099; font-weight: bold;', // mix
  334. 2 => 'color: #990099; font-weight: bold;', // mix
  335. 3 => 'color: #9900FF; font-weight: bold;', // constants
  336. 4 => 'color: #999900; font-weight: bold;', // column data types
  337. 5 => 'color: #999900; font-weight: bold;', // column data types
  338. 6 => 'color: #FF9900; font-weight: bold;', // attributes
  339. 7 => 'color: #FF9900; font-weight: bold;', // attributes
  340. 8 => 'color: #9900FF; font-weight: bold;', // date-time units
  341. 9 => 'color: #9900FF; font-weight: bold;', // date-time units
  342. 10 => 'color: #CC0099; font-weight: bold;', // operators
  343. 11 => 'color: #CC0099; font-weight: bold;', // operators
  344. 12 => 'color: #009900;', // control flow (functions)
  345. 13 => 'color: #000099;', // string functions
  346. 14 => 'color: #000099;', // string functions
  347. 15 => 'color: #000099;', // numeric functions
  348. 16 => 'color: #000099;', // numeric functions
  349. 17 => 'color: #000099;', // date-time functions
  350. 18 => 'color: #000099;', // date-time functions
  351. 19 => 'color: #000099;', // comparison functions
  352. 20 => 'color: #000099;', // comparison functions
  353. 21 => 'color: #000099;', // encryption functions
  354. 22 => 'color: #000099;', // aggregate functions
  355. 23 => 'color: #000099;', // information functions
  356. 24 => 'color: #000099;', // information functions
  357. 25 => 'color: #000099;', // miscellaneous functions
  358. 26 => 'color: #000099;', // miscellaneous functions
  359. 27 => 'color: #00CC00;', // geometry functions
  360. ),
  361. 'COMMENTS' => array(
  362. 'MULTI' => 'color: #808000; font-style: italic;',
  363. 1 => 'color: #808080; font-style: italic;',
  364. 2 => 'color: #808080; font-style: italic;'
  365. ),
  366. 'ESCAPE_CHAR' => array(
  367. 0 => 'color: #004000; font-weight: bold;',
  368. 1 => 'color: #008080; font-weight: bold;' // search wildcards
  369. ),
  370. 'BRACKETS' => array(
  371. 0 => 'color: #FF00FF;'
  372. ),
  373. 'STRINGS' => array(
  374. 0 => 'color: #008000;'
  375. ),
  376. 'NUMBERS' => array(
  377. 0 => 'color: #008080;'
  378. ),
  379. 'METHODS' => array(
  380. ),
  381. 'SYMBOLS' => array(
  382. 1 => 'color: #CC0099;', // operators
  383. 2 => 'color: #000033;', // syntax
  384. ),
  385. 'SCRIPT' => array(
  386. ),
  387. 'REGEXPS' => array(
  388. )
  389. ),
  390. 'URLS' => array(
  391. 1 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  392. 2 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  393. 3 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  394. 4 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  395. 5 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  396. 6 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  397. 7 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  398. 8 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  399. 9 => 'http://search.oracle.com/search/search?group=MySQL&amp;q={FNAME}',
  400. 10 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
  401. 11 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
  402. 12 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/control-flow-functions.html',
  403. 13 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
  404. 14 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
  405. 15 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
  406. 16 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
  407. 17 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
  408. 18 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
  409. 19 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
  410. 20 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
  411. 21 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/encryption-functions.html',
  412. 22 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/group-by-functions-and-modifiers.html',
  413. 23 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
  414. 24 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
  415. 25 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
  416. 26 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
  417. 27 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/analysing-spatial-information.html',
  418. ),
  419. 'OOLANG' => false,
  420. 'OBJECT_SPLITTERS' => array(
  421. ),
  422. 'REGEXPS' => array(
  423. ),
  424. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  425. 'SCRIPT_DELIMITERS' => array(
  426. ),
  427. 'HIGHLIGHT_STRICT_BLOCK' => array(
  428. ),
  429. 'TAB_WIDTH' => 4,
  430. 'PARSER_CONTROL' => array(
  431. 'KEYWORDS' => array(
  432. 2 => array(
  433. 'DISALLOWED_AFTER' => '(?![\(\w])'
  434. ),
  435. 5 => array(
  436. 'DISALLOWED_AFTER' => '(?![\(\w])'
  437. ),
  438. 7 => array(
  439. 'DISALLOWED_AFTER' => '(?![\(\w])'
  440. ),
  441. 9 => array(
  442. 'DISALLOWED_AFTER' => '(?![\(\w])'
  443. ),
  444. 11 => array(
  445. 'DISALLOWED_AFTER' => '(?![\(\w])'
  446. ),
  447. 14 => array(
  448. 'DISALLOWED_AFTER' => '(?=\()'
  449. ),
  450. 16 => array(
  451. 'DISALLOWED_AFTER' => '(?=\()'
  452. ),
  453. 18 => array(
  454. 'DISALLOWED_AFTER' => '(?=\()'
  455. ),
  456. 20 => array(
  457. 'DISALLOWED_AFTER' => '(?=\()'
  458. ),
  459. 24 => array(
  460. 'DISALLOWED_AFTER' => '(?=\()'
  461. ),
  462. 26 => array(
  463. 'DISALLOWED_AFTER' => '(?=\()'
  464. )
  465. )
  466. )
  467. );
  468. ?>