Bug: Live query chart always zero
[phpmyadmin/tyronm.git] / libraries / sqlparser.data.php
blob93132b39d74b2b96a413eeb2a6d548d7557c402e
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
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.
17 * @package phpMyAdmin
19 if (! defined('PHPMYADMIN')) {
20 exit;
23 if (! isset($GLOBALS['sql_delimiter'])) {
24 $GLOBALS['sql_delimiter'] = ';';
27 /**
28 * @global array MySQL function names
30 $PMA_SQPdata_function_name = array (
31 'ABS',
32 'ACOS',
33 'ADDDATE',
34 'ADDTIME',
35 'AES_DECRYPT',
36 'AES_ENCRYPT',
37 'AREA', // Area() polygon-property-functions.html
38 'ASBINARY', // AsBinary()
39 'ASCII',
40 'ASIN',
41 'ASTEXT', // AsText()
42 'ATAN',
43 'ATAN2',
44 'AVG',
45 'BDMPOLYFROMTEXT', // BdMPolyFromText()
46 'BDMPOLYFROMWKB', // BdMPolyFromWKB()
47 'BDPOLYFROMTEXT', // BdPolyFromText()
48 'BDPOLYFROMWKB', // BdPolyFromWKB()
49 'BENCHMARK',
50 'BIN',
51 'BIT_AND',
52 'BIT_COUNT',
53 'BIT_LENGTH',
54 'BIT_OR',
55 'BIT_XOR', // group-by-functions.html
56 'BOUNDARY', // Boundary() general-geometry-property-functions.html
57 'BUFFER', // Buffer()
58 'CAST',
59 'CEIL',
60 'CEILING',
61 'CENTROID', // Centroid() multipolygon-property-functions.html
62 'CHAR', // string-functions.html
63 'CHARACTER_LENGTH',
64 'CHARSET', // information-functions.html
65 'CHAR_LENGTH',
66 'COALESCE',
67 'COERCIBILITY', // information-functions.html
68 'COLLATION', // information-functions.html
69 'COMPRESS', // string-functions.html
70 'CONCAT',
71 'CONCAT_WS',
72 'CONNECTION_ID',
73 'CONTAINS', // Contains()
74 'CONV',
75 'CONVERT',
76 'CONVERT_TZ',
77 'CONVEXHULL', // ConvexHull()
78 'COS',
79 'COT',
80 'COUNT',
81 'CRC32', // mathematical-functions.html
82 'CROSSES', // Crosses()
83 'CURDATE',
84 'CURRENT_DATE',
85 'CURRENT_TIME',
86 'CURRENT_TIMESTAMP',
87 'CURRENT_USER',
88 'CURTIME',
89 'DATABASE',
90 'DATE', // date-and-time-functions.html
91 'DATEDIFF', // date-and-time-functions.html
92 'DATE_ADD',
93 'DATE_DIFF',
94 'DATE_FORMAT',
95 'DATE_SUB',
96 'DAY',
97 'DAYNAME',
98 'DAYOFMONTH',
99 'DAYOFWEEK',
100 'DAYOFYEAR',
101 'DECODE',
102 'DEFAULT', // miscellaneous-functions.html
103 'DEGREES',
104 'DES_DECRYPT',
105 'DES_ENCRYPT',
106 'DIFFERENCE', // Difference()
107 'DIMENSION', // Dimension() general-geometry-property-functions.html
108 'DISJOINT', // Disjoint()
109 'DISTANCE', // Distance()
110 'ELT',
111 'ENCODE',
112 'ENCRYPT',
113 'ENDPOINT', // EndPoint() linestring-property-functions.html
114 'ENVELOPE', // Envelope() general-geometry-property-functions.html
115 'EQUALS', // Equals()
116 'EXP',
117 'EXPORT_SET',
118 'EXTERIORRING', // ExteriorRing() polygon-property-functions.html
119 'EXTRACT',
120 'EXTRACTVALUE', // ExtractValue() xml-functions.html
121 'FIELD',
122 'FIND_IN_SET',
123 'FLOOR',
124 'FORMAT',
125 'FOUND_ROWS',
126 'FROM_DAYS',
127 'FROM_UNIXTIME',
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()
139 'GET_FORMAT',
140 'GET_LOCK',
141 'GLENGTH', // GLength() linestring-property-functions.html
142 'GREATEST',
143 'GROUP_CONCAT',
144 'GROUP_UNIQUE_USERS',
145 'HEX',
146 'HOUR',
147 'IF', //control-flow-functions.html
148 'IFNULL',
149 'INET_ATON',
150 'INET_NTOA',
151 'INSERT', // string-functions.html
152 'INSTR',
153 'INTERIORRINGN', // InteriorRingN() polygon-property-functions.html
154 'INTERSECTION', // Intersection()
155 'INTERSECTS', // Intersects()
156 'INTERVAL',
157 'ISCLOSED', // IsClosed() multilinestring-property-functions.html
158 'ISEMPTY', // IsEmpty() general-geometry-property-functions.html
159 'ISNULL',
160 'ISRING', // IsRing() linestring-property-functions.html
161 'ISSIMPLE', // IsSimple() general-geometry-property-functions.html
162 'IS_FREE_LOCK',
163 'IS_USED_LOCK', // miscellaneous-functions.html
164 'LAST_DAY',
165 'LAST_INSERT_ID',
166 'LCASE',
167 'LEAST',
168 'LEFT',
169 'LENGTH',
170 'LINEFROMTEXT', // LineFromText()
171 'LINEFROMWKB', // LineFromWKB()
172 'LINESTRING', // LineString()
173 'LINESTRINGFROMTEXT', // LineStringFromText()
174 'LINESTRINGFROMWKB', // LineStringFromWKB()
175 'LN',
176 'LOAD_FILE',
177 'LOCALTIME',
178 'LOCALTIMESTAMP',
179 'LOCATE',
180 'LOG',
181 'LOG10',
182 'LOG2',
183 'LOWER',
184 'LPAD',
185 'LTRIM',
186 'MAKEDATE',
187 'MAKETIME',
188 'MAKE_SET',
189 'MASTER_POS_WAIT',
190 'MAX',
191 'MBRCONTAINS', // MBRContains()
192 'MBRDISJOINT', // MBRDisjoint()
193 'MBREQUAL', // MBREqual()
194 'MBRINTERSECTS', // MBRIntersects()
195 'MBROVERLAPS', // MBROverlaps()
196 'MBRTOUCHES', // MBRTouches()
197 'MBRWITHIN', // MBRWithin()
198 'MD5',
199 'MICROSECOND',
200 'MID',
201 'MIN',
202 'MINUTE',
203 'MLINEFROMTEXT', // MLineFromText()
204 'MLINEFROMWKB', // MLineFromWKB()
205 'MOD',
206 'MONTH',
207 'MONTHNAME',
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()
222 'NOW', // NOW()
223 'NULLIF',
224 'NUMGEOMETRIES', // NumGeometries() geometrycollection-property-functions.html
225 'NUMINTERIORRINGS', // NumInteriorRings() polygon-property-functions.html
226 'NUMPOINTS', // NumPoints() linestring-property-functions.html
227 'OCT',
228 'OCTET_LENGTH',
229 'OLD_PASSWORD',
230 'ORD',
231 'OVERLAPS', // Overlaps()
232 'PASSWORD',
233 'PERIOD_ADD',
234 'PERIOD_DIFF',
235 'PI',
236 'POINT', // Point()
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()
246 'POSITION',
247 'POW',
248 'POWER',
249 'QUARTER',
250 'QUOTE',
251 'RADIANS',
252 'RAND',
253 'RELATED', // Related()
254 'RELEASE_LOCK',
255 'REPEAT',
256 'REPLACE', // string-functions.html
257 'REVERSE',
258 'RIGHT',
259 'ROUND',
260 'ROW_COUNT', // information-functions.html
261 'RPAD',
262 'RTRIM',
263 'SCHEMA', // information-functions.html
264 'SECOND',
265 'SEC_TO_TIME',
266 'SESSION_USER',
267 'SHA',
268 'SHA1',
269 'SIGN',
270 'SIN',
271 'SLEEP', // miscellaneous-functions.html
272 'SOUNDEX',
273 'SPACE',
274 'SQRT',
275 'SRID', // general-geometry-property-functions.html
276 'STARTPOINT', // StartPoint() linestring-property-functions.html
277 'STD',
278 'STDDEV',
279 'STDDEV_POP', // group-by-functions.html
280 'STDDEV_SAMP', // group-by-functions.html
281 'STRCMP',
282 'STR_TO_DATE',
283 'SUBDATE',
284 'SUBSTR',
285 'SUBSTRING',
286 'SUBSTRING_INDEX',
287 'SUBTIME',
288 'SUM',
289 'SYMDIFFERENCE', // SymDifference()
290 'SYSDATE',
291 'SYSTEM_USER',
292 'TAN',
293 'TIME',
294 'TIMEDIFF',
295 'TIMESTAMP',
296 'TIMESTAMPADD',
297 'TIMESTAMPDIFF',
298 'TIME_FORMAT',
299 'TIME_TO_SEC',
300 'TOUCHES', // Touches()
301 'TO_DAYS',
302 'TRIM',
303 'TRUNCATE', // mathematical-functions.html
304 'UCASE',
305 'UNCOMPRESS', // string-functions.html
306 'UNCOMPRESSED_LENGTH', // string-functions.html
307 'UNHEX', // string-functions.html
308 'UNIQUE_USERS',
309 'UNIX_TIMESTAMP',
310 'UPDATEXML', // UpdateXML() xml-functions.html
311 'UPPER',
312 'USER',
313 'UTC_DATE',
314 'UTC_TIME',
315 'UTC_TIMESTAMP',
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
320 'VERSION',
321 'WEEK',
322 'WEEKDAY',
323 'WEEKOFYEAR',
324 'WITHIN', // Within()
325 'X', // point-property-functions.html
326 'Y', // point-property-functions.html
327 'YEAR',
328 'YEARWEEK'
332 * @global array MySQL attributes
334 $PMA_SQPdata_column_attrib = array (
335 'ARCHIVE', // Engine
336 'ASCII',
337 'AUTO_INCREMENT',
338 'BDB', // Engine
339 'BERKELEYDB', // Engine alias BDB
340 'BINARY',
341 'BLACKHOLE', // Engine
342 'CSV', // Engine
343 'DEFAULT',
344 'EXAMPLE', // Engine
345 'FEDERATED', // Engine
346 'HEAP', // Engine
347 'INNOBASE', // Engine alias InnoDB
348 'INNODB', // Engine InnoDB
349 'ISAM', // Engine
350 'MARIA', // Engine
351 'MEMORY', // Engine alias HEAP, but preferred
352 'MERGE', // Engine
353 'MRG_ISAM', // Engine
354 'MRG_MYISAM', // Engine alias MERGE
355 'MYISAM', // Engine MyISAM
356 'NATIONAL',
357 'NDB', // Engine alias NDBCLUSTER
358 'NDBCLUSTER', // Engine
359 'PRECISION',
360 'UNDEFINED',
361 'UNICODE',
362 'UNSIGNED',
363 'VARYING',
364 'ZEROFILL'
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 (
375 'ACCESSIBLE', // 5.1
376 'ACTION',
377 'ADD',
378 'AFTER',
379 'AGAINST',
380 'AGGREGATE',
381 'ALGORITHM',
382 'ALL',
383 'ALTER',
384 'ANALYSE',
385 'ANALYZE',
386 'AND',
387 'AS',
388 'ASC',
389 'AUTOCOMMIT',
390 'AUTO_INCREMENT',
391 'AVG_ROW_LENGTH',
392 'BACKUP',
393 'BEGIN',
394 'BETWEEN',
395 'BINLOG',
396 'BOTH',
397 'BY',
398 'CASCADE',
399 'CASE',
400 'CHANGE',
401 'CHANGED',
402 'CHARSET',
403 'CHECK',
404 'CHECKSUM',
405 'COLLATE',
406 'COLLATION',
407 'COLUMN',
408 'COLUMNS',
409 'COMMENT',
410 'COMMIT',
411 'COMMITTED',
412 'COMPRESSED',
413 'CONCURRENT',
414 'CONSTRAINT',
415 'CONTAINS',
416 'CONVERT',
417 'CREATE',
418 'CROSS',
419 'CURRENT_TIMESTAMP',
420 'DATABASE',
421 'DATABASES',
422 'DAY',
423 'DAY_HOUR',
424 'DAY_MINUTE',
425 'DAY_SECOND',
426 'DECLARE',
427 'DEFINER',
428 'DELAYED',
429 'DELAY_KEY_WRITE',
430 'DELETE',
431 'DESC',
432 'DESCRIBE',
433 'DETERMINISTIC',
434 'DISTINCT',
435 'DISTINCTROW',
436 'DIV',
437 'DO',
438 'DROP',
439 'DUMPFILE',
440 'DUPLICATE',
441 'DYNAMIC',
442 'ELSE',
443 'ENCLOSED',
444 'END',
445 'ENGINE',
446 'ENGINES',
447 'ESCAPE',
448 'ESCAPED',
449 'EVENTS',
450 'EXECUTE',
451 'EXISTS',
452 'EXPLAIN',
453 'EXTENDED',
454 'FAST',
455 'FIELDS',
456 'FILE',
457 'FIRST',
458 'FIXED',
459 'FLUSH',
460 'FOR',
461 'FORCE',
462 'FOREIGN',
463 'FROM',
464 'FULL',
465 'FULLTEXT',
466 'FUNCTION',
467 'GEMINI',
468 'GEMINI_SPIN_RETRIES',
469 'GLOBAL',
470 'GRANT',
471 'GRANTS',
472 'GROUP',
473 'HAVING',
474 'HEAP',
475 'HIGH_PRIORITY',
476 'HOSTS',
477 'HOUR',
478 'HOUR_MINUTE',
479 'HOUR_SECOND',
480 'IDENTIFIED',
481 'IF',
482 'IGNORE',
483 'IN',
484 'INDEX',
485 'INDEXES',
486 'INFILE',
487 'INNER',
488 'INSERT',
489 'INSERT_ID',
490 'INSERT_METHOD',
491 'INTERVAL',
492 'INTO',
493 'INVOKER',
494 'IS',
495 'ISOLATION',
496 'JOIN',
497 'KEY',
498 'KEYS',
499 'KILL',
500 'LAST_INSERT_ID',
501 'LEADING',
502 'LEFT',
503 'LIKE',
504 'LIMIT',
505 'LINEAR', // 5.1
506 'LINES',
507 'LOAD',
508 'LOCAL',
509 'LOCK',
510 'LOCKS',
511 'LOGS',
512 'LOW_PRIORITY',
513 'MARIA', // 5.1 ?
514 'MASTER_CONNECT_RETRY',
515 'MASTER_HOST',
516 'MASTER_LOG_FILE',
517 'MASTER_LOG_POS',
518 'MASTER_PASSWORD',
519 'MASTER_PORT',
520 'MASTER_USER',
521 'MATCH',
522 'MAX_CONNECTIONS_PER_HOUR',
523 'MAX_QUERIES_PER_HOUR',
524 'MAX_ROWS',
525 'MAX_UPDATES_PER_HOUR',
526 'MAX_USER_CONNECTIONS',
527 'MEDIUM',
528 'MERGE',
529 'MINUTE',
530 'MINUTE_SECOND',
531 'MIN_ROWS',
532 'MODE',
533 'MODIFY',
534 'MONTH',
535 'MRG_MYISAM',
536 'MYISAM',
537 'NAMES',
538 'NATURAL',
539 // 'NO' is not allowed in SQL-99 but is allowed in MySQL
540 //'NO',
541 'NOT',
542 'NULL',
543 'OFFSET',
544 'ON',
545 'OPEN',
546 'OPTIMIZE',
547 'OPTION',
548 'OPTIONALLY',
549 'OR',
550 'ORDER',
551 'OUTER',
552 'OUTFILE',
553 'PACK_KEYS',
554 'PAGE', // 5.1-maria ?
555 'PAGE_CHECKSUM', // 5.1
556 'PARTIAL',
557 'PARTITION', // 5.1
558 'PARTITIONS', // 5.1
559 'PASSWORD',
560 'PRIMARY',
561 'PRIVILEGES',
562 'PROCEDURE',
563 'PROCESS',
564 'PROCESSLIST',
565 'PURGE',
566 'QUICK',
567 'RAID0',
568 'RAID_CHUNKS',
569 'RAID_CHUNKSIZE',
570 'RAID_TYPE',
571 'RANGE', // 5.1
572 'READ',
573 'READ_ONLY', // 5.1
574 'READ_WRITE', // 5.1
575 'REFERENCES',
576 'REGEXP',
577 'RELOAD',
578 'RENAME',
579 'REPAIR',
580 'REPEATABLE',
581 'REPLACE',
582 'REPLICATION',
583 'RESET',
584 'RESTORE',
585 'RESTRICT',
586 'RETURN',
587 'RETURNS',
588 'REVOKE',
589 'RIGHT',
590 'RLIKE',
591 'ROLLBACK',
592 'ROW',
593 'ROWS',
594 'ROW_FORMAT',
595 'SECOND',
596 'SECURITY',
597 'SELECT',
598 'SEPARATOR',
599 'SERIALIZABLE',
600 'SESSION',
601 'SHARE',
602 'SHOW',
603 'SHUTDOWN',
604 'SLAVE',
605 'SONAME',
606 'SOUNDS', // string-functions.html
607 'SQL',
608 'SQL_AUTO_IS_NULL',
609 'SQL_BIG_RESULT',
610 'SQL_BIG_SELECTS',
611 'SQL_BIG_TABLES',
612 'SQL_BUFFER_RESULT',
613 'SQL_CACHE',
614 'SQL_CALC_FOUND_ROWS',
615 'SQL_LOG_BIN',
616 'SQL_LOG_OFF',
617 'SQL_LOG_UPDATE',
618 'SQL_LOW_PRIORITY_UPDATES',
619 'SQL_MAX_JOIN_SIZE',
620 'SQL_NO_CACHE',
621 'SQL_QUOTE_SHOW_CREATE',
622 'SQL_SAFE_UPDATES',
623 'SQL_SELECT_LIMIT',
624 'SQL_SLAVE_SKIP_COUNTER',
625 'SQL_SMALL_RESULT',
626 'SQL_WARNINGS',
627 'START',
628 'STARTING',
629 'STATUS',
630 'STOP',
631 'STORAGE',
632 'STRAIGHT_JOIN',
633 'STRING',
634 'STRIPED',
635 'SUPER',
636 'TABLE',
637 'TABLES',
638 'TEMPORARY',
639 'TERMINATED',
640 'THEN',
641 'TO',
642 'TRAILING',
643 'TRANSACTIONAL', // 5.1 ?
644 'TRUNCATE',
645 'TYPE',
646 'TYPES',
647 'UNCOMMITTED',
648 'UNION',
649 'UNIQUE',
650 'UNLOCK',
651 'UPDATE',
652 'USAGE',
653 'USE',
654 'USING',
655 'VALUES',
656 'VARIABLES',
657 'VIEW',
658 'WHEN',
659 'WHERE',
660 'WITH',
661 'WORK',
662 'WRITE',
663 'XOR',
664 'YEAR_MONTH'
668 * words forbidden to be used as column or table name wihtout quotes
669 * as seen in http://dev.mysql.com/doc/mysql/en/reserved-words.html
671 * @global array MySQL forbidden words
673 $PMA_SQPdata_forbidden_word = array (
674 'ACCESSIBLE', // 5.1
675 'ACTION',
676 'ADD',
677 'AFTER',
678 'AGAINST',
679 'AGGREGATE',
680 'ALGORITHM',
681 'ALL',
682 'ALTER',
683 'ANALYZE',
684 'AND',
685 'ANY',
686 'AS',
687 'ASC',
688 'ASCII',
689 'ASENSITIVE',
690 'AUTO_INCREMENT',
691 'AVG',
692 'AVG_ROW_LENGTH',
693 'BACKUP',
694 'BDB',
695 'BEFORE',
696 'BEGIN',
697 'BERKELEYDB',
698 'BETWEEN',
699 'BIGINT',
700 'BINARY',
701 'BINLOG',
702 'BIT',
703 'BLOB',
704 'BOOL',
705 'BOOLEAN',
706 'BOTH',
707 'BTREE',
708 'BY',
709 'BYTE',
710 'CACHE',
711 'CALL',
712 'CASCADE',
713 'CASCADED',
714 'CASE',
715 'CHAIN',
716 'CHANGE',
717 'CHANGED',
718 'CHAR',
719 'CHARACTER',
720 'CHARSET',
721 'CHECK',
722 'CHECKSUM',
723 'CIPHER',
724 'CLOSE',
725 'COLLATE',
726 'COLLATION',
727 'COLUMN',
728 'COLUMNS',
729 'COMMENT',
730 'COMMIT',
731 'COMMITTED',
732 'COMPACT',
733 'COMPRESSED',
734 'CONCURRENT',
735 'CONDITION',
736 'CONNECTION',
737 'CONSISTENT',
738 'CONSTRAINT',
739 'CONTAINS',
740 'CONTINUE',
741 'CONVERT',
742 'CREATE',
743 'CROSS',
744 'CUBE',
745 'CURRENT_DATE',
746 'CURRENT_TIME',
747 'CURRENT_TIMESTAMP',
748 'CURRENT_USER',
749 'CURSOR',
750 'DATA',
751 'DATABASE',
752 'DATABASES',
753 'DATE',
754 'DATETIME',
755 'DAY',
756 'DAY_HOUR',
757 'DAY_MICROSECOND',
758 'DAY_MINUTE',
759 'DAY_SECOND',
760 'DEALLOCATE',
761 'DEC',
762 'DECIMAL',
763 'DECLARE',
764 'DEFAULT',
765 'DEFINER',
766 'DELAYED',
767 'DELAY_KEY_WRITE',
768 'DELETE',
769 'DESC',
770 'DESCRIBE',
771 'DES_KEY_FILE',
772 'DETERMINISTIC',
773 'DIRECTORY',
774 'DISABLE',
775 'DISCARD',
776 'DISTINCT',
777 'DISTINCTROW',
778 'DIV',
779 'DO',
780 'DOUBLE',
781 'DROP',
782 'DUAL',
783 'DUMPFILE',
784 'DUPLICATE',
785 'DYNAMIC',
786 'EACH',
787 'ELSE',
788 'ELSEIF',
789 'ENABLE',
790 'ENCLOSED',
791 'END',
792 'ENGINE',
793 'ENGINES',
794 'ENUM',
795 'ERRORS',
796 'ESCAPE',
797 'ESCAPED',
798 'EVENTS',
799 'EXECUTE',
800 'EXISTS',
801 'EXIT',
802 'EXPANSION',
803 'EXPLAIN',
804 'EXTENDED',
805 'FALSE',
806 'FAST',
807 'FETCH',
808 'FIELDS',
809 'FILE',
810 'FIRST',
811 'FIXED',
812 'FLOAT',
813 'FLOAT4',
814 'FLOAT8',
815 'FLUSH',
816 'FOR',
817 'FORCE',
818 'FOREIGN',
819 'FOUND',
820 'FRAC_SECOND',
821 'FROM',
822 'FULL',
823 'FULLTEXT',
824 'FUNCTION',
825 'GEOMETRY',
826 'GEOMETRYCOLLECTION',
827 'GET_FORMAT',
828 'GLOBAL',
829 'GOTO',
830 'GRANT',
831 'GRANTS',
832 'GROUP',
833 'HANDLER',
834 'HASH',
835 'HAVING',
836 'HELP',
837 'HIGH_PRIORITY',
838 'HOSTS',
839 'HOUR',
840 'HOUR_MICROSECOND',
841 'HOUR_MINUTE',
842 'HOUR_SECOND',
843 'IDENTIFIED',
844 'IF',
845 'IGNORE',
846 'IMPORT',
847 'IN',
848 'INDEX',
849 'INDEXES',
850 'INFILE',
851 'INNER',
852 'INNOBASE',
853 'INNODB',
854 'INOUT',
855 'INSENSITIVE',
856 'INSERT',
857 'INSERT_METHOD',
858 'INT',
859 'INT1',
860 'INT2',
861 'INT3',
862 'INT4',
863 'INT8',
864 'INTEGER',
865 'INTERVAL',
866 'INTO',
867 'INVOKER',
868 'IO_THREAD',
869 'IS',
870 'ISOLATION',
871 'ISSUER',
872 'ITERATE',
873 'JOIN',
874 'KEY',
875 'KEYS',
876 'KILL',
877 'LABEL',
878 'LANGUAGE',
879 'LAST',
880 'LEADING',
881 'LEAVE',
882 'LEAVES',
883 'LEFT',
884 'LIKE',
885 'LIMIT',
886 'LINEAR', // 5.1
887 'LINES',
888 'LINESTRING',
889 'LOAD',
890 'LOCAL',
891 'LOCALTIME',
892 'LOCALTIMESTAMP',
893 'LOCK',
894 'LOCKS',
895 'LOGS',
896 'LONG',
897 'LONGBLOB',
898 'LONGTEXT',
899 'LOOP',
900 'LOW_PRIORITY',
901 'MASTER',
902 'MASTER_CONNECT_RETRY',
903 'MASTER_HOST',
904 'MASTER_LOG_FILE',
905 'MASTER_LOG_POS',
906 'MASTER_PASSWORD',
907 'MASTER_PORT',
908 'MASTER_SERVER_ID',
909 'MASTER_SSL',
910 'MASTER_SSL_CA',
911 'MASTER_SSL_CAPATH',
912 'MASTER_SSL_CERT',
913 'MASTER_SSL_CIPHER',
914 'MASTER_SSL_KEY',
915 'MASTER_USER',
916 'MATCH',
917 'MAX_CONNECTIONS_PER_HOUR',
918 'MAX_QUERIES_PER_HOUR',
919 'MAX_ROWS',
920 'MAX_UPDATES_PER_HOUR',
921 'MAX_USER_CONNECTIONS',
922 'MEDIUM',
923 'MEDIUMBLOB',
924 'MEDIUMINT',
925 'MEDIUMTEXT',
926 'MERGE',
927 'MICROSECOND',
928 'MIDDLEINT',
929 'MIGRATE',
930 'MINUTE',
931 'MINUTE_MICROSECOND',
932 'MINUTE_SECOND',
933 'MIN_ROWS',
934 'MOD',
935 'MODE',
936 'MODIFIES',
937 'MODIFY',
938 'MONTH',
939 'MULTILINESTRING',
940 'MULTIPOINT',
941 'MULTIPOLYGON',
942 'MUTEX',
943 'NAME',
944 'NAMES',
945 'NATIONAL',
946 'NATURAL',
947 'NCHAR',
948 'NDB',
949 'NDBCLUSTER',
950 'NEW',
951 'NEXT',
952 'NO',
953 'NONE',
954 'NOT',
955 'NO_WRITE_TO_BINLOG',
956 'NULL',
957 'NUMERIC',
958 'NVARCHAR',
959 'OFFSET',
960 'OLD_PASSWORD',
961 'ON',
962 'ONE',
963 'ONE_SHOT',
964 'OPEN',
965 'OPTIMIZE',
966 'OPTION',
967 'OPTIONALLY',
968 'OR',
969 'ORDER',
970 'OUT',
971 'OUTER',
972 'OUTFILE',
973 'PACK_KEYS',
974 'PARTIAL',
975 'PASSWORD',
976 'PHASE',
977 'POINT',
978 'POLYGON',
979 'PRECISION',
980 'PREPARE',
981 'PREV',
982 'PRIMARY',
983 'PRIVILEGES',
984 'PROCEDURE',
985 'PROCESSLIST',
986 'PURGE',
987 'QUARTER',
988 'QUERY',
989 'QUICK',
990 'RAID0',
991 'RAID_CHUNKS',
992 'RAID_CHUNKSIZE',
993 'RAID_TYPE',
994 'RANGE', // 5.1
995 'READ',
996 'READS',
997 'READ_ONLY', // 5.1
998 'READ_WRITE', // 5.1
999 'REAL',
1000 'RECOVER',
1001 'REDUNDANT',
1002 'REFERENCES',
1003 'REGEXP',
1004 'RELAY_LOG_FILE',
1005 'RELAY_LOG_POS',
1006 'RELAY_THREAD',
1007 'RELEASE',
1008 'RELOAD',
1009 'RENAME',
1010 'REPAIR',
1011 'REPEAT',
1012 'REPEATABLE',
1013 'REPLACE',
1014 'REPLICATION',
1015 'REQUIRE',
1016 'RESET',
1017 'RESTORE',
1018 'RESTRICT',
1019 'RESUME',
1020 'RETURN',
1021 'RETURNS',
1022 'REVOKE',
1023 'RIGHT',
1024 'RLIKE',
1025 'ROLLBACK',
1026 'ROLLUP',
1027 'ROUTINE',
1028 'ROW',
1029 'ROWS',
1030 'ROW_FORMAT',
1031 'RTREE',
1032 'SAVEPOINT',
1033 'SCHEMA',
1034 'SCHEMAS',
1035 'SECOND',
1036 'SECOND_MICROSECOND',
1037 'SECURITY',
1038 'SELECT',
1039 'SENSITIVE',
1040 'SEPARATOR',
1041 'SERIAL',
1042 'SERIALIZABLE',
1043 'SESSION',
1044 'SET',
1045 'SHARE',
1046 'SHOW',
1047 'SHUTDOWN',
1048 'SIGNED',
1049 'SIMPLE',
1050 'SLAVE',
1051 'SMALLINT',
1052 'SNAPSHOT',
1053 'SOME',
1054 'SONAME',
1055 'SOUNDS',
1056 'SPATIAL',
1057 'SPECIFIC',
1058 'SQL',
1059 'SQLEXCEPTION',
1060 'SQLSTATE',
1061 'SQLWARNING',
1062 'SQL_BIG_RESULT',
1063 'SQL_BUFFER_RESULT',
1064 'SQL_CACHE',
1065 'SQL_CALC_FOUND_ROWS',
1066 'SQL_NO_CACHE',
1067 'SQL_SMALL_RESULT',
1068 'SQL_THREAD',
1069 'SQL_TSI_DAY',
1070 'SQL_TSI_FRAC_SECOND',
1071 'SQL_TSI_HOUR',
1072 'SQL_TSI_MINUTE',
1073 'SQL_TSI_MONTH',
1074 'SQL_TSI_QUARTER',
1075 'SQL_TSI_SECOND',
1076 'SQL_TSI_WEEK',
1077 'SQL_TSI_YEAR',
1078 'SSL',
1079 'START',
1080 'STARTING',
1081 'STATUS',
1082 'STOP',
1083 'STORAGE',
1084 'STRAIGHT_JOIN',
1085 'STRING',
1086 'STRIPED',
1087 'SUBJECT',
1088 'SUPER',
1089 'SUSPEND',
1090 'TABLE',
1091 'TABLES',
1092 'TABLESPACE',
1093 'TEMPORARY',
1094 'TEMPTABLE',
1095 'TERMINATED',
1096 'TEXT',
1097 'THEN',
1098 'TIME',
1099 'TIMESTAMP',
1100 'TIMESTAMPADD',
1101 'TIMESTAMPDIFF',
1102 'TINYBLOB',
1103 'TINYINT',
1104 'TINYTEXT',
1105 'TO',
1106 'TRAILING',
1107 'TRANSACTION',
1108 'TRIGGER',
1109 'TRIGGERS',
1110 'TRUE',
1111 'TRUNCATE',
1112 'TYPE',
1113 'TYPES',
1114 'UNCOMMITTED',
1115 'UNDEFINED',
1116 'UNDO',
1117 'UNICODE',
1118 'UNION',
1119 'UNIQUE',
1120 'UNKNOWN',
1121 'UNLOCK',
1122 'UNSIGNED',
1123 'UNTIL',
1124 'UPDATE',
1125 'USAGE',
1126 'USE',
1127 'USER',
1128 'USER_RESOURCES',
1129 'USE_FRM',
1130 'USING',
1131 'UTC_DATE',
1132 'UTC_TIME',
1133 'UTC_TIMESTAMP',
1134 'VALUE',
1135 'VALUES',
1136 'VARBINARY',
1137 'VARCHAR',
1138 'VARCHARACTER',
1139 'VARIABLES',
1140 'VARYING',
1141 'VIEW',
1142 'WARNINGS',
1143 'WEEK',
1144 'WHEN',
1145 'WHERE',
1146 'WHILE',
1147 'WITH',
1148 'WORK',
1149 'WRITE',
1150 'X509',
1151 'XA',
1152 'XOR',
1153 'YEAR',
1154 'YEAR_MONTH',
1155 'ZEROFILL'
1159 * the MySQL column/data types
1161 * @see http://dev.mysql.com/doc/refman/5.1/en/data-types.html
1162 * @see http://dev.mysql.com/doc/refman/5.1/en/mysql-spatial-datatypes.html
1164 * @global array MySQL column types
1166 $PMA_SQPdata_column_type = array (
1167 'BIGINT',
1168 'BINARY',
1169 'BIT',
1170 'BLOB',
1171 'BOOL',
1172 'BOOLEAN', // numeric-type-overview.html
1173 'CHAR',
1174 'CHARACTER',
1175 'DATE',
1176 'DATETIME',
1177 'DEC',
1178 'DECIMAL',
1179 'DOUBLE',
1180 'ENUM',
1181 'FLOAT',
1182 'FLOAT4',
1183 'FLOAT8',
1184 'GEOMETRY', // spatial
1185 'GEOMETRYCOLLECTION', // spatial
1186 'INT',
1187 'INT1',
1188 'INT2',
1189 'INT3',
1190 'INT4',
1191 'INT8',
1192 'INTEGER',
1193 'LINESTRING', // spatial
1194 'LONG',
1195 'LONGBLOB',
1196 'LONGTEXT',
1197 'MEDIUMBLOB',
1198 'MEDIUMINT',
1199 'MEDIUMTEXT',
1200 'MIDDLEINT',
1201 'MULTILINESTRING', // spatial
1202 'MULTIPOINT', // spatial
1203 'MULTIPOLYGON', // spatial
1204 'NCHAR',
1205 'NUMERIC',
1206 'POINT', // spatial
1207 'POLYGON', // spatial
1208 'REAL',
1209 'SERIAL', // alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
1210 'SET',
1211 'SMALLINT',
1212 'TEXT',
1213 'TIME',
1214 'TIMESTAMP',
1215 'TINYBLOB',
1216 'TINYINT',
1217 'TINYTEXT',
1218 'VARBINARY',
1219 'VARCHAR',
1220 'YEAR'
1224 * Documentation links for operators.
1226 $PMA_SQPdata_operators_docs = array(
1227 '!=' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1228 '<>' => array('link' => 'comparison-operators','anchor' => 'operator_not-equal'),
1229 '!' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1230 '||' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1231 '+' => array('link' => 'arithmetic-functions','anchor' => 'operator_plus'),
1232 '>>' => array('link' => 'bit-functions','anchor' => 'operator_right-shift'),
1233 '-' => array('link' => 'arithmetic-functions','anchor' => 'operator_minus'),
1234 '*' => array('link' => 'arithmetic-functions','anchor' => 'operator_times'),
1235 '&&' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1236 '&' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-and'),
1237 '~' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-invert'),
1238 '|' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-or'),
1239 '^' => array('link' => 'bit-functions','anchor' => 'operator_bitwise-xor'),
1240 '=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-equal'),
1241 ':=' => array('link' => 'assignment-operators','anchor' => 'operator_assign-value'),
1242 '/' => array('link' => 'arithmetic-functions','anchor' => 'operator_divide'),
1243 '<=>' => array('link' => 'comparison-operators','anchor' => 'operator_equal-to'),
1244 '=' => array('link' => 'comparison-operators','anchor' => 'operator_equal'),
1245 '>=' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than-or-equal'),
1246 '>' => array('link' => 'comparison-operators','anchor' => 'operator_greater-than'),
1247 '<<' => array('link' => 'bit-functions','anchor' => 'operator_left-shift'),
1248 '<=' => array('link' => 'comparison-operators','anchor' => 'operator_less-than-or-equal'),
1249 '<' => array('link' => 'comparison-operators','anchor' => 'operator_less-than'),
1250 '%' => array('link' => 'arithmetic-functions','anchor' => 'operator_mod')
1254 * Documentation links for functions.
1256 $PMA_SQPdata_functions_docs = array(
1257 'ABS' => array('link' => 'mathematical-functions','anchor' => 'function_abs'),
1258 'ACOS' => array('link' => 'mathematical-functions','anchor' => 'function_acos'),
1259 'ADDDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_adddate'),
1260 'ADDTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_addtime'),
1261 'AES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_decrypt'),
1262 'AES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_aes_encrypt'),
1263 'AND' => array('link' => 'logical-operators','anchor' => 'operator_and'),
1264 'ASCII' => array('link' => 'string-functions','anchor' => 'function_ascii'),
1265 'ASIN' => array('link' => 'mathematical-functions','anchor' => 'function_asin'),
1266 'ATAN2' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1267 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan2'),
1268 'ATAN' => array('link' => 'mathematical-functions','anchor' => 'function_atan'),
1269 'AVG' => array('link' => 'group-by-functions','anchor' => 'function_avg'),
1270 'BENCHMARK' => array('link' => 'information-functions','anchor' => 'function_benchmark'),
1271 'BIN' => array('link' => 'string-functions','anchor' => 'function_bin'),
1272 'BINARY' => array('link' => 'cast-functions','anchor' => 'operator_binary'),
1273 'BIT_AND' => array('link' => 'group-by-functions','anchor' => 'function_bit_and'),
1274 'BIT_COUNT' => array('link' => 'bit-functions','anchor' => 'function_bit_count'),
1275 'BIT_LENGTH' => array('link' => 'string-functions','anchor' => 'function_bit_length'),
1276 'BIT_OR' => array('link' => 'group-by-functions','anchor' => 'function_bit_or'),
1277 'BIT_XOR' => array('link' => 'group-by-functions','anchor' => 'function_bit_xor'),
1278 'CASE' => array('link' => 'control-flow-functions','anchor' => 'operator_case'),
1279 'CAST' => array('link' => 'cast-functions','anchor' => 'function_cast'),
1280 'CEIL' => array('link' => 'mathematical-functions','anchor' => 'function_ceil'),
1281 'CEILING' => array('link' => 'mathematical-functions','anchor' => 'function_ceiling'),
1282 'CHAR_LENGTH' => array('link' => 'string-functions','anchor' => 'function_char_length'),
1283 'CHAR' => array('link' => 'string-functions','anchor' => 'function_char'),
1284 'CHARACTER_LENGTH' => array('link' => 'string-functions','anchor' => 'function_character_length'),
1285 'CHARSET' => array('link' => 'information-functions','anchor' => 'function_charset'),
1286 'COALESCE' => array('link' => 'comparison-operators','anchor' => 'function_coalesce'),
1287 'COERCIBILITY' => array('link' => 'information-functions','anchor' => 'function_coercibility'),
1288 'COLLATION' => array('link' => 'information-functions','anchor' => 'function_collation'),
1289 'COMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_compress'),
1290 'CONCAT_WS' => array('link' => 'string-functions','anchor' => 'function_concat_ws'),
1291 'CONCAT' => array('link' => 'string-functions','anchor' => 'function_concat'),
1292 'CONNECTION_ID' => array('link' => 'information-functions','anchor' => 'function_connection_id'),
1293 'CONV' => array('link' => 'mathematical-functions','anchor' => 'function_conv'),
1294 'CONVERT_TZ' => array('link' => 'date-and-time-functions','anchor' => 'function_convert_tz'),
1295 'Convert' => array('link' => 'cast-functions','anchor' => 'function_convert'),
1296 'COS' => array('link' => 'mathematical-functions','anchor' => 'function_cos'),
1297 'COT' => array('link' => 'mathematical-functions','anchor' => 'function_cot'),
1298 'COUNT' => array('link' => 'group-by-functions','anchor' => 'function_count'),
1299 'CRC32' => array('link' => 'mathematical-functions','anchor' => 'function_crc32'),
1300 'CURDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_curdate'),
1301 'CURRENT_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_current_date'),
1302 'CURRENT_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_current_time'),
1303 'CURRENT_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_current_timestamp'),
1304 'CURRENT_USER' => array('link' => 'information-functions','anchor' => 'function_current_user'),
1305 'CURTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_curtime'),
1306 'DATABASE' => array('link' => 'information-functions','anchor' => 'function_database'),
1307 'DATE_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_date_add'),
1308 'DATE_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_date_format'),
1309 'DATE_SUB' => array('link' => 'date-and-time-functions','anchor' => 'function_date_sub'),
1310 'DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_date'),
1311 'DATEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_datediff'),
1312 'DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_day'),
1313 'DAYNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_dayname'),
1314 'DAYOFMONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofmonth'),
1315 'DAYOFWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofweek'),
1316 'DAYOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_dayofyear'),
1317 'DECLARE' => array('link' => 'declare', 'anchor' => 'declare'),
1318 'DECODE' => array('link' => 'encryption-functions','anchor' => 'function_decode'),
1319 'DEFAULT' => array('link' => 'miscellaneous-functions','anchor' => 'function_default'),
1320 'DEGREES' => array('link' => 'mathematical-functions','anchor' => 'function_degrees'),
1321 'DES_DECRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_decrypt'),
1322 'DES_ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_des_encrypt'),
1323 'DIV' => array('link' => 'arithmetic-functions','anchor' => 'operator_div'),
1324 'ELT' => array('link' => 'string-functions','anchor' => 'function_elt'),
1325 'ENCODE' => array('link' => 'encryption-functions','anchor' => 'function_encode'),
1326 'ENCRYPT' => array('link' => 'encryption-functions','anchor' => 'function_encrypt'),
1327 'EXP' => array('link' => 'mathematical-functions','anchor' => 'function_exp'),
1328 'EXPORT_SET' => array('link' => 'string-functions','anchor' => 'function_export_set'),
1329 'EXTRACT' => array('link' => 'date-and-time-functions','anchor' => 'function_extract'),
1330 'ExtractValue' => array('link' => 'xml-functions','anchor' => 'function_extractvalue'),
1331 'FIELD' => array('link' => 'string-functions','anchor' => 'function_field'),
1332 'FIND_IN_SET' => array('link' => 'string-functions','anchor' => 'function_find_in_set'),
1333 'FLOOR' => array('link' => 'mathematical-functions','anchor' => 'function_floor'),
1334 'FORMAT' => array('link' => 'string-functions','anchor' => 'function_format'),
1335 'FOUND_ROWS' => array('link' => 'information-functions','anchor' => 'function_found_rows'),
1336 'FROM_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_from_days'),
1337 'FROM_UNIXTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_from_unixtime'),
1338 'GET_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_get_format'),
1339 'GET_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_get_lock'),
1340 'GREATEST' => array('link' => 'comparison-operators','anchor' => 'function_greatest'),
1341 'GROUP_CONCAT' => array('link' => 'group-by-functions','anchor' => 'function_group_concat'),
1342 'HEX' => array('link' => 'string-functions','anchor' => 'function_hex'),
1343 'HOUR' => array('link' => 'date-and-time-functions','anchor' => 'function_hour'),
1344 'IF' => array('link' => 'control-flow-functions','anchor' => 'function_if'),
1345 'IFNULL' => array('link' => 'control-flow-functions','anchor' => 'function_ifnull'),
1346 'IN' => array('link' => 'comparison-operators','anchor' => 'function_in'),
1347 'INET_ATON' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_aton'),
1348 'INET_NTOA' => array('link' => 'miscellaneous-functions','anchor' => 'function_inet_ntoa'),
1349 'INSERT' => array('link' => 'string-functions','anchor' => 'function_insert'),
1350 'INSTR' => array('link' => 'string-functions','anchor' => 'function_instr'),
1351 'INTERVAL' => array('link' => 'comparison-operators','anchor' => 'function_interval'),
1352 'IS_FREE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_free_lock'),
1353 'IS_USED_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_is_used_lock'),
1354 'IS' => array('link' => 'comparison-operators','anchor' => 'operator_is'),
1355 'ISNULL' => array('link' => 'comparison-operators','anchor' => 'function_isnull'),
1356 'LAST_DAY' => array('link' => 'date-and-time-functions','anchor' => 'function_last_day'),
1357 'LAST_INSERT_ID' => array('link' => 'information-functions','anchor' => 'function_last_insert_id'),
1358 'LCASE' => array('link' => 'string-functions','anchor' => 'function_lcase'),
1359 'LEAST' => array('link' => 'comparison-operators','anchor' => 'function_least'),
1360 'LEFT' => array('link' => 'string-functions','anchor' => 'function_left'),
1361 'LENGTH' => array('link' => 'string-functions','anchor' => 'function_length'),
1362 'LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_like'),
1363 'LN' => array('link' => 'mathematical-functions','anchor' => 'function_ln'),
1364 'LOAD_FILE' => array('link' => 'string-functions','anchor' => 'function_load_file'),
1365 'LOCALTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_localtime'),
1366 'LOCALTIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_localtimestamp'),
1367 'LOCATE' => array('link' => 'string-functions','anchor' => 'function_locate'),
1368 'LOG10' => array('link' => 'mathematical-functions','anchor' => 'function_log10'),
1369 'LOG2' => array('link' => 'mathematical-functions','anchor' => 'function_log2'),
1370 'LOG' => array('link' => 'mathematical-functions','anchor' => 'function_log'),
1371 'LOWER' => array('link' => 'string-functions','anchor' => 'function_lower'),
1372 'LPAD' => array('link' => 'string-functions','anchor' => 'function_lpad'),
1373 'LTRIM' => array('link' => 'string-functions','anchor' => 'function_ltrim'),
1374 'MAKE_SET' => array('link' => 'string-functions','anchor' => 'function_make_set'),
1375 'MAKEDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_makedate'),
1376 'MAKETIME' => array('link' => 'date-and-time-functions','anchor' => 'function_maketime'),
1377 'MASTER_POS_WAIT' => array('link' => 'miscellaneous-functions','anchor' => 'function_master_pos_wait'),
1378 'MATCH' => array('link' => 'fulltext-search','anchor' => 'function_match'),
1379 'MAX' => array('link' => 'group-by-functions','anchor' => 'function_max'),
1380 'MD5' => array('link' => 'encryption-functions','anchor' => 'function_md5'),
1381 'MICROSECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_microsecond'),
1382 'MID' => array('link' => 'string-functions','anchor' => 'function_mid'),
1383 'MIN' => array('link' => 'group-by-functions','anchor' => 'function_min'),
1384 'MINUTE' => array('link' => 'date-and-time-functions','anchor' => 'function_minute'),
1385 'MOD' => array('link' => 'mathematical-functions','anchor' => 'function_mod'),
1386 'MONTH' => array('link' => 'date-and-time-functions','anchor' => 'function_month'),
1387 'MONTHNAME' => array('link' => 'date-and-time-functions','anchor' => 'function_monthname'),
1388 'NAME_CONST' => array('link' => 'miscellaneous-functions','anchor' => 'function_name_const'),
1389 'NOT' => array('link' => 'logical-operators','anchor' => 'operator_not'),
1390 'NOW' => array('link' => 'date-and-time-functions','anchor' => 'function_now'),
1391 'NULLIF' => array('link' => 'control-flow-functions','anchor' => 'function_nullif'),
1392 'OCT' => array('link' => 'mathematical-functions','anchor' => 'function_oct'),
1393 'OCTET_LENGTH' => array('link' => 'string-functions','anchor' => 'function_octet_length'),
1394 'OLD_PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_old_password'),
1395 'OR' => array('link' => 'logical-operators','anchor' => 'operator_or'),
1396 'ORD' => array('link' => 'string-functions','anchor' => 'function_ord'),
1397 'PASSWORD' => array('link' => 'encryption-functions','anchor' => 'function_password'),
1398 'PERIOD_ADD' => array('link' => 'date-and-time-functions','anchor' => 'function_period_add'),
1399 'PERIOD_DIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_period_diff'),
1400 'PI' => array('link' => 'mathematical-functions','anchor' => 'function_pi'),
1401 'POSITION' => array('link' => 'string-functions','anchor' => 'function_position'),
1402 'POW' => array('link' => 'mathematical-functions','anchor' => 'function_pow'),
1403 'POWER' => array('link' => 'mathematical-functions','anchor' => 'function_power'),
1404 'QUARTER' => array('link' => 'date-and-time-functions','anchor' => 'function_quarter'),
1405 'QUOTE' => array('link' => 'string-functions','anchor' => 'function_quote'),
1406 'RADIANS' => array('link' => 'mathematical-functions','anchor' => 'function_radians'),
1407 'RAND' => array('link' => 'mathematical-functions','anchor' => 'function_rand'),
1408 'REGEXP' => array('link' => 'regexp','anchor' => 'operator_regexp'),
1409 'RELEASE_LOCK' => array('link' => 'miscellaneous-functions','anchor' => 'function_release_lock'),
1410 'REPEAT' => array('link' => 'string-functions','anchor' => 'function_repeat'),
1411 'REPLACE' => array('link' => 'string-functions','anchor' => 'function_replace'),
1412 'REVERSE' => array('link' => 'string-functions','anchor' => 'function_reverse'),
1413 'RIGHT' => array('link' => 'string-functions','anchor' => 'function_right'),
1414 'RLIKE' => array('link' => 'regexp','anchor' => 'operator_rlike'),
1415 'ROUND' => array('link' => 'mathematical-functions','anchor' => 'function_round'),
1416 'ROW_COUNT' => array('link' => 'information-functions','anchor' => 'function_row_count'),
1417 'RPAD' => array('link' => 'string-functions','anchor' => 'function_rpad'),
1418 'RTRIM' => array('link' => 'string-functions','anchor' => 'function_rtrim'),
1419 'SCHEMA' => array('link' => 'information-functions','anchor' => 'function_schema'),
1420 'SEC_TO_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_sec_to_time'),
1421 'SECOND' => array('link' => 'date-and-time-functions','anchor' => 'function_second'),
1422 'SESSION_USER' => array('link' => 'information-functions','anchor' => 'function_session_user'),
1423 'SHA' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1424 'SHA1' => array('link' => 'encryption-functions','anchor' => 'function_sha1'),
1425 'SIGN' => array('link' => 'mathematical-functions','anchor' => 'function_sign'),
1426 'SIN' => array('link' => 'mathematical-functions','anchor' => 'function_sin'),
1427 'SLEEP' => array('link' => 'miscellaneous-functions','anchor' => 'function_sleep'),
1428 'SOUNDEX' => array('link' => 'string-functions','anchor' => 'function_soundex'),
1429 'SPACE' => array('link' => 'string-functions','anchor' => 'function_space'),
1430 'SQRT' => array('link' => 'mathematical-functions','anchor' => 'function_sqrt'),
1431 'STD' => array('link' => 'group-by-functions','anchor' => 'function_std'),
1432 'STDDEV_POP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_pop'),
1433 'STDDEV_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_stddev_samp'),
1434 'STDDEV' => array('link' => 'group-by-functions','anchor' => 'function_stddev'),
1435 'STR_TO_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_str_to_date'),
1436 'STRCMP' => array('link' => 'string-comparison-functions','anchor' => 'function_strcmp'),
1437 'SUBDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_subdate'),
1438 'SUBSTR' => array('link' => 'string-functions','anchor' => 'function_substr'),
1439 'SUBSTRING_INDEX' => array('link' => 'string-functions','anchor' => 'function_substring_index'),
1440 'SUBSTRING' => array('link' => 'string-functions','anchor' => 'function_substring'),
1441 'SUBTIME' => array('link' => 'date-and-time-functions','anchor' => 'function_subtime'),
1442 'SUM' => array('link' => 'group-by-functions','anchor' => 'function_sum'),
1443 'SYSDATE' => array('link' => 'date-and-time-functions','anchor' => 'function_sysdate'),
1444 'SYSTEM_USER' => array('link' => 'information-functions','anchor' => 'function_system_user'),
1445 'TAN' => array('link' => 'mathematical-functions','anchor' => 'function_tan'),
1446 'TIME_FORMAT' => array('link' => 'date-and-time-functions','anchor' => 'function_time_format'),
1447 'TIME_TO_SEC' => array('link' => 'date-and-time-functions','anchor' => 'function_time_to_sec'),
1448 'TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_time'),
1449 'TIMEDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timediff'),
1450 'TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_timestamp'),
1451 'TIMESTAMPADD' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampadd'),
1452 'TIMESTAMPDIFF' => array('link' => 'date-and-time-functions','anchor' => 'function_timestampdiff'),
1453 'TO_DAYS' => array('link' => 'date-and-time-functions','anchor' => 'function_to_days'),
1454 'TRIM' => array('link' => 'string-functions','anchor' => 'function_trim'),
1455 'TRUNCATE' => array('link' => 'mathematical-functions','anchor' => 'function_truncate'),
1456 'UCASE' => array('link' => 'string-functions','anchor' => 'function_ucase'),
1457 'UNCOMPRESS' => array('link' => 'encryption-functions','anchor' => 'function_uncompress'),
1458 'UNCOMPRESSED_LENGTH' => array('link' => 'encryption-functions','anchor' => 'function_uncompressed_length'),
1459 'UNHEX' => array('link' => 'string-functions','anchor' => 'function_unhex'),
1460 'UNIX_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_unix_timestamp'),
1461 'UpdateXML' => array('link' => 'xml-functions','anchor' => 'function_updatexml'),
1462 'UPPER' => array('link' => 'string-functions','anchor' => 'function_upper'),
1463 'USER' => array('link' => 'information-functions','anchor' => 'function_user'),
1464 'UTC_DATE' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_date'),
1465 'UTC_TIME' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_time'),
1466 'UTC_TIMESTAMP' => array('link' => 'date-and-time-functions','anchor' => 'function_utc_timestamp'),
1467 'UUID_SHORT' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid_short'),
1468 'UUID' => array('link' => 'miscellaneous-functions','anchor' => 'function_uuid'),
1469 'VALUES' => array('link' => 'miscellaneous-functions','anchor' => 'function_values'),
1470 'VAR_POP' => array('link' => 'group-by-functions','anchor' => 'function_var_pop'),
1471 'VAR_SAMP' => array('link' => 'group-by-functions','anchor' => 'function_var_samp'),
1472 'VARIANCE' => array('link' => 'group-by-functions','anchor' => 'function_variance'),
1473 'VERSION' => array('link' => 'information-functions','anchor' => 'function_version'),
1474 'WEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_week'),
1475 'WEEKDAY' => array('link' => 'date-and-time-functions','anchor' => 'function_weekday'),
1476 'WEEKOFYEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_weekofyear'),
1477 'XOR' => array('link' => 'logical-operators','anchor' => 'operator_xor'),
1478 'YEAR' => array('link' => 'date-and-time-functions','anchor' => 'function_year'),
1479 'YEARWEEK' => array('link' => 'date-and-time-functions','anchor' => 'function_yearweek'),
1480 'SOUNDS_LIKE' => array('link' => 'string-functions','anchor' => 'operator_sounds-like'),
1481 'IS_NOT_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-not-null'),
1482 'IS_NOT' => array('link' => 'comparison-operators','anchor' => 'operator_is-not'),
1483 'IS_NULL' => array('link' => 'comparison-operators','anchor' => 'operator_is-null'),
1484 'NOT_LIKE' => array('link' => 'string-comparison-functions','anchor' => 'operator_not-like'),
1485 'NOT_REGEXP' => array('link' => 'regexp','anchor' => 'operator_not-regexp'),
1486 'COUNT_DISTINCT' => array('link' => 'group-by-functions','anchor' => 'function_count-distinct'),
1487 'NOT_IN' => array('link' => 'comparison-operators','anchor' => 'function_not-in')