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.1/en/reserved-words.html
372 * @global array MySQL reserved words
374 $PMA_SQPdata_reserved_word = array (
468 'GEMINI_SPIN_RETRIES',
514 'MASTER_CONNECT_RETRY',
522 'MAX_CONNECTIONS_PER_HOUR',
523 'MAX_QUERIES_PER_HOUR',
525 'MAX_UPDATES_PER_HOUR',
526 'MAX_USER_CONNECTIONS',
539 // 'NO' is not allowed in SQL-99 but is allowed in MySQL
554 'PAGE', // 5.1-maria ?
555 'PAGE_CHECKSUM', // 5.1
606 'SOUNDS', // string-functions.html
614 'SQL_CALC_FOUND_ROWS',
618 'SQL_LOW_PRIORITY_UPDATES',
621 'SQL_QUOTE_SHOW_CREATE',
624 'SQL_SLAVE_SKIP_COUNTER',
643 'TRANSACTIONAL', // 5.1 ?
669 * words forbidden to be used as column or table name wihtout quotes
670 * as seen in http://dev.mysql.com/doc/mysql/en/reserved-words.html
672 * @global array MySQL forbidden words
674 $PMA_SQPdata_forbidden_word = array (
827 'GEOMETRYCOLLECTION',
903 'MASTER_CONNECT_RETRY',
918 'MAX_CONNECTIONS_PER_HOUR',
919 'MAX_QUERIES_PER_HOUR',
921 'MAX_UPDATES_PER_HOUR',
922 'MAX_USER_CONNECTIONS',
932 'MINUTE_MICROSECOND',
956 'NO_WRITE_TO_BINLOG',
1037 'SECOND_MICROSECOND',
1064 'SQL_BUFFER_RESULT',
1066 'SQL_CALC_FOUND_ROWS',
1071 'SQL_TSI_FRAC_SECOND',
1160 * the MySQL column/data types
1162 * @see http://dev.mysql.com/doc/refman/5.1/en/data-types.html
1163 * @see http://dev.mysql.com/doc/refman/5.1/en/mysql-spatial-datatypes.html
1165 * @global array MySQL column types
1167 $PMA_SQPdata_column_type = array (
1173 'BOOLEAN', // numeric-type-overview.html
1185 'GEOMETRY', // spatial
1186 'GEOMETRYCOLLECTION', // spatial
1194 'LINESTRING', // spatial
1202 'MULTILINESTRING', // spatial
1203 'MULTIPOINT', // spatial
1204 'MULTIPOLYGON', // spatial
1208 'POLYGON', // spatial
1210 'SERIAL', // alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
1225 * Documentation links for operators.
1227 $PMA_SQPdata_operators_docs = array(
1228 '!=' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1229 '<>' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1230 '!' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1231 '||' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1232 '+' => array('link' => 'arithmetic-functions','anchor' => 'operator_plus'),
1233 '>>' => array('link' => 'bit-functions','anchor' => 'operator_right-shift'),
1234 '-' => array('link' => 'arithmetic-functions','anchor' => 'operator_minus'),
1235 '*' => array('link' => 'arithmetic-functions','anchor' => 'operator_times'),
1236 '&&' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1237 '&' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-and'),
1238 '~' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-invert'),
1239 '|' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-or'),
1240 '^' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-xor'),
1241 '=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-equal'),
1242 ':=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-value'),
1243 '/' => array('link' => 'arithmetic-functions','anchor' => 'operator_divide'),
1244 '<=>' => array('link' => 'comparison-operators','anchor' => 'operator_equal-to'),
1245 '=' => array('link' => 'comparison-operators','anchor' => 'operator_equal'),
1246 '>=' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than-or-equal'),
1247 '>' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than'),
1248 '<<' => array('link' => 'bit-functions','anchor' => 'operator_left-shift'),
1249 '<=' => array('link' => 'comparison-operators','anchor' => 'operator_less-than-or-equal'),
1250 '<' => array('link' => 'comparison-operators','anchor' => 'operator_less-than'),
1251 '%' => array('link' => 'arithmetic-functions','anchor' => 'operator_mod')
1255 * Documentation links for functions.
1257 $PMA_SQPdata_functions_docs = array(
1258 'ABS' => array('link' => 'mathematical-functions','anchor' => 'function_abs'),
1259 'ACOS' => array('link' => 'mathematical-functions','anchor' => 'function_acos'),
1260 'ADDDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_adddate'),
1261 'ADDTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_addtime'),
1262 'AES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_decrypt'),
1263 'AES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_encrypt'),
1264 'AND' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1265 'ASCII' => array('link' => 'string-functions','anchor' => 'function_ascii'),
1266 'ASIN' => array('link' => 'mathematical-functions','anchor' => 'function_asin'),
1267 'ATAN2' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1268 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1269 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan'),
1270 'AVG' => array('link' => 'group-by-functions','anchor' => 'function_avg'),
1271 'BENCHMARK' => array('link' => 'information-functions','anchor' => 'function_benchmark'),
1272 'BIN' => array('link' => 'string-functions','anchor' => 'function_bin'),
1273 'BINARY' => array('link' => 'cast-functions','anchor' => 'operator_binary'),
1274 'BIT_AND' => array('link' => 'group-by-functions','anchor' => 'function_bit_and'),
1275 'BIT_COUNT' => array('link' => 'bit-functions','anchor' => 'function_bit_count'),
1276 'BIT_LENGTH' => array('link' => 'string-functions','anchor' => 'function_bit_length'),
1277 'BIT_OR' => array('link' => 'group-by-functions','anchor' => 'function_bit_or'),
1278 'BIT_XOR' => array('link' => 'group-by-functions','anchor' => 'function_bit_xor'),
1279 'CASE' => array('link' => 'control-flow-functions','anchor' => 'operator_case'),
1280 'CAST' => array('link' => 'cast-functions','anchor' => 'function_cast'),
1281 'CEIL' => array('link' => 'mathematical-functions','anchor' => 'function_ceil'),
1282 'CEILING' => array('link' => 'mathematical-functions','anchor' => 'function_ceiling'),
1283 'CHAR_LENGTH' => array('link' => 'string-functions','anchor' => 'function_char_length'),
1284 'CHAR' => array('link' => 'string-functions','anchor' => 'function_char'),
1285 'CHARACTER_LENGTH' => array('link' => 'string-functions','anchor' => 'function_character_length'),
1286 'CHARSET' => array('link' => 'information-functions','anchor' => 'function_charset'),
1287 'COALESCE' => array('link' => 'comparison-operators','anchor' => 'function_coalesce'),
1288 'COERCIBILITY' => array('link' => 'information-functions','anchor' => 'function_coercibility'),
1289 'COLLATION' => array('link' => 'information-functions','anchor' => 'function_collation'),
1290 'COMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_compress'),
1291 'CONCAT_WS' => array('link' => 'string-functions','anchor' => 'function_concat_ws'),
1292 'CONCAT' => array('link' => 'string-functions','anchor' => 'function_concat'),
1293 'CONNECTION_ID' => array('link' => 'information-functions','anchor' => 'function_connection_id'),
1294 'CONV' => array('link' => 'mathematical-functions','anchor' => 'function_conv'),
1295 'CONVERT_TZ' => array('link' => 'date-and-time-functions','anchor' => 'function_convert_tz'),
1296 'Convert' => array('link' => 'cast-functions','anchor' => 'function_convert'),
1297 'COS' => array('link' => 'mathematical-functions','anchor' => 'function_cos'),
1298 'COT' => array('link' => 'mathematical-functions','anchor' => 'function_cot'),
1299 'COUNT' => array('link' => 'group-by-functions','anchor' => 'function_count'),
1300 'CRC32' => array('link' => 'mathematical-functions','anchor' => 'function_crc32'),
1301 'CURDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_curdate'),
1302 'CURRENT_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_current_date'),
1303 'CURRENT_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_current_time'),
1304 'CURRENT_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_current_timestamp'),
1305 'CURRENT_USER' => array('link' => 'information-functions','anchor' => 'function_current_user'),
1306 'CURTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_curtime'),
1307 'DATABASE' => array('link' => 'information-functions','anchor' => 'function_database'),
1308 'DATE_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_date_add'),
1309 'DATE_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_date_format'),
1310 'DATE_SUB' => array('link' => 'date-and-time-functions','anchor' => 'function_date_sub'),
1311 'DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_date'),
1312 'DATEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_datediff'),
1313 'DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_day'),
1314 'DAYNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_dayname'),
1315 'DAYOFMONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofmonth'),
1316 'DAYOFWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofweek'),
1317 'DAYOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofyear'),
1318 'DECLARE' => array('link' => 'declare', 'anchor' => 'declare'),
1319 'DECODE' => array('link' => 'encryption-functions','anchor' => 'function_decode'),
1320 'DEFAULT' => array('link' => 'miscellaneous-functions','anchor' => 'function_default'),
1321 'DEGREES' => array('link' => 'mathematical-functions','anchor' => 'function_degrees'),
1322 'DES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_decrypt'),
1323 'DES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_encrypt'),
1324 'DIV' => array('link' => 'arithmetic-functions','anchor' => 'operator_div'),
1325 'ELT' => array('link' => 'string-functions','anchor' => 'function_elt'),
1326 'ENCODE' => array('link' => 'encryption-functions','anchor' => 'function_encode'),
1327 'ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_encrypt'),
1328 'EXP' => array('link' => 'mathematical-functions','anchor' => 'function_exp'),
1329 'EXPORT_SET' => array('link' => 'string-functions','anchor' => 'function_export_set'),
1330 'EXTRACT' => array('link' => 'date-and-time-functions','anchor' => 'function_extract'),
1331 'ExtractValue' => array('link' => 'xml-functions','anchor' => 'function_extractvalue'),
1332 'FIELD' => array('link' => 'string-functions','anchor' => 'function_field'),
1333 'FIND_IN_SET' => array('link' => 'string-functions','anchor' => 'function_find_in_set'),
1334 'FLOOR' => array('link' => 'mathematical-functions','anchor' => 'function_floor'),
1335 'FORMAT' => array('link' => 'string-functions','anchor' => 'function_format'),
1336 'FOUND_ROWS' => array('link' => 'information-functions','anchor' => 'function_found_rows'),
1337 'FROM_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_from_days'),
1338 'FROM_UNIXTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_from_unixtime'),
1339 'GET_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_get_format'),
1340 'GET_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_get_lock'),
1341 'GREATEST' => array('link' => 'comparison-operators','anchor' => 'function_greatest'),
1342 'GROUP_CONCAT' => array('link' => 'group-by-functions','anchor' => 'function_group_concat'),
1343 'HEX' => array('link' => 'string-functions','anchor' => 'function_hex'),
1344 'HOUR' => array('link' => 'date-and-time-functions','anchor' => 'function_hour'),
1345 'IF' => array('link' => 'control-flow-functions','anchor' => 'function_if'),
1346 'IFNULL' => array('link' => 'control-flow-functions','anchor' => 'function_ifnull'),
1347 'IN' => array('link' => 'comparison-operators','anchor' => 'function_in'),
1348 'INET_ATON' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_aton'),
1349 'INET_NTOA' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_ntoa'),
1350 'INSERT' => array('link' => 'string-functions','anchor' => 'function_insert'),
1351 'INSTR' => array('link' => 'string-functions','anchor' => 'function_instr'),
1352 'INTERVAL' => array('link' => 'comparison-operators','anchor' => 'function_interval'),
1353 'IS_FREE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_free_lock'),
1354 'IS_USED_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_used_lock'),
1355 'IS' => array('link' => 'comparison-operators','anchor' => 'operator_is'),
1356 'ISNULL' => array('link' => 'comparison-operators','anchor' => 'function_isnull'),
1357 'LAST_DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_last_day'),
1358 'LAST_INSERT_ID' => array('link' => 'information-functions','anchor' => 'function_last_insert_id'),
1359 'LCASE' => array('link' => 'string-functions','anchor' => 'function_lcase'),
1360 'LEAST' => array('link' => 'comparison-operators','anchor' => 'function_least'),
1361 'LEFT' => array('link' => 'string-functions','anchor' => 'function_left'),
1362 'LENGTH' => array('link' => 'string-functions','anchor' => 'function_length'),
1363 'LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_like'),
1364 'LN' => array('link' => 'mathematical-functions','anchor' => 'function_ln'),
1365 'LOAD_FILE' => array('link' => 'string-functions','anchor' => 'function_load_file'),
1366 'LOCALTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_localtime'),
1367 'LOCALTIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_localtimestamp'),
1368 'LOCATE' => array('link' => 'string-functions','anchor' => 'function_locate'),
1369 'LOG10' => array('link' => 'mathematical-functions','anchor' => 'function_log10'),
1370 'LOG2' => array('link' => 'mathematical-functions','anchor' => 'function_log2'),
1371 'LOG' => array('link' => 'mathematical-functions','anchor' => 'function_log'),
1372 'LOWER' => array('link' => 'string-functions','anchor' => 'function_lower'),
1373 'LPAD' => array('link' => 'string-functions','anchor' => 'function_lpad'),
1374 'LTRIM' => array('link' => 'string-functions','anchor' => 'function_ltrim'),
1375 'MAKE_SET' => array('link' => 'string-functions','anchor' => 'function_make_set'),
1376 'MAKEDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_makedate'),
1377 'MAKETIME' => array('link' => 'date-and-time-functions','anchor' => 'function_maketime'),
1378 'MASTER_POS_WAIT' => array('link' => 'miscellaneous-functions','anchor' => 'function_master_pos_wait'),
1379 'MATCH' => array('link' => 'fulltext-search','anchor' => 'function_match'),
1380 'MAX' => array('link' => 'group-by-functions','anchor' => 'function_max'),
1381 'MD5' => array('link' => 'encryption-functions','anchor' => 'function_md5'),
1382 'MICROSECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_microsecond'),
1383 'MID' => array('link' => 'string-functions','anchor' => 'function_mid'),
1384 'MIN' => array('link' => 'group-by-functions','anchor' => 'function_min'),
1385 'MINUTE' => array('link' => 'date-and-time-functions','anchor' => 'function_minute'),
1386 'MOD' => array('link' => 'mathematical-functions','anchor' => 'function_mod'),
1387 'MONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_month'),
1388 'MONTHNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_monthname'),
1389 'NAME_CONST' => array('link' => 'miscellaneous-functions','anchor' => 'function_name_const'),
1390 'NOT' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1391 'NOW' => array('link' => 'date-and-time-functions','anchor' => 'function_now'),
1392 'NULLIF' => array('link' => 'control-flow-functions','anchor' => 'function_nullif'),
1393 'OCT' => array('link' => 'mathematical-functions','anchor' => 'function_oct'),
1394 'OCTET_LENGTH' => array('link' => 'string-functions','anchor' => 'function_octet_length'),
1395 'OLD_PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_old_password'),
1396 'OR' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1397 'ORD' => array('link' => 'string-functions','anchor' => 'function_ord'),
1398 'PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_password'),
1399 'PERIOD_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_period_add'),
1400 'PERIOD_DIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_period_diff'),
1401 'PI' => array('link' => 'mathematical-functions','anchor' => 'function_pi'),
1402 'POSITION' => array('link' => 'string-functions','anchor' => 'function_position'),
1403 'POW' => array('link' => 'mathematical-functions','anchor' => 'function_pow'),
1404 'POWER' => array('link' => 'mathematical-functions','anchor' => 'function_power'),
1405 'QUARTER' => array('link' => 'date-and-time-functions','anchor' => 'function_quarter'),
1406 'QUOTE' => array('link' => 'string-functions','anchor' => 'function_quote'),
1407 'RADIANS' => array('link' => 'mathematical-functions','anchor' => 'function_radians'),
1408 'RAND' => array('link' => 'mathematical-functions','anchor' => 'function_rand'),
1409 'REGEXP' => array('link' => 'regexp','anchor' => 'operator_regexp'),
1410 'RELEASE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_release_lock'),
1411 'REPEAT' => array('link' => 'string-functions','anchor' => 'function_repeat'),
1412 'REPLACE' => array('link' => 'string-functions','anchor' => 'function_replace'),
1413 'REVERSE' => array('link' => 'string-functions','anchor' => 'function_reverse'),
1414 'RIGHT' => array('link' => 'string-functions','anchor' => 'function_right'),
1415 'RLIKE' => array('link' => 'regexp','anchor' => 'operator_rlike'),
1416 'ROUND' => array('link' => 'mathematical-functions','anchor' => 'function_round'),
1417 'ROW_COUNT' => array('link' => 'information-functions','anchor' => 'function_row_count'),
1418 'RPAD' => array('link' => 'string-functions','anchor' => 'function_rpad'),
1419 'RTRIM' => array('link' => 'string-functions','anchor' => 'function_rtrim'),
1420 'SCHEMA' => array('link' => 'information-functions','anchor' => 'function_schema'),
1421 'SEC_TO_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_sec_to_time'),
1422 'SECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_second'),
1423 'SESSION_USER' => array('link' => 'information-functions','anchor' => 'function_session_user'),
1424 'SHA' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1425 'SHA1' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1426 'SIGN' => array('link' => 'mathematical-functions','anchor' => 'function_sign'),
1427 'SIN' => array('link' => 'mathematical-functions','anchor' => 'function_sin'),
1428 'SLEEP' => array('link' => 'miscellaneous-functions','anchor' => 'function_sleep'),
1429 'SOUNDEX' => array('link' => 'string-functions','anchor' => 'function_soundex'),
1430 'SPACE' => array('link' => 'string-functions','anchor' => 'function_space'),
1431 'SQRT' => array('link' => 'mathematical-functions','anchor' => 'function_sqrt'),
1432 'STD' => array('link' => 'group-by-functions','anchor' => 'function_std'),
1433 'STDDEV_POP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_pop'),
1434 'STDDEV_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_samp'),
1435 'STDDEV' => array('link' => 'group-by-functions','anchor' => 'function_stddev'),
1436 'STR_TO_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_str_to_date'),
1437 'STRCMP' => array('link' => 'string-comparison-functions','anchor' => 'function_strcmp'),
1438 'SUBDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_subdate'),
1439 'SUBSTR' => array('link' => 'string-functions','anchor' => 'function_substr'),
1440 'SUBSTRING_INDEX' => array('link' => 'string-functions','anchor' => 'function_substring_index'),
1441 'SUBSTRING' => array('link' => 'string-functions','anchor' => 'function_substring'),
1442 'SUBTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_subtime'),
1443 'SUM' => array('link' => 'group-by-functions','anchor' => 'function_sum'),
1444 'SYSDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_sysdate'),
1445 'SYSTEM_USER' => array('link' => 'information-functions','anchor' => 'function_system_user'),
1446 'TAN' => array('link' => 'mathematical-functions','anchor' => 'function_tan'),
1447 'TIME_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_time_format'),
1448 'TIME_TO_SEC' => array('link' => 'date-and-time-functions','anchor' => 'function_time_to_sec'),
1449 'TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_time'),
1450 'TIMEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timediff'),
1451 'TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_timestamp'),
1452 'TIMESTAMPADD' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampadd'),
1453 'TIMESTAMPDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampdiff'),
1454 'TO_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_to_days'),
1455 'TRIM' => array('link' => 'string-functions','anchor' => 'function_trim'),
1456 'TRUNCATE' => array('link' => 'mathematical-functions','anchor' => 'function_truncate'),
1457 'UCASE' => array('link' => 'string-functions','anchor' => 'function_ucase'),
1458 'UNCOMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_uncompress'),
1459 'UNCOMPRESSED_LENGTH' => array('link' => 'encryption-functions','anchor' => 'function_uncompressed_length'),
1460 'UNHEX' => array('link' => 'string-functions','anchor' => 'function_unhex'),
1461 'UNIX_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_unix_timestamp'),
1462 'UpdateXML' => array('link' => 'xml-functions','anchor' => 'function_updatexml'),
1463 'UPPER' => array('link' => 'string-functions','anchor' => 'function_upper'),
1464 'USER' => array('link' => 'information-functions','anchor' => 'function_user'),
1465 'UTC_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_date'),
1466 'UTC_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_time'),
1467 'UTC_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_timestamp'),
1468 'UUID_SHORT' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid_short'),
1469 'UUID' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid'),
1470 'VALUES' => array('link' => 'miscellaneous-functions','anchor' => 'function_values'),
1471 'VAR_POP' => array('link' => 'group-by-functions','anchor' => 'function_var_pop'),
1472 'VAR_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_var_samp'),
1473 'VARIANCE' => array('link' => 'group-by-functions','anchor' => 'function_variance'),
1474 'VERSION' => array('link' => 'information-functions','anchor' => 'function_version'),
1475 'WEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_week'),
1476 'WEEKDAY' => array('link' => 'date-and-time-functions','anchor' => 'function_weekday'),
1477 'WEEKOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_weekofyear'),
1478 'XOR' => array('link' => 'logical-operators','anchor' => 'operator_xor'),
1479 'YEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_year'),
1480 'YEARWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_yearweek'),
1481 'SOUNDS_LIKE' => array('link' => 'string-functions','anchor' => 'operator_sounds-like'),
1482 'IS_NOT_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-not-null'),
1483 'IS_NOT' => array('link' => 'comparison-operators','anchor' => 'operator_is-not'),
1484 'IS_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-null'),
1485 'NOT_LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_not-like'),
1486 'NOT_REGEXP' => array('link' => 'regexp','anchor' => 'operator_not-regexp'),
1487 'COUNT_DISTINCT' => array('link' => 'group-by-functions','anchor' => 'function_count-distinct'),
1488 'NOT_IN' => array('link' => 'comparison-operators','anchor' => 'function_not-in')