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', // polygon-property-functions.html
55 'BIT_XOR', // group-by-functions.html
56 'BOUNDARY', // general-geometry-property-functions.html
61 '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
81 'CRC32', // mathematical-functions.html
90 'DATE', // date-and-time-functions.html
91 'DATEDIFF', // date-and-time-functions.html
102 'DEFAULT', // miscellaneous-functions.html
107 'DIMENSION', // general-geometry-property-functions.html
113 'ENDPOINT', // linestring-property-functions.html
114 'ENVELOPE', // general-geometry-property-functions.html
118 'EXTERIORRING', // polygon-property-functions.html
120 'EXTRACTVALUE', // xml-functions.html
130 'GEOMETRYCOLLECTION',
131 'GEOMETRYCOLLECTIONFROMTEXT',
132 'GEOMETRYCOLLECTIONFROMWKB',
135 'GEOMETRYN', // geometrycollection-property-functions.html
136 'GEOMETRYTYPE', // general-geometry-property-functions.html
141 'GLENGTH', // linestring-property-functions.html
144 'GROUP_UNIQUE_USERS',
147 'IF', //control-flow-functions.html
151 'INSERT', // string-functions.html
153 'INTERIORRINGN', // polygon-property-functions.html
157 'ISCLOSED', // multilinestring-property-functions.html
158 'ISEMPTY', // general-geometry-property-functions.html
160 'ISRING', // linestring-property-functions.html
161 'ISSIMPLE', // general-geometry-property-functions.html
163 'IS_USED_LOCK', // miscellaneous-functions.html
173 'LINESTRINGFROMTEXT',
213 'MULTILINESTRINGFROMTEXT',
214 'MULTILINESTRINGFROMWKB',
216 'MULTIPOINTFROMTEXT',
219 'MULTIPOLYGONFROMTEXT',
220 'MULTIPOLYGONFROMWKB',
221 'NAME_CONST', // NAME_CONST()
224 'NUMGEOMETRIES', // geometrycollection-property-functions.html
225 'NUMINTERIORRINGS', // polygon-property-functions.html
226 'NUMPOINTS', // linestring-property-functions.html
239 'POINTN', // inestring-property-functions.html
240 'POINTONSURFACE', // multipolygon-property-functions.html
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', // linestring-property-functions.html
279 'STDDEV_POP', // group-by-functions.html
280 'STDDEV_SAMP', // group-by-functions.html
303 'TRUNCATE', // mathematical-functions.html
305 'UNCOMPRESS', // string-functions.html
306 'UNCOMPRESSED_LENGTH', // string-functions.html
307 'UNHEX', // string-functions.html
310 '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
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
371 * @see http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
373 * @global array MySQL reserved words
375 $PMA_SQPdata_reserved_word = array (
475 'GEMINI_SPIN_RETRIES',
524 'MASTER_CONNECT_RETRY',
525 'MASTER_HEARTBEAT_PERIOD',
534 'MAX_CONNECTIONS_PER_HOUR',
535 'MAX_QUERIES_PER_HOUR',
537 'MAX_UPDATES_PER_HOUR',
538 'MAX_USER_CONNECTIONS',
552 // 'NO' is not allowed in SQL-99 but is allowed in MySQL
568 'PAGE', // 5.1-maria ?
569 'PAGE_CHECKSUM', // 5.1
624 'SOUNDS', // string-functions.html
632 'SQL_CALC_FOUND_ROWS',
636 'SQL_LOW_PRIORITY_UPDATES',
639 'SQL_QUOTE_SHOW_CREATE',
642 'SQL_SLAVE_SKIP_COUNTER',
661 'TRANSACTIONAL', // 5.1 ?
688 * words forbidden to be used as column or table name without quotes
689 * as seen in http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html
691 * @global array MySQL forbidden words
693 $PMA_SQPdata_forbidden_word = array (
822 'MASTER_HEARTBEAT_PERIOD',
823 'MASTER_SSL_VERIFY_SERVER_CERT',
830 'MINUTE_MICROSECOND',
836 'NO_WRITE_TO_BINLOG',
874 'SECOND_MICROSECOND',
892 'SQL_CALC_FOUND_ROWS',
935 * the MySQL column/data types
937 * @see http://dev.mysql.com/doc/refman/5.1/en/data-types.html
938 * @see http://dev.mysql.com/doc/refman/5.1/en/mysql-spatial-datatypes.html
940 * @global array MySQL column types
942 $PMA_SQPdata_column_type = array (
948 'BOOLEAN', // numeric-type-overview.html
960 'GEOMETRY', // spatial
961 'GEOMETRYCOLLECTION', // spatial
969 'LINESTRING', // spatial
977 'MULTILINESTRING', // spatial
978 'MULTIPOINT', // spatial
979 'MULTIPOLYGON', // spatial
983 'POLYGON', // spatial