[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> mysql.php (source)

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