PageRenderTime 32ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/plugins/content/geshi/geshi/geshi/mysql.php

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