2 /* vim: set expandtab sw=4 ts=4 sts=4: */
4 * SQL Parser Matching Data
6 * Copyright 2002 Robin Johnson <robbat2@users.sourceforge.net>
7 * http://www.orbis-terrarum.net/?l=people.robbat2
9 * This data is used by the SQL Parser to recognize keywords
11 * It has been extracted from the lex.h file in the MySQL BK tree
12 * (around 4.0.2) as well as the MySQL documentation.
14 * It's easier to use only uppercase for proper sorting. In case of
15 * doubt, use the test case to verify.
19 if (! defined('PHPMYADMIN')) {
23 if (! isset($GLOBALS['sql_delimiter'])) {
24 $GLOBALS['sql_delimiter'] = ';';
28 * @global array MySQL function names
30 $PMA_SQPdata_function_name = array (
37 'AREA', // Area() polygon-property-functions.html
38 'ASBINARY', // AsBinary()
45 'BDMPOLYFROMTEXT', // BdMPolyFromText()
46 'BDMPOLYFROMWKB', // BdMPolyFromWKB()
47 'BDPOLYFROMTEXT', // BdPolyFromText()
48 'BDPOLYFROMWKB', // BdPolyFromWKB()
55 'BIT_XOR', // group-by-functions.html
56 'BOUNDARY', // Boundary() general-geometry-property-functions.html
61 'CENTROID', // Centroid() multipolygon-property-functions.html
62 'CHAR', // string-functions.html
64 'CHARSET', // information-functions.html
67 'COERCIBILITY', // information-functions.html
68 'COLLATION', // information-functions.html
69 'COMPRESS', // string-functions.html
73 'CONTAINS', // Contains()
77 'CONVEXHULL', // ConvexHull()
81 'CRC32', // mathematical-functions.html
82 'CROSSES', // Crosses()
90 'DATE', // date-and-time-functions.html
91 'DATEDIFF', // date-and-time-functions.html
102 'DEFAULT', // miscellaneous-functions.html
106 'DIFFERENCE', // Difference()
107 'DIMENSION', // Dimension() general-geometry-property-functions.html
108 'DISJOINT', // Disjoint()
109 'DISTANCE', // Distance()
113 'ENDPOINT', // EndPoint() linestring-property-functions.html
114 'ENVELOPE', // Envelope() general-geometry-property-functions.html
115 'EQUALS', // Equals()
118 'EXTERIORRING', // ExteriorRing() polygon-property-functions.html
120 'EXTRACTVALUE', // ExtractValue() xml-functions.html
128 'GEOMCOLLFROMTEXT', // GeomCollFromText()
129 'GEOMCOLLFROMWKB', // GeomCollFromWKB()
130 'GEOMETRYCOLLECTION', // GeometryCollection()
131 'GEOMETRYCOLLECTIONFROMTEXT', // GeometryCollectionFromText()
132 'GEOMETRYCOLLECTIONFROMWKB', // GeometryCollectionFromWKB()
133 'GEOMETRYFROMTEXT', // GeometryFromText()
134 'GEOMETRYFROMWKB', // GeometryFromWKB()
135 'GEOMETRYN', // GeometryN() geometrycollection-property-functions.html
136 'GEOMETRYTYPE', // GeometryType() general-geometry-property-functions.html
137 'GEOMFROMTEXT', // GeomFromText()
138 'GEOMFROMWKB', // GeomFromWKB()
141 'GLENGTH', // GLength() linestring-property-functions.html
144 'GROUP_UNIQUE_USERS',
147 'IF', //control-flow-functions.html
151 'INSERT', // string-functions.html
153 'INTERIORRINGN', // InteriorRingN() polygon-property-functions.html
154 'INTERSECTION', // Intersection()
155 'INTERSECTS', // Intersects()
157 'ISCLOSED', // IsClosed() multilinestring-property-functions.html
158 'ISEMPTY', // IsEmpty() general-geometry-property-functions.html
160 'ISRING', // IsRing() linestring-property-functions.html
161 'ISSIMPLE', // IsSimple() general-geometry-property-functions.html
163 'IS_USED_LOCK', // miscellaneous-functions.html
170 'LINEFROMTEXT', // LineFromText()
171 'LINEFROMWKB', // LineFromWKB()
172 'LINESTRING', // LineString()
173 'LINESTRINGFROMTEXT', // LineStringFromText()
174 'LINESTRINGFROMWKB', // LineStringFromWKB()
191 'MBRCONTAINS', // MBRContains()
192 'MBRDISJOINT', // MBRDisjoint()
193 'MBREQUAL', // MBREqual()
194 'MBRINTERSECTS', // MBRIntersects()
195 'MBROVERLAPS', // MBROverlaps()
196 'MBRTOUCHES', // MBRTouches()
197 'MBRWITHIN', // MBRWithin()
203 'MLINEFROMTEXT', // MLineFromText()
204 'MLINEFROMWKB', // MLineFromWKB()
208 'MPOINTFROMTEXT', // MPointFromText()
209 'MPOINTFROMWKB', // MPointFromWKB()
210 'MPOLYFROMTEXT', // MPolyFromText()
211 'MPOLYFROMWKB', // MPolyFromWKB()
212 'MULTILINESTRING', // MultiLineString()
213 'MULTILINESTRINGFROMTEXT', // MultiLineStringFromText()
214 'MULTILINESTRINGFROMWKB', // MultiLineStringFromWKB()
215 'MULTIPOINT', // MultiPoint()
216 'MULTIPOINTFROMTEXT', // MultiPointFromText()
217 'MULTIPOINTFROMWKB', // MultiPointFromWKB()
218 'MULTIPOLYGON', // MultiPolygon()
219 'MULTIPOLYGONFROMTEXT', // MultiPolygonFromText()
220 'MULTIPOLYGONFROMWKB', // MultiPolygonFromWKB()
221 'NAME_CONST', // NAME_CONST()
224 'NUMGEOMETRIES', // NumGeometries() geometrycollection-property-functions.html
225 'NUMINTERIORRINGS', // NumInteriorRings() polygon-property-functions.html
226 'NUMPOINTS', // NumPoints() linestring-property-functions.html
231 'OVERLAPS', // Overlaps()
237 'POINTFROMTEXT', // PointFromText()
238 'POINTFROMWKB', // PointFromWKB()
239 'POINTN', // PointN() inestring-property-functions.html
240 'POINTONSURFACE', // PointOnSurface() multipolygon-property-functions.html
241 'POLYFROMTEXT', // PolyFromText()
242 'POLYFROMWKB', // PolyFromWKB()
243 'POLYGON', // Polygon()
244 'POLYGONFROMTEXT', // PolygonFromText()
245 'POLYGONFROMWKB', // PolygonFromWKB()
253 'RELATED', // Related()
256 'REPLACE', // string-functions.html
260 'ROW_COUNT', // information-functions.html
263 'SCHEMA', // information-functions.html
271 'SLEEP', // miscellaneous-functions.html
275 'SRID', // general-geometry-property-functions.html
276 'STARTPOINT', // StartPoint() linestring-property-functions.html
279 'STDDEV_POP', // group-by-functions.html
280 'STDDEV_SAMP', // group-by-functions.html
289 'SYMDIFFERENCE', // SymDifference()
300 'TOUCHES', // Touches()
303 'TRUNCATE', // mathematical-functions.html
305 'UNCOMPRESS', // string-functions.html
306 'UNCOMPRESSED_LENGTH', // string-functions.html
307 'UNHEX', // string-functions.html
310 'UPDATEXML', // UpdateXML() xml-functions.html
316 'UUID', // miscellaneous-functions.html
317 'VARIANCE', // group-by-functions.html
318 'VAR_POP', // group-by-functions.html
319 'VAR_SAMP', // group-by-functions.html
324 'WITHIN', // Within()
325 'X', // point-property-functions.html
326 'Y', // point-property-functions.html
332 * @global array MySQL attributes
334 $PMA_SQPdata_column_attrib = array (
339 'BERKELEYDB', // Engine alias BDB
341 'BLACKHOLE', // Engine
345 'FEDERATED', // Engine
347 'INNOBASE', // Engine alias InnoDB
348 'INNODB', // Engine InnoDB
351 'MEMORY', // Engine alias HEAP, but preferred
353 'MRG_ISAM', // Engine
354 'MRG_MYISAM', // Engine alias MERGE
355 'MYISAM', // Engine MyISAM
357 'NDB', // Engine alias NDBCLUSTER
358 'NDBCLUSTER', // Engine
368 * words that are reserved by MySQL and may not be used as identifiers without quotes
370 * @see http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
372 * @global array MySQL reserved words
374 $PMA_SQPdata_reserved_word = array (
469 'GEMINI_SPIN_RETRIES',
517 'MASTER_CONNECT_RETRY',
518 'MASTER_HEARTBEAT_PERIOD',
527 'MAX_CONNECTIONS_PER_HOUR',
528 'MAX_QUERIES_PER_HOUR',
530 'MAX_UPDATES_PER_HOUR',
531 'MAX_USER_CONNECTIONS',
544 // 'NO' is not allowed in SQL-99 but is allowed in MySQL
559 'PAGE', // 5.1-maria ?
560 'PAGE_CHECKSUM', // 5.1
614 'SOUNDS', // string-functions.html
622 'SQL_CALC_FOUND_ROWS',
626 'SQL_LOW_PRIORITY_UPDATES',
629 'SQL_QUOTE_SHOW_CREATE',
632 'SQL_SLAVE_SKIP_COUNTER',
651 'TRANSACTIONAL', // 5.1 ?
677 * words forbidden to be used as column or table name wihtout quotes
678 * as seen in http://dev.mysql.com/doc/mysql/en/reserved-words.html
680 * @global array MySQL forbidden words
682 $PMA_SQPdata_forbidden_word = array (
835 'GEOMETRYCOLLECTION',
911 'MASTER_CONNECT_RETRY',
926 'MAX_CONNECTIONS_PER_HOUR',
927 'MAX_QUERIES_PER_HOUR',
929 'MAX_UPDATES_PER_HOUR',
930 'MAX_USER_CONNECTIONS',
940 'MINUTE_MICROSECOND',
964 'NO_WRITE_TO_BINLOG',
1007 'READ_WRITE', // 5.1
1045 'SECOND_MICROSECOND',
1072 'SQL_BUFFER_RESULT',
1074 'SQL_CALC_FOUND_ROWS',
1079 'SQL_TSI_FRAC_SECOND',
1168 * the MySQL column/data types
1170 * @see http://dev.mysql.com/doc/refman/5.1/en/data-types.html
1171 * @see http://dev.mysql.com/doc/refman/5.1/en/mysql-spatial-datatypes.html
1173 * @global array MySQL column types
1175 $PMA_SQPdata_column_type = array (
1181 'BOOLEAN', // numeric-type-overview.html
1193 'GEOMETRY', // spatial
1194 'GEOMETRYCOLLECTION', // spatial
1202 'LINESTRING', // spatial
1210 'MULTILINESTRING', // spatial
1211 'MULTIPOINT', // spatial
1212 'MULTIPOLYGON', // spatial
1216 'POLYGON', // spatial
1218 'SERIAL', // alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
1233 * Documentation links for operators.
1235 $PMA_SQPdata_operators_docs = array(
1236 '!=' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1237 '<>' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1238 '!' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1239 '||' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1240 '+' => array('link' => 'arithmetic-functions','anchor' => 'operator_plus'),
1241 '>>' => array('link' => 'bit-functions','anchor' => 'operator_right-shift'),
1242 '-' => array('link' => 'arithmetic-functions','anchor' => 'operator_minus'),
1243 '*' => array('link' => 'arithmetic-functions','anchor' => 'operator_times'),
1244 '&&' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1245 '&' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-and'),
1246 '~' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-invert'),
1247 '|' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-or'),
1248 '^' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-xor'),
1249 '=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-equal'),
1250 ':=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-value'),
1251 '/' => array('link' => 'arithmetic-functions','anchor' => 'operator_divide'),
1252 '<=>' => array('link' => 'comparison-operators','anchor' => 'operator_equal-to'),
1253 '=' => array('link' => 'comparison-operators','anchor' => 'operator_equal'),
1254 '>=' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than-or-equal'),
1255 '>' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than'),
1256 '<<' => array('link' => 'bit-functions','anchor' => 'operator_left-shift'),
1257 '<=' => array('link' => 'comparison-operators','anchor' => 'operator_less-than-or-equal'),
1258 '<' => array('link' => 'comparison-operators','anchor' => 'operator_less-than'),
1259 '%' => array('link' => 'arithmetic-functions','anchor' => 'operator_mod')
1263 * Documentation links for functions.
1265 $PMA_SQPdata_functions_docs = array(
1266 'ABS' => array('link' => 'mathematical-functions','anchor' => 'function_abs'),
1267 'ACOS' => array('link' => 'mathematical-functions','anchor' => 'function_acos'),
1268 'ADDDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_adddate'),
1269 'ADDTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_addtime'),
1270 'AES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_decrypt'),
1271 'AES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_encrypt'),
1272 'AND' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1273 'ASCII' => array('link' => 'string-functions','anchor' => 'function_ascii'),
1274 'ASIN' => array('link' => 'mathematical-functions','anchor' => 'function_asin'),
1275 'ATAN2' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1276 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1277 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan'),
1278 'AVG' => array('link' => 'group-by-functions','anchor' => 'function_avg'),
1279 'BENCHMARK' => array('link' => 'information-functions','anchor' => 'function_benchmark'),
1280 'BIN' => array('link' => 'string-functions','anchor' => 'function_bin'),
1281 'BINARY' => array('link' => 'cast-functions','anchor' => 'operator_binary'),
1282 'BIT_AND' => array('link' => 'group-by-functions','anchor' => 'function_bit_and'),
1283 'BIT_COUNT' => array('link' => 'bit-functions','anchor' => 'function_bit_count'),
1284 'BIT_LENGTH' => array('link' => 'string-functions','anchor' => 'function_bit_length'),
1285 'BIT_OR' => array('link' => 'group-by-functions','anchor' => 'function_bit_or'),
1286 'BIT_XOR' => array('link' => 'group-by-functions','anchor' => 'function_bit_xor'),
1287 'CASE' => array('link' => 'control-flow-functions','anchor' => 'operator_case'),
1288 'CAST' => array('link' => 'cast-functions','anchor' => 'function_cast'),
1289 'CEIL' => array('link' => 'mathematical-functions','anchor' => 'function_ceil'),
1290 'CEILING' => array('link' => 'mathematical-functions','anchor' => 'function_ceiling'),
1291 'CHAR_LENGTH' => array('link' => 'string-functions','anchor' => 'function_char_length'),
1292 'CHAR' => array('link' => 'string-functions','anchor' => 'function_char'),
1293 'CHARACTER_LENGTH' => array('link' => 'string-functions','anchor' => 'function_character_length'),
1294 'CHARSET' => array('link' => 'information-functions','anchor' => 'function_charset'),
1295 'COALESCE' => array('link' => 'comparison-operators','anchor' => 'function_coalesce'),
1296 'COERCIBILITY' => array('link' => 'information-functions','anchor' => 'function_coercibility'),
1297 'COLLATION' => array('link' => 'information-functions','anchor' => 'function_collation'),
1298 'COMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_compress'),
1299 'CONCAT_WS' => array('link' => 'string-functions','anchor' => 'function_concat_ws'),
1300 'CONCAT' => array('link' => 'string-functions','anchor' => 'function_concat'),
1301 'CONNECTION_ID' => array('link' => 'information-functions','anchor' => 'function_connection_id'),
1302 'CONV' => array('link' => 'mathematical-functions','anchor' => 'function_conv'),
1303 'CONVERT_TZ' => array('link' => 'date-and-time-functions','anchor' => 'function_convert_tz'),
1304 'Convert' => array('link' => 'cast-functions','anchor' => 'function_convert'),
1305 'COS' => array('link' => 'mathematical-functions','anchor' => 'function_cos'),
1306 'COT' => array('link' => 'mathematical-functions','anchor' => 'function_cot'),
1307 'COUNT' => array('link' => 'group-by-functions','anchor' => 'function_count'),
1308 'CRC32' => array('link' => 'mathematical-functions','anchor' => 'function_crc32'),
1309 'CURDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_curdate'),
1310 'CURRENT_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_current_date'),
1311 'CURRENT_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_current_time'),
1312 'CURRENT_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_current_timestamp'),
1313 'CURRENT_USER' => array('link' => 'information-functions','anchor' => 'function_current_user'),
1314 'CURTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_curtime'),
1315 'DATABASE' => array('link' => 'information-functions','anchor' => 'function_database'),
1316 'DATE_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_date_add'),
1317 'DATE_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_date_format'),
1318 'DATE_SUB' => array('link' => 'date-and-time-functions','anchor' => 'function_date_sub'),
1319 'DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_date'),
1320 'DATEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_datediff'),
1321 'DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_day'),
1322 'DAYNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_dayname'),
1323 'DAYOFMONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofmonth'),
1324 'DAYOFWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofweek'),
1325 'DAYOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofyear'),
1326 'DECLARE' => array('link' => 'declare', 'anchor' => 'declare'),
1327 'DECODE' => array('link' => 'encryption-functions','anchor' => 'function_decode'),
1328 'DEFAULT' => array('link' => 'miscellaneous-functions','anchor' => 'function_default'),
1329 'DEGREES' => array('link' => 'mathematical-functions','anchor' => 'function_degrees'),
1330 'DES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_decrypt'),
1331 'DES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_encrypt'),
1332 'DIV' => array('link' => 'arithmetic-functions','anchor' => 'operator_div'),
1333 'ELT' => array('link' => 'string-functions','anchor' => 'function_elt'),
1334 'ENCODE' => array('link' => 'encryption-functions','anchor' => 'function_encode'),
1335 'ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_encrypt'),
1336 'EXP' => array('link' => 'mathematical-functions','anchor' => 'function_exp'),
1337 'EXPORT_SET' => array('link' => 'string-functions','anchor' => 'function_export_set'),
1338 'EXTRACT' => array('link' => 'date-and-time-functions','anchor' => 'function_extract'),
1339 'ExtractValue' => array('link' => 'xml-functions','anchor' => 'function_extractvalue'),
1340 'FIELD' => array('link' => 'string-functions','anchor' => 'function_field'),
1341 'FIND_IN_SET' => array('link' => 'string-functions','anchor' => 'function_find_in_set'),
1342 'FLOOR' => array('link' => 'mathematical-functions','anchor' => 'function_floor'),
1343 'FORMAT' => array('link' => 'string-functions','anchor' => 'function_format'),
1344 'FOUND_ROWS' => array('link' => 'information-functions','anchor' => 'function_found_rows'),
1345 'FROM_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_from_days'),
1346 'FROM_UNIXTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_from_unixtime'),
1347 'GET_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_get_format'),
1348 'GET_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_get_lock'),
1349 'GREATEST' => array('link' => 'comparison-operators','anchor' => 'function_greatest'),
1350 'GROUP_CONCAT' => array('link' => 'group-by-functions','anchor' => 'function_group_concat'),
1351 'HEX' => array('link' => 'string-functions','anchor' => 'function_hex'),
1352 'HOUR' => array('link' => 'date-and-time-functions','anchor' => 'function_hour'),
1353 'IF' => array('link' => 'control-flow-functions','anchor' => 'function_if'),
1354 'IFNULL' => array('link' => 'control-flow-functions','anchor' => 'function_ifnull'),
1355 'IN' => array('link' => 'comparison-operators','anchor' => 'function_in'),
1356 'INET_ATON' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_aton'),
1357 'INET_NTOA' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_ntoa'),
1358 'INSERT' => array('link' => 'string-functions','anchor' => 'function_insert'),
1359 'INSTR' => array('link' => 'string-functions','anchor' => 'function_instr'),
1360 'INTERVAL' => array('link' => 'comparison-operators','anchor' => 'function_interval'),
1361 'IS_FREE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_free_lock'),
1362 'IS_USED_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_used_lock'),
1363 'IS' => array('link' => 'comparison-operators','anchor' => 'operator_is'),
1364 'ISNULL' => array('link' => 'comparison-operators','anchor' => 'function_isnull'),
1365 'LAST_DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_last_day'),
1366 'LAST_INSERT_ID' => array('link' => 'information-functions','anchor' => 'function_last_insert_id'),
1367 'LCASE' => array('link' => 'string-functions','anchor' => 'function_lcase'),
1368 'LEAST' => array('link' => 'comparison-operators','anchor' => 'function_least'),
1369 'LEFT' => array('link' => 'string-functions','anchor' => 'function_left'),
1370 'LENGTH' => array('link' => 'string-functions','anchor' => 'function_length'),
1371 'LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_like'),
1372 'LN' => array('link' => 'mathematical-functions','anchor' => 'function_ln'),
1373 'LOAD_FILE' => array('link' => 'string-functions','anchor' => 'function_load_file'),
1374 'LOCALTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_localtime'),
1375 'LOCALTIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_localtimestamp'),
1376 'LOCATE' => array('link' => 'string-functions','anchor' => 'function_locate'),
1377 'LOG10' => array('link' => 'mathematical-functions','anchor' => 'function_log10'),
1378 'LOG2' => array('link' => 'mathematical-functions','anchor' => 'function_log2'),
1379 'LOG' => array('link' => 'mathematical-functions','anchor' => 'function_log'),
1380 'LOWER' => array('link' => 'string-functions','anchor' => 'function_lower'),
1381 'LPAD' => array('link' => 'string-functions','anchor' => 'function_lpad'),
1382 'LTRIM' => array('link' => 'string-functions','anchor' => 'function_ltrim'),
1383 'MAKE_SET' => array('link' => 'string-functions','anchor' => 'function_make_set'),
1384 'MAKEDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_makedate'),
1385 'MAKETIME' => array('link' => 'date-and-time-functions','anchor' => 'function_maketime'),
1386 'MASTER_POS_WAIT' => array('link' => 'miscellaneous-functions','anchor' => 'function_master_pos_wait'),
1387 'MATCH' => array('link' => 'fulltext-search','anchor' => 'function_match'),
1388 'MAX' => array('link' => 'group-by-functions','anchor' => 'function_max'),
1389 'MD5' => array('link' => 'encryption-functions','anchor' => 'function_md5'),
1390 'MICROSECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_microsecond'),
1391 'MID' => array('link' => 'string-functions','anchor' => 'function_mid'),
1392 'MIN' => array('link' => 'group-by-functions','anchor' => 'function_min'),
1393 'MINUTE' => array('link' => 'date-and-time-functions','anchor' => 'function_minute'),
1394 'MOD' => array('link' => 'mathematical-functions','anchor' => 'function_mod'),
1395 'MONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_month'),
1396 'MONTHNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_monthname'),
1397 'NAME_CONST' => array('link' => 'miscellaneous-functions','anchor' => 'function_name_const'),
1398 'NOT' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1399 'NOW' => array('link' => 'date-and-time-functions','anchor' => 'function_now'),
1400 'NULLIF' => array('link' => 'control-flow-functions','anchor' => 'function_nullif'),
1401 'OCT' => array('link' => 'mathematical-functions','anchor' => 'function_oct'),
1402 'OCTET_LENGTH' => array('link' => 'string-functions','anchor' => 'function_octet_length'),
1403 'OLD_PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_old_password'),
1404 'OR' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1405 'ORD' => array('link' => 'string-functions','anchor' => 'function_ord'),
1406 'PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_password'),
1407 'PERIOD_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_period_add'),
1408 'PERIOD_DIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_period_diff'),
1409 'PI' => array('link' => 'mathematical-functions','anchor' => 'function_pi'),
1410 'POSITION' => array('link' => 'string-functions','anchor' => 'function_position'),
1411 'POW' => array('link' => 'mathematical-functions','anchor' => 'function_pow'),
1412 'POWER' => array('link' => 'mathematical-functions','anchor' => 'function_power'),
1413 'QUARTER' => array('link' => 'date-and-time-functions','anchor' => 'function_quarter'),
1414 'QUOTE' => array('link' => 'string-functions','anchor' => 'function_quote'),
1415 'RADIANS' => array('link' => 'mathematical-functions','anchor' => 'function_radians'),
1416 'RAND' => array('link' => 'mathematical-functions','anchor' => 'function_rand'),
1417 'REGEXP' => array('link' => 'regexp','anchor' => 'operator_regexp'),
1418 'RELEASE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_release_lock'),
1419 'REPEAT' => array('link' => 'string-functions','anchor' => 'function_repeat'),
1420 'REPLACE' => array('link' => 'string-functions','anchor' => 'function_replace'),
1421 'REVERSE' => array('link' => 'string-functions','anchor' => 'function_reverse'),
1422 'RIGHT' => array('link' => 'string-functions','anchor' => 'function_right'),
1423 'RLIKE' => array('link' => 'regexp','anchor' => 'operator_rlike'),
1424 'ROUND' => array('link' => 'mathematical-functions','anchor' => 'function_round'),
1425 'ROW_COUNT' => array('link' => 'information-functions','anchor' => 'function_row_count'),
1426 'RPAD' => array('link' => 'string-functions','anchor' => 'function_rpad'),
1427 'RTRIM' => array('link' => 'string-functions','anchor' => 'function_rtrim'),
1428 'SCHEMA' => array('link' => 'information-functions','anchor' => 'function_schema'),
1429 'SEC_TO_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_sec_to_time'),
1430 'SECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_second'),
1431 'SESSION_USER' => array('link' => 'information-functions','anchor' => 'function_session_user'),
1432 'SHA' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1433 'SHA1' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1434 'SIGN' => array('link' => 'mathematical-functions','anchor' => 'function_sign'),
1435 'SIN' => array('link' => 'mathematical-functions','anchor' => 'function_sin'),
1436 'SLEEP' => array('link' => 'miscellaneous-functions','anchor' => 'function_sleep'),
1437 'SOUNDEX' => array('link' => 'string-functions','anchor' => 'function_soundex'),
1438 'SPACE' => array('link' => 'string-functions','anchor' => 'function_space'),
1439 'SQRT' => array('link' => 'mathematical-functions','anchor' => 'function_sqrt'),
1440 'STD' => array('link' => 'group-by-functions','anchor' => 'function_std'),
1441 'STDDEV_POP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_pop'),
1442 'STDDEV_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_samp'),
1443 'STDDEV' => array('link' => 'group-by-functions','anchor' => 'function_stddev'),
1444 'STR_TO_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_str_to_date'),
1445 'STRCMP' => array('link' => 'string-comparison-functions','anchor' => 'function_strcmp'),
1446 'SUBDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_subdate'),
1447 'SUBSTR' => array('link' => 'string-functions','anchor' => 'function_substr'),
1448 'SUBSTRING_INDEX' => array('link' => 'string-functions','anchor' => 'function_substring_index'),
1449 'SUBSTRING' => array('link' => 'string-functions','anchor' => 'function_substring'),
1450 'SUBTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_subtime'),
1451 'SUM' => array('link' => 'group-by-functions','anchor' => 'function_sum'),
1452 'SYSDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_sysdate'),
1453 'SYSTEM_USER' => array('link' => 'information-functions','anchor' => 'function_system_user'),
1454 'TAN' => array('link' => 'mathematical-functions','anchor' => 'function_tan'),
1455 'TIME_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_time_format'),
1456 'TIME_TO_SEC' => array('link' => 'date-and-time-functions','anchor' => 'function_time_to_sec'),
1457 'TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_time'),
1458 'TIMEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timediff'),
1459 'TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_timestamp'),
1460 'TIMESTAMPADD' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampadd'),
1461 'TIMESTAMPDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampdiff'),
1462 'TO_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_to_days'),
1463 'TRIM' => array('link' => 'string-functions','anchor' => 'function_trim'),
1464 'TRUNCATE' => array('link' => 'mathematical-functions','anchor' => 'function_truncate'),
1465 'UCASE' => array('link' => 'string-functions','anchor' => 'function_ucase'),
1466 'UNCOMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_uncompress'),
1467 'UNCOMPRESSED_LENGTH' => array('link' => 'encryption-functions','anchor' => 'function_uncompressed_length'),
1468 'UNHEX' => array('link' => 'string-functions','anchor' => 'function_unhex'),
1469 'UNIX_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_unix_timestamp'),
1470 'UpdateXML' => array('link' => 'xml-functions','anchor' => 'function_updatexml'),
1471 'UPPER' => array('link' => 'string-functions','anchor' => 'function_upper'),
1472 'USER' => array('link' => 'information-functions','anchor' => 'function_user'),
1473 'UTC_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_date'),
1474 'UTC_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_time'),
1475 'UTC_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_timestamp'),
1476 'UUID_SHORT' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid_short'),
1477 'UUID' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid'),
1478 'VALUES' => array('link' => 'miscellaneous-functions','anchor' => 'function_values'),
1479 'VAR_POP' => array('link' => 'group-by-functions','anchor' => 'function_var_pop'),
1480 'VAR_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_var_samp'),
1481 'VARIANCE' => array('link' => 'group-by-functions','anchor' => 'function_variance'),
1482 'VERSION' => array('link' => 'information-functions','anchor' => 'function_version'),
1483 'WEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_week'),
1484 'WEEKDAY' => array('link' => 'date-and-time-functions','anchor' => 'function_weekday'),
1485 'WEEKOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_weekofyear'),
1486 'XOR' => array('link' => 'logical-operators','anchor' => 'operator_xor'),
1487 'YEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_year'),
1488 'YEARWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_yearweek'),
1489 'SOUNDS_LIKE' => array('link' => 'string-functions','anchor' => 'operator_sounds-like'),
1490 'IS_NOT_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-not-null'),
1491 'IS_NOT' => array('link' => 'comparison-operators','anchor' => 'operator_is-not'),
1492 'IS_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-null'),
1493 'NOT_LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_not-like'),
1494 'NOT_REGEXP' => array('link' => 'regexp','anchor' => 'operator_not-regexp'),
1495 'COUNT_DISTINCT' => array('link' => 'group-by-functions','anchor' => 'function_count-distinct'),
1496 'NOT_IN' => array('link' => 'comparison-operators','anchor' => 'function_not-in')