1 <?php |
1 <?php |
2 /************************************************************************************* |
2 /************************************************************************************* |
3 * mysql.php |
3 * mysql.php |
4 * --------- |
4 * --------- |
5 * Author: Carl F�rstenberg (azatoth@gmail.com) |
5 * Author: Marjolein Katsma (marjolein.is.back@gmail.com) |
6 * Copyright: (c) 2005 Carl F�rstenberg, Nigel McNie (http://qbnz.com/highlighter) |
6 * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/) |
7 * Release Version: 1.0.7.20 |
7 * Release Version: 1.0.8.2 |
8 * Date Started: 2004/06/04 |
8 * Date Started: 2008-12-12 |
9 * |
9 * |
10 * MySQL language file for GeSHi. |
10 * MySQL language file for GeSHi. |
11 * |
11 * |
12 * |
12 * Based on original MySQL language file by Carl Fürstenberg (2004); brought |
13 ************************************************************************************* |
13 * up-to-date for current MySQL versions, and with more classes for different |
14 * |
14 * types of keywords; several minor errors were corrected as well. |
15 * This file is part of GeSHi. |
15 * |
16 * |
16 * Some "classes" have two groups here: this is to allow for the fact that some |
17 * GeSHi is free software; you can redistribute it and/or modify |
17 * keywords in MySQL have a double function: many of those are either a function |
18 * it under the terms of the GNU General Public License as published by |
18 * (must be immediately followed by an opening bracket) or some other keyword: |
19 * the Free Software Foundation; either version 2 of the License, or |
19 * so they can be distinguished by the presence (or not) of that opening bracket. |
20 * (at your option) any later version. |
20 * (An immediately following opening bracket is a default rule for functions in |
21 * |
21 * MySQL, though this may be overridden; because it's only a default, we use a |
22 * GeSHi is distributed in the hope that it will be useful, |
22 * regex lookahead only where necessary to distinguish homonyms, not generally |
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
23 * to match any function.) |
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
24 * Other keywords with double usage cannot be distinguished and are classified |
25 * GNU General Public License for more details. |
25 * in the "Mix" category. |
26 * |
26 * |
27 * You should have received a copy of the GNU General Public License |
27 ************************************************************************************* |
28 * along with GeSHi; if not, write to the Free Software |
28 * |
29 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
29 * This file is part of GeSHi. |
30 * |
30 * |
31 ************************************************************************************/ |
31 * GeSHi is free software; you can redistribute it and/or modify |
32 |
32 * it under the terms of the GNU General Public License as published by |
33 $language_data = array ( |
33 * the Free Software Foundation; either version 2 of the License, or |
34 'LANG_NAME' => 'MySQL', |
34 * (at your option) any later version. |
35 'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), |
35 * |
36 'COMMENT_MULTI' => array('/*' => '*/'), |
36 * GeSHi is distributed in the hope that it will be useful, |
37 'CASE_KEYWORDS' => 1, |
37 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
38 'QUOTEMARKS' => array("'", '"', ''), |
38 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
39 'ESCAPE_CHAR' => '\\', |
39 * GNU General Public License for more details. |
40 'KEYWORDS' => array( |
40 * |
41 1 => array( |
41 * You should have received a copy of the GNU General Public License |
42 /* Mix */ |
42 * along with GeSHi; if not, write to the Free Software |
43 'ALTER DATABASE', 'ALTER TABLE', 'CREATE DATABASE', 'CREATE INDEX', 'CREATE TABLE', 'DROP DATABASE', |
43 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
44 'DROP INDEX', 'DROP TABLE', 'RENAME TABLE', 'DELETE', 'DO', 'HANDLER', 'INSERT', 'LOAD DATA INFILE', |
44 * |
45 'REPLACE', 'SELECT', 'TRUNCATE', 'UPDATE', 'DESCRIBE', 'USE', 'START TRANSACTION', 'COMMIT', 'ROLLBACK', |
45 ************************************************************************************/ |
46 'SAVEPOINT', 'ROLLBACK TO SAVEPOINT', 'LOCK TABLES', 'UNLOCK_TABLES', 'SET TRANACTIONS', 'SET', 'SHOW', |
46 |
47 'CREATE PROCEDURE', 'CREATE FUNCTION', 'ALTER PROCEDURE', 'ALTER FUNCTION', 'DROP PROCEDURE', 'DROP FUNCTION', |
47 $language_data = array ( |
48 'SHOW CREATE PROCEDURE', 'SHOW CREATE FUNCTION', 'SHOW PROCEDURE STATUS', 'SHOW FUNCTION STATUS', |
48 'LANG_NAME' => 'MySQL', |
49 'CALL', 'BEGIN', 'END', 'DECLARE', 'CREATE ROUTINE', 'ALTER ROUTINE', 'CREATE', 'ALTER', 'DROP', |
49 //'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), // '--' MUST be folowed by whitespace,not necessarily a space |
50 'PRIMARY KEY', 'VALUES', 'INTO', 'FROM', |
50 'COMMENT_SINGLE' => array( |
51 'ANALYZE', 'BDB', 'BERKELEYDB', 'BTREE', 'BY', 'CASCADE', 'CHECK', 'COLUMN', 'COLUMNS', 'CONSTRAINT', |
51 1 =>'-- ', |
52 'CROSS', 'DATABASES', 'DELAYED', 'DISTINCT', 'DISTINCTROW', 'ENCLOSED', 'ERRORS', 'ESCAPED', 'EXISTS', |
52 2 => '#' |
53 'EXPLAIN', 'FALSE', 'FIELDS', 'FORCE', 'FOREIGN', 'FULLTEXT', 'GEOMETRY', 'GRANT', 'GROUP', 'HASH', |
53 ), |
54 'HAVING', 'HELP', 'HIGH_PRIORITY', 'IGNORE', 'INNER', 'INNODB', 'INTERVAL', 'JOIN', 'KEYS', 'KILL', |
54 'COMMENT_REGEXP' => array( |
55 'LINES', 'LOW_PRIORITY', 'MASTER_SERVER_ID', 'MATCH', 'MIDDLEINT', 'MRG_MYISAM', 'NATURAL', 'OPTIMIZE', |
55 1 => "/(?:--\s).*?$/", // double dash followed by any whitespace |
56 'OPTION', 'OPTIONALLY', 'ORDER', 'OUTER', 'OUTFILE', 'PRIVILEGES', 'PURGE', 'READ', 'REFERENCES', |
56 ), |
57 'REQUIRE', 'RESTRICT', 'RETURNS', 'REVOKE', 'RLIKE', 'RTREE', 'SOME', 'SONAME', 'SPATIAL', 'SQL_BIG_RESULT', |
57 'COMMENT_MULTI' => array('/*' => '*/'), |
58 'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STARTING', 'STRAIGHT_JOIN', 'STRIPED', 'TERMINATED', |
58 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, // @@@ would be nice if this could be defined per group! |
59 'TRUE', 'TYPES', 'UNION', 'USAGE', 'USER_RESOURCES', 'USING', 'VARCHARACTER', 'WARNINGS', 'WHERE', 'WRITE', |
59 'QUOTEMARKS' => array("'", '"', '`'), |
60 /* Control Flow Functions */ |
60 'ESCAPE_CHAR' => '\\', // by default only, can be specified |
61 'CASE', 'WHEN', 'THEN', 'ELSE', 'END', |
61 'ESCAPE_REGEXP' => array( |
62 /* String Functions */ |
62 1 => "/[_%]/", // search wildcards |
63 'UNHEX', 'BIN', 'BIT_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'COMPRESS', 'CONCAT', |
63 ), |
64 'CONCAT_WS', 'CONV', 'ELT', 'EXPORT_SET', 'FIELD', 'FIND_IN_SET', 'FORMAT', 'HEX', |
64 'NUMBERS' => |
65 'INSERT', 'INSTR', 'LCASE', 'LEFT', 'LENGTH', 'LOAD_FILE', 'LOCATE', 'LOWER', 'LPAD', |
65 GESHI_NUMBER_INT_BASIC | |
66 'LTRIM', 'MAKE_SET', 'MID', 'OCT', 'OCTET_LENGTH', 'ORD', 'POSITION', 'QUOTE', 'REPEAT', |
66 GESHI_NUMBER_OCT_PREFIX | |
67 'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SOUNDEX', 'SPACE', 'SUBSTRING', |
67 GESHI_NUMBER_HEX_PREFIX | |
68 'SUBSTRING_INDEX', 'TRIM', 'UCASE', 'UPPER', 'UNCOMPRESS', 'UNCOMPRESSD_LENGTH', |
68 GESHI_NUMBER_FLT_NONSCI | |
69 'MD5', 'SHA1', |
69 GESHI_NUMBER_FLT_SCI_SHORT | |
70 /* Numeric Functions */ |
70 GESHI_NUMBER_FLT_SCI_ZERO, |
71 'ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CEILING', 'CEIL', 'COS', 'COT', 'CRC32', 'DEGREES', |
71 'KEYWORDS' => array( |
72 'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'RAND', |
72 1 => array( |
73 'ROUND', 'SIGN', 'SIN', 'SQRT', 'TAN', 'TRUNCATE', |
73 // Mix: statement keywords and keywords that don't fit in any other |
74 /* Date and Time Functions */ |
74 // category, or have multiple usage/meanings |
75 'ADDDATE', 'ADDTIME', 'CONVERT_TZ', 'CURDATE', 'CURRENT_DATE', 'CURTIME', 'CURRENT_TIME', |
75 'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY', |
76 'CURRENT_TIMESTAMP', 'DATEDIFF', 'DATE_ADD', 'DATE_SUB', 'DATE_FORMAT', 'DAY', |
76 'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL', |
77 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'EXTRACT', 'FROM_DAYS', 'FROM_UNIXTIME', |
77 'CASCADED','CASCADE','CHAIN','CHECK','COLUMNS','COLUMN','COMMENT', |
78 'GET_FORMAT', 'LAST_DAY', 'LOCALTIME', 'LOCALTIMESTAMP', 'MAKEDATE', 'MAKETIME', |
78 'COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL','CONSISTENT', |
79 'MICROSECOND', 'MONTHNAME', 'NOW', 'PERIOD_ADD', 'PERIOD_DIFF', 'QUARTER', |
79 'CONVERT','CREATE','CROSS','DATA','DATABASES', |
80 'SECOND', 'SEC_TO_TIME', 'STR_TO_DATE', 'SUBDATE', 'SUBTIME', 'SYSDATE', 'TIME', 'TIMEDIFF', |
80 'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC', |
81 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIME_FORMAT', 'TIME_TO_SEC', 'TO_DAYS', |
81 'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO', |
82 'UNIX_TIMESTAMP', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'WEEKDAY', 'WEEKOFYEAR', |
82 'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE', |
83 'YEARWEEK', |
83 'ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS', |
84 |
84 'FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL', |
85 ), |
85 'FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING', |
86 2 => array( |
86 'HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX', |
87 'INTEGER', 'SMALLINT', 'DECIMAL', 'NUMERIC', 'FLOAT', 'REAL', 'DOUBLE PRECISION', |
87 'INFILE','INNER','INNODB','INOUT','INTO','INVOKER', |
88 'DOUBLE', 'INT', 'DEC', 'BIT' ,'TINYINT', 'SMALLINT', 'MEDIUMINT', 'BIGINT', |
88 'ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST', |
89 'DATETIME', 'DATE', 'TIMESTAMP', 'TIME', 'YEAR', |
89 'LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY', |
90 'CHAR', 'VARCHAR', 'BINARY', 'CHARACTER VARYING', 'VARBINARY', 'TINYBLOB', 'TINYTEXT', |
90 'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA', |
91 'BLOB', 'TEXT','MEDIUMBLOB', 'MEDIUMTEXT', 'LONGBLOB', 'LONGTEXT', 'ENUM', 'SET', |
91 'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON', |
92 'SERIAL DEFAULT VALUE', 'SERIAL', 'FIXED' |
92 'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT', |
93 ), |
93 'PARTIAL','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE','PURGE', |
94 3 => array( |
94 'QUICK','READS SQL DATA','READ','REFERENCES','RELEASE','RENAME', |
95 'ZEROFILL', 'NOT NULL', 'UNSIGNED', 'AUTO_INCREMENT', 'UNIQUE', 'NOT', 'NULL', 'CHARACTER SET', 'CHARSET', |
95 'REPEATABLE','REQUIRE','RESTRICT','RETURNS','REVOKE', |
96 'ASCII', 'UNICODE', 'NATIONAL', 'BOTH', 'LEADING', 'TRAILING','DEFAULT' |
96 'ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT', |
97 ), |
97 'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE', |
98 4 => array( |
98 'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT', |
99 'MICROSECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR', 'SECOND_MICROSECOND', |
99 'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS', |
100 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'HOUR_MICROSECOND', 'HOUR_SECOND', 'HOUR_MINUTE', 'DAY_MICROSECOND', |
100 'SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY', |
101 'DAY_SECOND', 'DAY_MINUTE', 'DAY_HOUR', 'YEAR_MONTH' |
101 'STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE', |
102 ), |
102 'TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS', |
103 5 => array( |
103 'TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED', |
104 'OR', 'XOR', 'AND', 'NOT', 'BETWEEN', 'IS', 'LIKE', 'REGEXP', 'IN', 'DIV', |
104 'UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES', |
105 'MOD', 'BINARY', 'COLLATE', 'LIMIT', 'OFFSET' |
105 'USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP', |
106 ), |
106 'WITH','WORK','WRITE', |
107 ), |
107 ), |
108 'SYMBOLS' => array( |
108 2 => array( //No ( must follow |
109 ':=', |
109 // Mix: statement keywords distinguished from functions by the same name |
110 '||', 'OR', 'XOR', |
110 "CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE" |
111 '&&', 'AND', |
111 ), |
112 'NOT', |
112 3 => array( |
113 'BETWEEN', 'CASE', 'WHEN', 'THEN', 'ELSE', |
113 // Values (Constants) |
114 '=', '<=>', '>=', '>', '<=', '<', '<>', '!=', 'IS', 'LIKE', 'REGEXP', 'IN', |
114 'FALSE','NULL','TRUE', |
115 '|', |
115 ), |
116 '&', |
116 4 => array( |
117 '<<', '>>', |
117 // Column Data Types |
118 '-', '+', |
118 'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING', |
119 '*', '/', 'DIV', '%', 'MOD', |
119 'CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION', |
120 '^', |
120 'DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY', |
121 '-', '~', |
121 'INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB', |
122 '!', |
122 'MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING', |
123 'BINARY', 'COLLATE', |
123 'MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING', |
124 '(', ')', |
124 'NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR', |
125 ), |
125 'NUMERIC','POINT','POLYGON','REAL','SERIAL', |
126 'CASE_SENSITIVE' => array( |
126 'SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT', |
127 GESHI_COMMENTS => false, |
127 'TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR', |
128 1 => false, |
128 ), |
129 2 => false, |
129 5 => array( //No ( must follow |
130 3 => false, |
130 // Column data types distinguished from functions by the same name |
131 4 => false, |
131 "CHAR", "DATE", "TIME" |
132 5 => false |
132 ), |
133 ), |
133 6 => array( |
134 'STYLES' => array( |
134 // Table, Column & Index Attributes |
135 'KEYWORDS' => array( |
135 'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION', |
136 1 => 'color: #993333; font-weight: bold;', |
136 'DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT', |
137 2 => 'color: #aa9933; font-weight: bold;', |
137 'INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS', |
138 3 => 'color: #aa3399; font-weight: bold;', |
138 'NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED', |
139 4 => 'color: #33aa99; font-weight: bold;', |
139 'SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL' |
140 5 => 'color: #993333; font-weight: bold;' |
140 ), |
141 ), |
141 7 => array( //No ( must follow |
142 'COMMENTS' => array( |
142 // Column attribute distinguished from function by the same name |
143 'MULTI' => 'color: #808080; font-style: italic;', |
143 "CHARSET" |
144 1 => 'color: #808080; font-style: italic;', |
144 ), |
145 2 => 'color: #808080; font-style: italic;' |
145 8 => array( |
146 ), |
146 // Date and Time Unit Specifiers |
147 'ESCAPE_CHAR' => array( |
147 'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND', |
148 0 => 'color: #000099; font-weight: bold;' |
148 'HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND', |
149 ), |
149 'MINUTE_MICROSECOND','MINUTE_SECOND', |
150 'BRACKETS' => array( |
150 'SECOND_MICROSECOND','YEAR_MONTH' |
151 0 => 'color: #66cc66;' |
151 ), |
152 ), |
152 9 => array( //No ( must follow |
153 'STRINGS' => array( |
153 // Date-time unit specifiers distinguished from functions by the same name |
154 0 => 'color: #ff0000;' |
154 "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR" |
155 ), |
155 ), |
156 'NUMBERS' => array( |
156 10 => array( |
157 0 => 'color: #cc66cc;' |
157 // Operators (see also Symbols) |
158 ), |
158 'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL', |
159 'METHODS' => array( |
159 'IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE', |
160 ), |
160 'SOUNDS LIKE','XOR' |
161 'SYMBOLS' => array( |
161 ), |
162 0 => 'color: #66cc66;' |
162 11 => array( //No ( must follow |
163 ), |
163 // Operator distinghuished from function by the same name |
164 'SCRIPT' => array( |
164 "INTERVAL" |
165 ), |
165 ), |
166 'REGEXPS' => array( |
166 12 => array( |
167 ) |
167 // Control Flow (functions) |
168 ), |
168 'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN', |
169 'OOLANG' => false, |
169 ), |
170 'OBJECT_SPLITTERS' => array( |
170 13 => array( |
171 ), |
171 // String Functions |
172 'REGEXPS' => array( |
172 'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH', |
173 ), |
173 'CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD', |
174 'STRICT_MODE_APPLIES' => GESHI_NEVER, |
174 'FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH', |
175 'SCRIPT_DELIMITERS' => array( |
175 'LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID', |
176 ), |
176 'OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE', |
177 'HIGHLIGHT_STRICT_BLOCK' => array( |
177 'RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX', |
178 ) |
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 13 => false, |
|
317 14 => false, |
|
318 15 => false, |
|
319 16 => false, |
|
320 17 => false, |
|
321 18 => false, |
|
322 19 => false, |
|
323 20 => false, |
|
324 21 => false, |
|
325 22 => false, |
|
326 23 => false, |
|
327 24 => false, |
|
328 25 => false, |
|
329 26 => false, |
|
330 27 => false, |
|
331 ), |
|
332 'STYLES' => array( |
|
333 'KEYWORDS' => array( |
|
334 1 => 'color: #990099; font-weight: bold;', // mix |
|
335 2 => 'color: #990099; font-weight: bold;', // mix |
|
336 3 => 'color: #9900FF; font-weight: bold;', // constants |
|
337 4 => 'color: #999900; font-weight: bold;', // column data types |
|
338 5 => 'color: #999900; font-weight: bold;', // column data types |
|
339 6 => 'color: #FF9900; font-weight: bold;', // attributes |
|
340 7 => 'color: #FF9900; font-weight: bold;', // attributes |
|
341 8 => 'color: #9900FF; font-weight: bold;', // date-time units |
|
342 9 => 'color: #9900FF; font-weight: bold;', // date-time units |
|
343 |
|
344 10 => 'color: #CC0099; font-weight: bold;', // operators |
|
345 11 => 'color: #CC0099; font-weight: bold;', // operators |
|
346 |
|
347 12 => 'color: #009900;', // control flow (functions) |
|
348 13 => 'color: #000099;', // string functions |
|
349 14 => 'color: #000099;', // string functions |
|
350 15 => 'color: #000099;', // numeric functions |
|
351 16 => 'color: #000099;', // numeric functions |
|
352 17 => 'color: #000099;', // date-time functions |
|
353 18 => 'color: #000099;', // date-time functions |
|
354 19 => 'color: #000099;', // comparison functions |
|
355 20 => 'color: #000099;', // comparison functions |
|
356 21 => 'color: #000099;', // encryption functions |
|
357 22 => 'color: #000099;', // aggregate functions |
|
358 23 => 'color: #000099;', // information functions |
|
359 24 => 'color: #000099;', // information functions |
|
360 25 => 'color: #000099;', // miscellaneous functions |
|
361 26 => 'color: #000099;', // miscellaneous functions |
|
362 27 => 'color: #00CC00;', // geometry functions |
|
363 ), |
|
364 'COMMENTS' => array( |
|
365 'MULTI' => 'color: #808000; font-style: italic;', |
|
366 1 => 'color: #808080; font-style: italic;', |
|
367 2 => 'color: #808080; font-style: italic;' |
|
368 ), |
|
369 'ESCAPE_CHAR' => array( |
|
370 0 => 'color: #004000; font-weight: bold;', |
|
371 1 => 'color: #008080; font-weight: bold;' // search wildcards |
|
372 ), |
|
373 'BRACKETS' => array( |
|
374 0 => 'color: #FF00FF;' |
|
375 ), |
|
376 'STRINGS' => array( |
|
377 0 => 'color: #008000;' |
|
378 ), |
|
379 'NUMBERS' => array( |
|
380 0 => 'color: #008080;' |
|
381 ), |
|
382 'METHODS' => array( |
|
383 ), |
|
384 'SYMBOLS' => array( |
|
385 1 => 'color: #CC0099;', // operators |
|
386 2 => 'color: #000033;', // syntax |
|
387 ), |
|
388 'SCRIPT' => array( |
|
389 ), |
|
390 'REGEXPS' => array( |
|
391 ) |
|
392 ), |
|
393 'URLS' => array( |
|
394 1 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
395 2 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
396 3 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
397 4 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
398 5 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
399 6 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
400 7 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
401 8 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
402 9 => 'http://search.mysql.com/search?site=refman-51&q={FNAME}&lr=lang_en', |
|
403 |
|
404 10 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html', |
|
405 11 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html', |
|
406 |
|
407 12 => 'http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html', |
|
408 13 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html', |
|
409 14 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html', |
|
410 15 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html', |
|
411 16 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html', |
|
412 17 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html', |
|
413 18 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html', |
|
414 19 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html', |
|
415 20 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html', |
|
416 21 => 'http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html', |
|
417 22 => 'http://dev.mysql.com/doc/refman/5.1/en/group-by-functions-and-modifiers.html', |
|
418 23 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html', |
|
419 24 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html', |
|
420 25 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html', |
|
421 26 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html', |
|
422 27 => 'http://dev.mysql.com/doc/refman/5.1/en/analysing-spatial-information.html', |
|
423 ), |
|
424 'OOLANG' => false, |
|
425 'OBJECT_SPLITTERS' => array( |
|
426 ), |
|
427 'REGEXPS' => array( |
|
428 ), |
|
429 'STRICT_MODE_APPLIES' => GESHI_NEVER, |
|
430 'SCRIPT_DELIMITERS' => array( |
|
431 ), |
|
432 'HIGHLIGHT_STRICT_BLOCK' => array( |
|
433 ), |
|
434 'TAB_WIDTH' => 4, |
|
435 'PARSER_CONTROL' => array( |
|
436 'KEYWORDS' => array( |
|
437 2 => array( |
|
438 'DISALLOWED_AFTER' => '(?![\(\w])' |
|
439 ), |
|
440 5 => array( |
|
441 'DISALLOWED_AFTER' => '(?![\(\w])' |
|
442 ), |
|
443 7 => array( |
|
444 'DISALLOWED_AFTER' => '(?![\(\w])' |
|
445 ), |
|
446 9 => array( |
|
447 'DISALLOWED_AFTER' => '(?![\(\w])' |
|
448 ), |
|
449 11 => array( |
|
450 'DISALLOWED_AFTER' => '(?![\(\w])' |
|
451 ), |
|
452 |
|
453 14 => array( |
|
454 'DISALLOWED_AFTER' => '(?=\()' |
|
455 ), |
|
456 16 => array( |
|
457 'DISALLOWED_AFTER' => '(?=\()' |
|
458 ), |
|
459 18 => array( |
|
460 'DISALLOWED_AFTER' => '(?=\()' |
|
461 ), |
|
462 20 => array( |
|
463 'DISALLOWED_AFTER' => '(?=\()' |
|
464 ), |
|
465 24 => array( |
|
466 'DISALLOWED_AFTER' => '(?=\()' |
|
467 ), |
|
468 26 => array( |
|
469 'DISALLOWED_AFTER' => '(?=\()' |
|
470 ) |
|
471 ) |
|
472 ) |
179 ); |
473 ); |
180 |
474 |
181 ?> |
475 ?> |