![]() ![]() |
websvn |
Subversion Repositories: |
Compare with Previous - Blame - Download
<?php/************************************************************************************** mysql.php* ---------* Author: Marjolein Katsma (marjolein.is.back@gmail.com)* Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)* Release Version: 1.0.8.3* Date Started: 2008-12-12** MySQL language file for GeSHi.** Based on original MySQL language file by Carl FĂźrstenberg (2004); brought* up-to-date for current MySQL versions, and with more classes for different* types of keywords; several minor errors were corrected as well.** Some "classes" have two groups here: this is to allow for the fact that some* keywords in MySQL have a double function: many of those are either a function* (must be immediately followed by an opening bracket) or some other keyword:* so they can be distinguished by the presence (or not) of that opening bracket.* (An immediately following opening bracket is a default rule for functions in* MySQL, though this may be overridden; because it's only a default, we use a* regex lookahead only where necessary to distinguish homonyms, not generally* to match any function.)* Other keywords with double usage cannot be distinguished and are classified* in the "Mix" category.**************************************************************************************** This file is part of GeSHi.** GeSHi is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** GeSHi is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with GeSHi; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*************************************************************************************/$language_data = array ('LANG_NAME' => 'MySQL',//'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), // '--' MUST be folowed by whitespace,not necessarily a space'COMMENT_SINGLE' => array(1 =>'-- ',2 => '#'),'COMMENT_REGEXP' => array(1 => "/(?:--\s).*?$/", // double dash followed by any whitespace),'COMMENT_MULTI' => array('/*' => '*/'),'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, // @@@ would be nice if this could be defined per group!'QUOTEMARKS' => array("'", '"', '`'),'ESCAPE_CHAR' => '\\', // by default only, can be specified'ESCAPE_REGEXP' => array(1 => "/[_%]/", // search wildcards),'NUMBERS' =>GESHI_NUMBER_INT_BASIC |GESHI_NUMBER_OCT_PREFIX |GESHI_NUMBER_HEX_PREFIX |GESHI_NUMBER_FLT_NONSCI |GESHI_NUMBER_FLT_SCI_SHORT |GESHI_NUMBER_FLT_SCI_ZERO,'KEYWORDS' => array(1 => array(// Mix: statement keywords and keywords that don't fit in any other// category, or have multiple usage/meanings'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY','ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL','CASCADED','CASCADE','CHAIN','CHECK','COLUMNS','COLUMN','COMMENT','COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL','CONSISTENT','CONVERT','CREATE','CROSS','DATA','DATABASES','DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC','DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO','DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE','ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS','FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL','FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING','HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX','INFILE','INNER','INNODB','INOUT','INTO','INVOKER','ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST','LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY','MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA','MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON','OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT','PARTIAL','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE','PURGE','QUICK','READS SQL DATA','READ','REFERENCES','RELEASE','RENAME','REPEATABLE','REQUIRE','RESTRICT','RETURNS','REVOKE','ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT','SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE','SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT','SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS','SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY','STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE','TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS','TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED','UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES','USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP','WITH','WORK','WRITE',),2 => array( //No ( must follow// Mix: statement keywords distinguished from functions by the same name"CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE"),3 => array(// Values (Constants)'FALSE','NULL','TRUE',),4 => array(// Column Data Types'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING','CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION','DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY','INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB','MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING','MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING','NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR','NUMERIC','POINT','POLYGON','REAL','SERIAL','SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT','TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR',),5 => array( //No ( must follow// Column data types distinguished from functions by the same name"CHAR", "DATE", "TIME"),6 => array(// Table, Column & Index Attributes'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION','DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT','INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS','NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED','SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL'),7 => array( //No ( must follow// Column attribute distinguished from function by the same name"CHARSET"),8 => array(// Date and Time Unit Specifiers'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND','HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_MICROSECOND','MINUTE_SECOND','SECOND_MICROSECOND','YEAR_MONTH'),9 => array( //No ( must follow// Date-time unit specifiers distinguished from functions by the same name"DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR"),10 => array(// Operators (see also Symbols)'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL','IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE','SOUNDS LIKE','XOR'),11 => array( //No ( must follow// Operator distinghuished from function by the same name"INTERVAL"),12 => array(// Control Flow (functions)'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN',),13 => array(// String Functions'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH','CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD','FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH','LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID','OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE','RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX','SUBSTRING','TRIM','UCASE','UNHEX','UPPER',),14 => array( //A ( must follow// String functions distinguished from other keywords by the same name"INSERT", "REPLACE", "CHAR"),15 => array(// Numeric Functions'ABS','ACOS','ASIN','ATAN2','ATAN','CEILING','CEIL','CONV','COS','COT','CRC32','DEGREES','EXP','FLOOR','LN','LOG10','LOG2','LOG','MOD','OCT','PI','POWER','POW','RADIANS','RAND','ROUND','SIGN','SIN','SQRT','TAN',),16 => array( //A ( must follow// Numeric function distinguished from other keyword by the same name"TRUNCATE"),17 => array(// Date and Time Functions'ADDDATE','ADDTIME','CONVERT_TZ','CURDATE','CURRENT_DATE','CURRENT_TIME','CURRENT_TIMESTAMP','CURTIME','DATE_ADD','DATE_FORMAT','DATE_SUB','DATEDIFF','DAYNAME','DAYOFMONTH','DAYOFWEEK','DAYOFYEAR','EXTRACT','FROM_DAYS','FROM_UNIXTIME','GET_FORMAT','LAST_DAY','LOCALTIME','LOCALTIMESTAMP','MAKEDATE','MAKETIME','MONTHNAME','NOW','PERIOD_ADD','PERIOD_DIFF','SEC_TO_TIME','STR_TO_DATE','SUBDATE','SUBTIME','SYSDATE','TIME_FORMAT','TIME_TO_SEC','TIMESTAMPADD','TIMESTAMPDIFF','TO_DAYS','UNIX_TIMESTAMP','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','WEEKDAY','WEEKOFYEAR','YEARWEEK',),18 => array( //A ( must follow// Date-time functions distinguished from other keywords by the same name"DATE", "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER","SECOND", "TIME", "WEEK", "YEAR"),19 => array(// Comparison Functions'COALESCE','GREATEST','ISNULL','LEAST',),20 => array( //A ( must follow// Comparison functions distinguished from other keywords by the same name"IN", "INTERVAL"),21 => array(// Encryption and Compression Functions'AES_DECRYPT','AES_ENCRYPT','COMPRESS','DECODE','DES_DECRYPT','DES_ENCRYPT','ENCODE','ENCRYPT','MD5','OLD_PASSWORD','PASSWORD','SHA1','SHA','UNCOMPRESS','UNCOMPRESSED_LENGTH',),22 => array(// GROUP BY (aggregate) Functions'AVG','BIT_AND','BIT_OR','BIT_XOR','COUNT','GROUP_CONCAT','MAX','MIN','STDDEV_POP','STDDEV_SAMP','STDDEV','STD','SUM','VAR_POP','VAR_SAMP','VARIANCE',),23 => array(// Information Functions'BENCHMARK','COERCIBILITY','COLLATION','CONNECTION_ID','FOUND_ROWS','LAST_INSERT_ID','ROW_COUNT','SESSION_USER','SYSTEM_USER','USER','VERSION',),24 => array( //A ( must follow// Information functions distinguished from other keywords by the same name"CURRENT_USER", "DATABASE", "SCHEMA", "CHARSET"),25 => array(// Miscellaneous Functions'ExtractValue','BIT_COUNT','GET_LOCK','INET_ATON','INET_NTOA','IS_FREE_LOCK','IS_USED_LOCK','MASTER_POS_WAIT','NAME_CONST','RELEASE_LOCK','SLEEP','UpdateXML','UUID',),26 => array( //A ( must follow// Miscellaneous function distinguished from other keyword by the same name"DEFAULT"),27 => array(// Geometry Functions'Area','AsBinary','AsText','AsWKB','AsWKT','Boundary','Buffer','Centroid','Contains','ConvexHull','Crosses','Difference','Dimension','Disjoint','Distance','EndPoint','Envelope','Equals','ExteriorRing','GLength','GeomCollFromText','GeomCollFromWKB','GeomFromText','GeomFromWKB','GeometryCollectionFromText','GeometryCollectionFromWKB','GeometryFromText','GeometryFromWKB','GeometryN','GeometryType','InteriorRingN','Intersection','Intersects','IsClosed','IsEmpty','IsRing','IsSimple','LineFromText','LineFromWKB','LineStringFromText','LineStringFromWKB','MBRContains','MBRDisjoint','MBREqual','MBRIntersects','MBROverlaps','MBRTouches','MBRWithin','MLineFromText','MLineFromWKB','MPointFromText','MPointFromWKB','MPolyFromText','MPolyFromWKB','MultiLineStringFromText','MultiLineStringFromWKB','MultiPointFromText','MultiPointFromWKB','MultiPolygonFromText','MultiPolygonFromWKB','NumGeometries','NumInteriorRings','NumPoints','Overlaps','PointFromText','PointFromWKB','PointN','PointOnSurface','PolyFromText','PolyFromWKB','PolygonFromText','PolygonFromWKB','Related','SRID','StartPoint','SymDifference','Touches','Union','Within','X','Y',),),'SYMBOLS' => array(1 => array(/* Operators */'=', ':=', // assignment operators'||', '&&', '!', // locical operators'=', '<=>', '>=', '>', '<=', '<', '<>', '!=', // comparison operators'|', '&', '^', '~', '<<', '>>', // bitwise operators'-', '+', '*', '/', '%', // numerical operators),2 => array(/* Other syntactical symbols */'(', ')',',', ';',),),'CASE_SENSITIVE' => array(GESHI_COMMENTS => false,1 => false,2 => false,3 => false,4 => false,5 => false,6 => false,7 => false,8 => false,9 => false,10 => false,11 => false,12 => false,13 => false,13 => false,14 => false,15 => false,16 => false,17 => false,18 => false,19 => false,20 => false,21 => false,22 => false,23 => false,24 => false,25 => false,26 => false,27 => false,),'STYLES' => array('KEYWORDS' => array(1 => 'color: #990099; font-weight: bold;', // mix2 => 'color: #990099; font-weight: bold;', // mix3 => 'color: #9900FF; font-weight: bold;', // constants4 => 'color: #999900; font-weight: bold;', // column data types5 => 'color: #999900; font-weight: bold;', // column data types6 => 'color: #FF9900; font-weight: bold;', // attributes7 => 'color: #FF9900; font-weight: bold;', // attributes8 => 'color: #9900FF; font-weight: bold;', // date-time units9 => 'color: #9900FF; font-weight: bold;', // date-time units10 => 'color: #CC0099; font-weight: bold;', // operators11 => 'color: #CC0099; font-weight: bold;', // operators12 => 'color: #009900;', // control flow (functions)13 => 'color: #000099;', // string functions14 => 'color: #000099;', // string functions15 => 'color: #000099;', // numeric functions16 => 'color: #000099;', // numeric functions17 => 'color: #000099;', // date-time functions18 => 'color: #000099;', // date-time functions19 => 'color: #000099;', // comparison functions20 => 'color: #000099;', // comparison functions21 => 'color: #000099;', // encryption functions22 => 'color: #000099;', // aggregate functions23 => 'color: #000099;', // information functions24 => 'color: #000099;', // information functions25 => 'color: #000099;', // miscellaneous functions26 => 'color: #000099;', // miscellaneous functions27 => 'color: #00CC00;', // geometry functions),'COMMENTS' => array('MULTI' => 'color: #808000; font-style: italic;',1 => 'color: #808080; font-style: italic;',2 => 'color: #808080; font-style: italic;'),'ESCAPE_CHAR' => array(0 => 'color: #004000; font-weight: bold;',1 => 'color: #008080; font-weight: bold;' // search wildcards),'BRACKETS' => array(0 => 'color: #FF00FF;'),'STRINGS' => array(0 => 'color: #008000;'),'NUMBERS' => array(0 => 'color: #008080;'),'METHODS' => array(),'SYMBOLS' => array(1 => 'color: #CC0099;', // operators2 => 'color: #000033;', // syntax),'SCRIPT' => array(),'REGEXPS' => array()),'URLS' => array(1 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',2 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',3 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',4 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',5 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',6 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',7 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',8 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',9 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en',10 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html',11 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html',12 => 'http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html',13 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html',14 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html',15 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html',16 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html',17 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html',18 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html',19 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html',20 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html',21 => 'http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html',22 => 'http://dev.mysql.com/doc/refman/5.1/en/group-by-functions-and-modifiers.html',23 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html',24 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html',25 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html',26 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html',27 => 'http://dev.mysql.com/doc/refman/5.1/en/analysing-spatial-information.html',),'OOLANG' => false,'OBJECT_SPLITTERS' => array(),'REGEXPS' => array(),'STRICT_MODE_APPLIES' => GESHI_NEVER,'SCRIPT_DELIMITERS' => array(),'HIGHLIGHT_STRICT_BLOCK' => array(),'TAB_WIDTH' => 4,'PARSER_CONTROL' => array('KEYWORDS' => array(2 => array('DISALLOWED_AFTER' => '(?![\(\w])'),5 => array('DISALLOWED_AFTER' => '(?![\(\w])'),7 => array('DISALLOWED_AFTER' => '(?![\(\w])'),9 => array('DISALLOWED_AFTER' => '(?![\(\w])'),11 => array('DISALLOWED_AFTER' => '(?![\(\w])'),14 => array('DISALLOWED_AFTER' => '(?=\()'),16 => array('DISALLOWED_AFTER' => '(?=\()'),18 => array('DISALLOWED_AFTER' => '(?=\()'),20 => array('DISALLOWED_AFTER' => '(?=\()'),24 => array('DISALLOWED_AFTER' => '(?=\()'),26 => array('DISALLOWED_AFTER' => '(?=\()'))));?>