1 #ifndef LEX_INCLUDED
2 #define LEX_INCLUDED
3 
4 /* Copyright (c) 2000, 2010, Oracle and/or its affiliates.
5    Copyright (c) 2009, 2015, MariaDB
6 
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; version 2 of the License.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
19 
20 
21 /* This file includes all reserved words and functions */
22 
23 #include "lex_symbol.h"
24 
25 SYM_GROUP sym_group_common= {"", ""};
26 SYM_GROUP sym_group_geom= {"Spatial extensions", "HAVE_SPATIAL"};
27 SYM_GROUP sym_group_rtree= {"RTree keys", "HAVE_RTREE_KEYS"};
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result28 
29 /* We don't want to include sql_yacc.h into gen_lex_hash */
30 #ifdef NO_YACC_SYMBOLS
31 #define SYM_OR_NULL(A) 0
32 #else
33 #define SYM_OR_NULL(A) A
34 #endif
35 
36 #define SYM(A) SYM_OR_NULL(A),0,&sym_group_common
37 
38 /*
39   Symbols are broken into separated arrays to allow field names with
40   same name as functions.
41   These are kept sorted for human lookup (the symbols are hashed).
42 
43   NOTE! The symbol tables should be the same regardless of what features
44   are compiled into the server. Don't add ifdef'ed symbols to the
45   lists
46 */
47 
48 SYMBOL symbols[] = {
49   { "&&",		SYM(AND_AND_SYM)},
50   { "<=",		SYM(LE)},
51   { "<>",		SYM(NE)},
52   { "!=",		SYM(NE)},
53   { ">=",		SYM(GE)},
54   { "<<",		SYM(SHIFT_LEFT)},
55   { ">>",		SYM(SHIFT_RIGHT)},
56   { "<=>",		SYM(EQUAL_SYM)},
57   { "ACCESSIBLE",	SYM(ACCESSIBLE_SYM)},
58   { "ACTION",		SYM(ACTION)},
59   { "ADD",		SYM(ADD)},
60   { "ADMIN",            SYM(ADMIN_SYM)},
61   { "AFTER",		SYM(AFTER_SYM)},
62   { "AGAINST",          SYM(AGAINST)},
63   { "AGGREGATE",	SYM(AGGREGATE_SYM)},
64   { "ALL",		SYM(ALL)},
65   { "ALGORITHM",	SYM(ALGORITHM_SYM)},
66   { "ALTER",		SYM(ALTER)},
67   { "ALWAYS",           SYM(ALWAYS_SYM)},
68   { "ANALYZE",		SYM(ANALYZE_SYM)},
69   { "AND",		SYM(AND_SYM)},
70   { "ANY",              SYM(ANY_SYM)},
71   { "AS",		SYM(AS)},
72   { "ASC",		SYM(ASC)},
73   { "ASCII",		SYM(ASCII_SYM)},
74   { "ASENSITIVE",       SYM(ASENSITIVE_SYM)},
75   { "AT",		SYM(AT_SYM)},
76   { "ATOMIC",		SYM(ATOMIC_SYM)},
77   { "AUTHORS",	        SYM(AUTHORS_SYM)},
78   { "AUTO_INCREMENT",	SYM(AUTO_INC)},
79   { "AUTOEXTEND_SIZE",	SYM(AUTOEXTEND_SIZE_SYM)},
80   { "AUTO",	        SYM(AUTO_SYM)},
81   { "AVG",		SYM(AVG_SYM)},
82   { "AVG_ROW_LENGTH",	SYM(AVG_ROW_LENGTH)},
83   { "BACKUP",	        SYM(BACKUP_SYM)},
84   { "BEFORE",	        SYM(BEFORE_SYM)},
85   { "BEGIN",	        SYM(BEGIN_MARIADB_SYM)},
86   { "BETWEEN",		SYM(BETWEEN_SYM)},
87   { "BIGINT",		SYM(BIGINT)},
88   { "BINARY",		SYM(BINARY)},
89   { "BINLOG",		SYM(BINLOG_SYM)},
90   { "BIT",		SYM(BIT_SYM)},
91   { "BLOB",		SYM(BLOB_MARIADB_SYM)},
92   { "BLOCK",  SYM(BLOCK_SYM)},
93   { "BODY",             SYM(BODY_MARIADB_SYM)},
94   { "BOOL",		SYM(BOOL_SYM)},
95   { "BOOLEAN",		SYM(BOOLEAN_SYM)},
96   { "BOTH",		SYM(BOTH)},
97   { "BTREE",		SYM(BTREE_SYM)},
98   { "BY",		SYM(BY)},
99   { "BYTE",		SYM(BYTE_SYM)},
100   { "CACHE",		SYM(CACHE_SYM)},
101   { "CALL",             SYM(CALL_SYM)},
102   { "CASCADE",		SYM(CASCADE)},
103   { "CASCADED",         SYM(CASCADED)},
104   { "CASE",		SYM(CASE_SYM)},
105   { "CATALOG_NAME",     SYM(CATALOG_NAME_SYM)},
106   { "CHAIN",		SYM(CHAIN_SYM)},
107   { "CHANGE",		SYM(CHANGE)},
108   { "CHANGED",		SYM(CHANGED)},
109   { "CHAR",		SYM(CHAR_SYM)},
110   { "CHARACTER",	SYM(CHAR_SYM)},
111   { "CHARSET",		SYM(CHARSET)},
112   { "CHECK",		SYM(CHECK_SYM)},
113   { "CHECKPOINT",	SYM(CHECKPOINT_SYM)},
114   { "CHECKSUM",		SYM(CHECKSUM_SYM)},
115   { "CIPHER",		SYM(CIPHER_SYM)},
116   { "CLASS_ORIGIN",     SYM(CLASS_ORIGIN_SYM)},
117   { "CLIENT",		SYM(CLIENT_SYM)},
118   { "CLOB",             SYM(CLOB_MARIADB_SYM)},
119   { "CLOSE",		SYM(CLOSE_SYM)},
120   { "COALESCE",		SYM(COALESCE)},
121   { "CODE",             SYM(CODE_SYM)},
122   { "COLLATE",		SYM(COLLATE_SYM)},
123   { "COLLATION",	SYM(COLLATION_SYM)},
124   { "COLUMN",		SYM(COLUMN_SYM)},
125   { "COLUMN_NAME",      SYM(COLUMN_NAME_SYM)},
126   { "COLUMNS",		SYM(COLUMNS)},
127   { "COLUMN_ADD",       SYM(COLUMN_ADD_SYM)},
128   { "COLUMN_CHECK",     SYM(COLUMN_CHECK_SYM)},
129   { "COLUMN_CREATE",    SYM(COLUMN_CREATE_SYM)},
130   { "COLUMN_DELETE",    SYM(COLUMN_DELETE_SYM)},
131   { "COLUMN_GET",       SYM(COLUMN_GET_SYM)},
132   { "COMMENT",		SYM(COMMENT_SYM)},
133   { "COMMIT",		SYM(COMMIT_SYM)},
134   { "COMMITTED",	SYM(COMMITTED_SYM)},
135   { "COMPACT",		SYM(COMPACT_SYM)},
136   { "COMPLETION",	SYM(COMPLETION_SYM)},
137   { "COMPRESSED",	SYM(COMPRESSED_SYM)},
138   { "CONCURRENT",	SYM(CONCURRENT)},
139   { "CONDITION",        SYM(CONDITION_SYM)},
140   { "CONNECTION",       SYM(CONNECTION_SYM)},
141   { "CONSISTENT",	SYM(CONSISTENT_SYM)},
142   { "CONSTRAINT",	SYM(CONSTRAINT)},
143   { "CONSTRAINT_CATALOG", SYM(CONSTRAINT_CATALOG_SYM)},
144   { "CONSTRAINT_NAME",  SYM(CONSTRAINT_NAME_SYM)},
145   { "CONSTRAINT_SCHEMA", SYM(CONSTRAINT_SCHEMA_SYM)},
146   { "CONTAINS",         SYM(CONTAINS_SYM)},
147   { "CONTEXT",    SYM(CONTEXT_SYM)},
148   { "CONTINUE",         SYM(CONTINUE_MARIADB_SYM)},
149   { "CONTRIBUTORS",     SYM(CONTRIBUTORS_SYM)},
150   { "CONVERT",		SYM(CONVERT_SYM)},
151   { "CPU",        SYM(CPU_SYM)},
152   { "CREATE",		SYM(CREATE)},
153   { "CROSS",		SYM(CROSS)},
154   { "CUBE",		SYM(CUBE_SYM)},
155   { "CURRENT",          SYM(CURRENT_SYM)},
156   { "CURRENT_DATE",	SYM(CURDATE)},
157   { "CURRENT_POS",      SYM(CURRENT_POS_SYM)},
158   { "CURRENT_ROLE",	SYM(CURRENT_ROLE)},
159   { "CURRENT_TIME",	SYM(CURTIME)},
160   { "CURRENT_TIMESTAMP", SYM(NOW_SYM)},
161   { "CURRENT_USER",	SYM(CURRENT_USER)},
162   { "CURSOR",           SYM(CURSOR_SYM)},
163   { "CURSOR_NAME",      SYM(CURSOR_NAME_SYM)},
164   { "CYCLE",            SYM(CYCLE_SYM)},
165   { "DATA",		SYM(DATA_SYM)},
166   { "DATABASE",		SYM(DATABASE)},
167   { "DATABASES",	SYM(DATABASES)},
168   { "DATAFILE", 	SYM(DATAFILE_SYM)},
169   { "DATE",		SYM(DATE_SYM)},
170   { "DATETIME",		SYM(DATETIME)},
171   { "DAY",		SYM(DAY_SYM)},
172   { "DAY_HOUR",		SYM(DAY_HOUR_SYM)},
173   { "DAY_MICROSECOND",	SYM(DAY_MICROSECOND_SYM)},
174   { "DAY_MINUTE",	SYM(DAY_MINUTE_SYM)},
175   { "DAY_SECOND",	SYM(DAY_SECOND_SYM)},
176   { "DEALLOCATE",       SYM(DEALLOCATE_SYM)},
177   { "DEC",		SYM(DECIMAL_SYM)},
178   { "DECIMAL",		SYM(DECIMAL_SYM)},
179   { "DECLARE",          SYM(DECLARE_MARIADB_SYM)},
180   { "DEFAULT",		SYM(DEFAULT)},
181   { "DEFINER",          SYM(DEFINER_SYM)},
182   { "DELAYED",		SYM(DELAYED_SYM)},
183   { "DELAY_KEY_WRITE",	SYM(DELAY_KEY_WRITE_SYM)},
184   { "DELETE",		SYM(DELETE_SYM)},
185   { "DELETE_DOMAIN_ID", SYM(DELETE_DOMAIN_ID_SYM)},
186   { "DESC",		SYM(DESC)},
187   { "DESCRIBE",		SYM(DESCRIBE)},
188   { "DES_KEY_FILE",	SYM(DES_KEY_FILE)},
189   { "DETERMINISTIC",    SYM(DETERMINISTIC_SYM)},
190   { "DIAGNOSTICS",      SYM(DIAGNOSTICS_SYM)},
191   { "DIRECTORY",	SYM(DIRECTORY_SYM)},
192   { "DISABLE",		SYM(DISABLE_SYM)},
193   { "DISCARD",		SYM(DISCARD)},
194   { "DISK",		SYM(DISK_SYM)},
195   { "DISTINCT",		SYM(DISTINCT)},
196   { "DISTINCTROW",	SYM(DISTINCT)},	/* Access likes this */
197   { "DIV",		SYM(DIV_SYM)},
198   { "DO",		SYM(DO_SYM)},
199   { "DOUBLE",		SYM(DOUBLE_SYM)},
200   { "DO_DOMAIN_IDS",    SYM(DO_DOMAIN_IDS_SYM)},
201   { "DROP",		SYM(DROP)},
202   { "DUAL",		SYM(DUAL_SYM)},
203   { "DUMPFILE",		SYM(DUMPFILE)},
204   { "DUPLICATE",	SYM(DUPLICATE_SYM)},
205   { "DYNAMIC",		SYM(DYNAMIC_SYM)},
206   { "EACH",             SYM(EACH_SYM)},
207   { "ELSE",             SYM(ELSE)},
208   { "ELSEIF",           SYM(ELSEIF_MARIADB_SYM)},
209   { "ELSIF",            SYM(ELSIF_MARIADB_SYM)},
210   { "ENABLE",		SYM(ENABLE_SYM)},
211   { "ENCLOSED",		SYM(ENCLOSED)},
212   { "END",		SYM(END)},
213   { "ENDS",		SYM(ENDS_SYM)},
214   { "ENGINE",		SYM(ENGINE_SYM)},
215   { "ENGINES",		SYM(ENGINES_SYM)},
216   { "ENUM",		SYM(ENUM)},
217   { "ERROR",            SYM(ERROR_SYM)},
218   { "ERRORS",		SYM(ERRORS)},
219   { "ESCAPE",		SYM(ESCAPE_SYM)},
220   { "ESCAPED",		SYM(ESCAPED)},
221   { "EVENT",		SYM(EVENT_SYM)},
222   { "EVENTS",		SYM(EVENTS_SYM)},
223   { "EVERY",		SYM(EVERY_SYM)},
224   { "EXAMINED",         SYM(EXAMINED_SYM)},
225   { "EXCEPT",           SYM(EXCEPT_SYM)},
226   { "EXCHANGE",         SYM(EXCHANGE_SYM)},
227   { "EXCLUDE",          SYM(EXCLUDE_SYM)},
228   { "EXECUTE",		SYM(EXECUTE_SYM)},
229   { "EXCEPTION",	SYM(EXCEPTION_MARIADB_SYM)},
230   { "EXISTS",		SYM(EXISTS)},
231   { "EXIT",             SYM(EXIT_MARIADB_SYM)},
232   { "EXPANSION",	SYM(EXPANSION_SYM)},
233   { "EXPORT",           SYM(EXPORT_SYM)},
234   { "EXPLAIN",		SYM(DESCRIBE)},
235   { "EXTENDED",		SYM(EXTENDED_SYM)},
236   { "EXTENT_SIZE",	SYM(EXTENT_SIZE_SYM)},
237   { "FALSE",		SYM(FALSE_SYM)},
238   { "FAST",		SYM(FAST_SYM)},
239   { "FAULTS",  SYM(FAULTS_SYM)},
240   { "FETCH",            SYM(FETCH_SYM)},
241   { "FIELDS",		SYM(COLUMNS)},
242   { "FILE",		SYM(FILE_SYM)},
243   { "FIRST",		SYM(FIRST_SYM)},
244   { "FIXED",		SYM(FIXED_SYM)},
245   { "FLOAT",		SYM(FLOAT_SYM)},
246   { "FLOAT4",		SYM(FLOAT_SYM)},
247   { "FLOAT8",		SYM(DOUBLE_SYM)},
248   { "FLUSH",		SYM(FLUSH_SYM)},
249   { "FOLLOWING",        SYM(FOLLOWING_SYM)},
250   { "FOLLOWS",          SYM(FOLLOWS_SYM)},
251   { "FOR",		SYM(FOR_SYM)},
252   { "FORCE",		SYM(FORCE_SYM)},
253   { "FOREIGN",		SYM(FOREIGN)},
254   { "FORMAT",		SYM(FORMAT_SYM)},
255   { "FOUND",            SYM(FOUND_SYM)},
256   { "FROM",		SYM(FROM)},
257   { "FULL",		SYM(FULL)},
258   { "FULLTEXT",		SYM(FULLTEXT_SYM)},
259   { "FUNCTION",		SYM(FUNCTION_SYM)},
260   { "GENERAL",          SYM(GENERAL)},
261   { "GENERATED",        SYM(GENERATED_SYM)},
262   { "GEOMETRY",		SYM(GEOMETRY_SYM)},
263   { "GEOMETRYCOLLECTION",SYM(GEOMETRYCOLLECTION)},
264   { "GET_FORMAT",       SYM(GET_FORMAT)},
265   { "GET",              SYM(GET_SYM)},
266   { "GLOBAL",		SYM(GLOBAL_SYM)},
267   { "GOTO",             SYM(GOTO_MARIADB_SYM)},
268   { "GRANT",		SYM(GRANT)},
269   { "GRANTS",	        SYM(GRANTS)},
270   { "GROUP",		SYM(GROUP_SYM)},
271   { "HANDLER",		SYM(HANDLER_SYM)},
272   { "HARD",		SYM(HARD_SYM)},
273   { "HASH",		SYM(HASH_SYM)},
274   { "HAVING",		SYM(HAVING)},
275   { "HELP",		SYM(HELP_SYM)},
276   { "HIGH_PRIORITY",	SYM(HIGH_PRIORITY)},
277   { "HISTORY",      	SYM(HISTORY_SYM)},
278   { "HOST",		SYM(HOST_SYM)},
279   { "HOSTS",		SYM(HOSTS_SYM)},
280   { "HOUR",		SYM(HOUR_SYM)},
281   { "HOUR_MICROSECOND",	SYM(HOUR_MICROSECOND_SYM)},
282   { "HOUR_MINUTE",	SYM(HOUR_MINUTE_SYM)},
283   { "HOUR_SECOND",	SYM(HOUR_SECOND_SYM)},
284   { "ID",               SYM(ID_SYM)},
285   { "IDENTIFIED",	SYM(IDENTIFIED_SYM)},
286   { "IF",		SYM(IF_SYM)},
287   { "IGNORE",		SYM(IGNORE_SYM)},
288   { "IGNORE_DOMAIN_IDS", SYM(IGNORE_DOMAIN_IDS_SYM)},
289   { "IGNORE_SERVER_IDS", SYM(IGNORE_SERVER_IDS_SYM)},
290   { "IMMEDIATE",	SYM(IMMEDIATE_SYM)},
291   { "IMPORT",		SYM(IMPORT)},
292   { "INTERSECT",        SYM(INTERSECT_SYM)},
293   { "IN",		SYM(IN_SYM)},
294   { "INCREMENT",        SYM(INCREMENT_SYM)},
295   { "INDEX",		SYM(INDEX_SYM)},
296   { "INDEXES",		SYM(INDEXES)},
297   { "INFILE",		SYM(INFILE)},
298   { "INITIAL_SIZE",	SYM(INITIAL_SIZE_SYM)},
299   { "INNER",		SYM(INNER_SYM)},
300   { "INOUT",            SYM(INOUT_SYM)},
301   { "INSENSITIVE",      SYM(INSENSITIVE_SYM)},
302   { "INSERT",		SYM(INSERT)},
303   { "INSERT_METHOD",    SYM(INSERT_METHOD)},
304   { "INSTALL",          SYM(INSTALL_SYM)},
305   { "INT",		SYM(INT_SYM)},
306   { "INT1",		SYM(TINYINT)},
307   { "INT2",		SYM(SMALLINT)},
308   { "INT3",		SYM(MEDIUMINT)},
309   { "INT4",		SYM(INT_SYM)},
310   { "INT8",		SYM(BIGINT)},
311   { "INTEGER",		SYM(INT_SYM)},
312   { "INTERVAL",		SYM(INTERVAL_SYM)},
313   { "INVISIBLE",        SYM(INVISIBLE_SYM)},
314   { "INTO",		SYM(INTO)},
315   { "IO",     SYM(IO_SYM)},
316   { "IO_THREAD",        SYM(RELAY_THREAD)},
317   { "IPC",    SYM(IPC_SYM)},
318   { "IS",		SYM(IS)},
319   { "ISOLATION",	SYM(ISOLATION)},
320   { "ISOPEN",           SYM(ISOPEN_SYM)},
321   { "ISSUER",		SYM(ISSUER_SYM)},
322   { "ITERATE",          SYM(ITERATE_SYM)},
323   { "INVOKER",          SYM(INVOKER_SYM)},
324   { "JOIN",		SYM(JOIN_SYM)},
325   { "JSON",		SYM(JSON_SYM)},
326   { "KEY",		SYM(KEY_SYM)},
327   { "KEYS",		SYM(KEYS)},
328   { "KEY_BLOCK_SIZE",	SYM(KEY_BLOCK_SIZE)},
329   { "KILL",		SYM(KILL_SYM)},
330   { "LANGUAGE",         SYM(LANGUAGE_SYM)},
331   { "LAST",		SYM(LAST_SYM)},
332   { "LAST_VALUE",	SYM(LAST_VALUE)},
333   { "LASTVAL",		SYM(LASTVAL_SYM)},
334   { "LEADING",		SYM(LEADING)},
335   { "LEAVE",            SYM(LEAVE_SYM)},
336   { "LEAVES",		SYM(LEAVES)},
337   { "LEFT",		SYM(LEFT)},
338   { "LESS",             SYM(LESS_SYM)},
339   { "LEVEL",		SYM(LEVEL_SYM)},
340   { "LIKE",		SYM(LIKE)},
341   { "LIMIT",		SYM(LIMIT)},
342   { "LINEAR",		SYM(LINEAR_SYM)},
343   { "LINES",		SYM(LINES)},
344   { "LINESTRING",	SYM(LINESTRING)},
345   { "LIST",             SYM(LIST_SYM)},
346   { "LOAD",		SYM(LOAD)},
347   { "LOCAL",		SYM(LOCAL_SYM)},
348   { "LOCALTIME",	SYM(NOW_SYM)},
349   { "LOCALTIMESTAMP",	SYM(NOW_SYM)},
350   { "LOCK",		SYM(LOCK_SYM)},
351   { "LOCKS",		SYM(LOCKS_SYM)},
352   { "LOGFILE",		SYM(LOGFILE_SYM)},
353   { "LOGS",		SYM(LOGS_SYM)},
354   { "LONG",		SYM(LONG_SYM)},
355   { "LONGBLOB",		SYM(LONGBLOB)},
356   { "LONGTEXT",		SYM(LONGTEXT)},
357   { "LOOP",             SYM(LOOP_SYM)},
358   { "LOW_PRIORITY",	SYM(LOW_PRIORITY)},
359   { "MASTER",           SYM(MASTER_SYM)},
360   { "MASTER_CONNECT_RETRY",           SYM(MASTER_CONNECT_RETRY_SYM)},
361   { "MASTER_DELAY",     SYM(MASTER_DELAY_SYM)},
362   { "MASTER_GTID_POS",  SYM(MASTER_GTID_POS_SYM)},
363   { "MASTER_HOST",           SYM(MASTER_HOST_SYM)},
364   { "MASTER_LOG_FILE",           SYM(MASTER_LOG_FILE_SYM)},
365   { "MASTER_LOG_POS",           SYM(MASTER_LOG_POS_SYM)},
366   { "MASTER_PASSWORD",           SYM(MASTER_PASSWORD_SYM)},
367   { "MASTER_PORT",           SYM(MASTER_PORT_SYM)},
368   { "MASTER_SERVER_ID",           SYM(MASTER_SERVER_ID_SYM)},
369   { "MASTER_SSL",       SYM(MASTER_SSL_SYM)},
370   { "MASTER_SSL_CA",    SYM(MASTER_SSL_CA_SYM)},
371   { "MASTER_SSL_CAPATH",SYM(MASTER_SSL_CAPATH_SYM)},
372   { "MASTER_SSL_CERT",  SYM(MASTER_SSL_CERT_SYM)},
373   { "MASTER_SSL_CIPHER",SYM(MASTER_SSL_CIPHER_SYM)},
374   { "MASTER_SSL_CRL",   SYM(MASTER_SSL_CRL_SYM)},
375   { "MASTER_SSL_CRLPATH",SYM(MASTER_SSL_CRLPATH_SYM)},
376   { "MASTER_SSL_KEY",   SYM(MASTER_SSL_KEY_SYM)},
377   { "MASTER_SSL_VERIFY_SERVER_CERT", SYM(MASTER_SSL_VERIFY_SERVER_CERT_SYM)},
378   { "MASTER_USER",           SYM(MASTER_USER_SYM)},
379   { "MASTER_USE_GTID",  SYM(MASTER_USE_GTID_SYM)},
380   { "MASTER_HEARTBEAT_PERIOD", SYM(MASTER_HEARTBEAT_PERIOD_SYM)},
381   { "MATCH",		SYM(MATCH)},
382   { "MAX_CONNECTIONS_PER_HOUR", SYM(MAX_CONNECTIONS_PER_HOUR)},
383   { "MAX_QUERIES_PER_HOUR", SYM(MAX_QUERIES_PER_HOUR)},
384   { "MAX_ROWS",		SYM(MAX_ROWS)},
385   { "MAX_SIZE",		SYM(MAX_SIZE_SYM)},
386   { "MAX_STATEMENT_TIME",   SYM(MAX_STATEMENT_TIME_SYM)},
387   { "MAX_UPDATES_PER_HOUR", SYM(MAX_UPDATES_PER_HOUR)},
388   { "MAX_USER_CONNECTIONS", SYM(MAX_USER_CONNECTIONS_SYM)},
389   { "MAXVALUE",         SYM(MAXVALUE_SYM)},
390   { "MEDIUM",		SYM(MEDIUM_SYM)},
391   { "MEDIUMBLOB",	SYM(MEDIUMBLOB)},
392   { "MEDIUMINT",	SYM(MEDIUMINT)},
393   { "MEDIUMTEXT",	SYM(MEDIUMTEXT)},
394   { "MEMORY",		SYM(MEMORY_SYM)},
395   { "MERGE",		SYM(MERGE_SYM)},
396   { "MESSAGE_TEXT",     SYM(MESSAGE_TEXT_SYM)},
397   { "MICROSECOND",	SYM(MICROSECOND_SYM)},
398   { "MIDDLEINT",	SYM(MEDIUMINT)},	/* For powerbuilder */
399   { "MIGRATE",          SYM(MIGRATE_SYM)},
400   { "MINUTE",		SYM(MINUTE_SYM)},
401   { "MINUTE_MICROSECOND", SYM(MINUTE_MICROSECOND_SYM)},
402   { "MINUTE_SECOND",	SYM(MINUTE_SECOND_SYM)},
403   { "MINVALUE",		SYM(MINVALUE_SYM)},
404   { "MIN_ROWS",		SYM(MIN_ROWS)},
405   { "MOD",		SYM(MOD_SYM)},
406   { "MODE",		SYM(MODE_SYM)},
407   { "MODIFIES",		SYM(MODIFIES_SYM)},
408   { "MODIFY",		SYM(MODIFY_SYM)},
409   { "MONTH",		SYM(MONTH_SYM)},
410   { "MULTILINESTRING",	SYM(MULTILINESTRING)},
411   { "MULTIPOINT",	SYM(MULTIPOINT)},
412   { "MULTIPOLYGON",	SYM(MULTIPOLYGON)},
413   { "MUTEX",  SYM(MUTEX_SYM)},
414   { "MYSQL",            SYM(MYSQL_SYM)},
415   { "MYSQL_ERRNO",      SYM(MYSQL_ERRNO_SYM)},
416   { "NAME",             SYM(NAME_SYM)},
417   { "NAMES",		SYM(NAMES_SYM)},
418   { "NATIONAL",		SYM(NATIONAL_SYM)},
419   { "NATURAL",		SYM(NATURAL)},
420   { "NCHAR",		SYM(NCHAR_SYM)},
421   { "NEW",              SYM(NEW_SYM)},
422   { "NEXT",		SYM(NEXT_SYM)},
423   { "NEXTVAL",		SYM(NEXTVAL_SYM)},
424   { "NO",		SYM(NO_SYM)},
425   { "NOMAXVALUE",	SYM(NOMAXVALUE_SYM)},
426   { "NOMINVALUE",	SYM(NOMINVALUE_SYM)},
427   { "NOCACHE",          SYM(NOCACHE_SYM)},
428   { "NOCYCLE",          SYM(NOCYCLE_SYM)},
429   { "NO_WAIT",		SYM(NO_WAIT_SYM)},
430   { "NOWAIT",		SYM(NOWAIT_SYM)},
431   { "NODEGROUP",	SYM(NODEGROUP_SYM)},
432   { "NONE",		SYM(NONE_SYM)},
433   { "NOT",		SYM(NOT_SYM)},
434   { "NOTFOUND",         SYM(NOTFOUND_SYM)},
435   { "NO_WRITE_TO_BINLOG",  SYM(NO_WRITE_TO_BINLOG)},
436   { "NULL",		SYM(NULL_SYM)},
437   { "NUMBER",           SYM(NUMBER_MARIADB_SYM)},
438   { "NUMERIC",		SYM(NUMERIC_SYM)},
439   { "NVARCHAR",		SYM(NVARCHAR_SYM)},
440   { "OF",		SYM(OF_SYM)},
441   { "OFFSET",		SYM(OFFSET_SYM)},
442   { "OLD_PASSWORD",	SYM(OLD_PASSWORD_SYM)},
443   { "ON",		SYM(ON)},
444   { "ONE",              SYM(ONE_SYM)},
445   { "ONLINE",		SYM(ONLINE_SYM)},
446   { "ONLY",             SYM(ONLY_SYM)},
447   { "OPEN",		SYM(OPEN_SYM)},
448   { "OPTIMIZE",		SYM(OPTIMIZE)},
449   { "OPTIONS",		SYM(OPTIONS_SYM)},
450   { "OPTION",		SYM(OPTION)},
451   { "OPTIONALLY",	SYM(OPTIONALLY)},
452   { "OR",		SYM(OR_SYM)},
453   { "ORDER",		SYM(ORDER_SYM)},
454   { "OTHERS",           SYM(OTHERS_MARIADB_SYM)},
455   { "OUT",              SYM(OUT_SYM)},
456   { "OUTER",		SYM(OUTER)},
457   { "OUTFILE",		SYM(OUTFILE)},
458   { "OVER",             SYM(OVER_SYM)},
459   { "OWNER",		SYM(OWNER_SYM)},
460   { "PACKAGE",          SYM(PACKAGE_MARIADB_SYM)},
461   { "PACK_KEYS",	SYM(PACK_KEYS_SYM)},
462   { "PAGE",	        SYM(PAGE_SYM)},
463   { "PAGE_CHECKSUM",	SYM(PAGE_CHECKSUM_SYM)},
464   { "PARSER",           SYM(PARSER_SYM)},
465   { "PARSE_VCOL_EXPR",  SYM(PARSE_VCOL_EXPR_SYM)},
466   { "PERIOD",		SYM(PERIOD_SYM)},
467   { "PARTIAL",		SYM(PARTIAL)},
468   { "PARTITION",        SYM(PARTITION_SYM)},
469   { "PARTITIONING",     SYM(PARTITIONING_SYM)},
470   { "PARTITIONS",       SYM(PARTITIONS_SYM)},
471   { "PASSWORD",		SYM(PASSWORD_SYM)},
472   { "PERSISTENT",	SYM(PERSISTENT_SYM)},
473   { "PHASE",            SYM(PHASE_SYM)},
474   { "PLUGIN",           SYM(PLUGIN_SYM)},
475   { "PLUGINS",          SYM(PLUGINS_SYM)},
476   { "POINT",		SYM(POINT_SYM)},
477   { "POLYGON",		SYM(POLYGON)},
478   { "PORT",		SYM(PORT_SYM)},
479   { "PRECEDES",         SYM(PRECEDES_SYM)},
480   { "PRECEDING",        SYM(PRECEDING_SYM)},
481   { "PRECISION",	SYM(PRECISION)},
482   { "PREPARE",          SYM(PREPARE_SYM)},
483   { "PRESERVE",		SYM(PRESERVE_SYM)},
484   { "PREV",		SYM(PREV_SYM)},
485   { "PREVIOUS",		SYM(PREVIOUS_SYM)},
486   { "PRIMARY",		SYM(PRIMARY_SYM)},
487   { "PRIVILEGES",	SYM(PRIVILEGES)},
488   { "PROCEDURE",	SYM(PROCEDURE_SYM)},
489   { "PROCESS"	,	SYM(PROCESS)},
490   { "PROCESSLIST",	SYM(PROCESSLIST_SYM)},
491   { "PROFILE",          SYM(PROFILE_SYM)},
492   { "PROFILES",         SYM(PROFILES_SYM)},
493   { "PROXY",            SYM(PROXY_SYM)},
494   { "PURGE",		SYM(PURGE)},
495   { "QUARTER",          SYM(QUARTER_SYM)},
496   { "QUERY",		SYM(QUERY_SYM)},
497   { "QUICK",	        SYM(QUICK)},
498   { "RAISE",            SYM(RAISE_MARIADB_SYM)},
499   { "RANGE",            SYM(RANGE_SYM)},
500   { "RAW",              SYM(RAW_MARIADB_SYM)},
501   { "READ",		SYM(READ_SYM)},
502   { "READ_ONLY",	SYM(READ_ONLY_SYM)},
503   { "READ_WRITE",	SYM(READ_WRITE_SYM)},
504   { "READS",		SYM(READS_SYM)},
505   { "REAL",		SYM(REAL)},
506   { "REBUILD",		SYM(REBUILD_SYM)},
507   { "RECOVER",          SYM(RECOVER_SYM)},
508   { "RECURSIVE",        SYM(RECURSIVE_SYM)},
509   { "REDO_BUFFER_SIZE",	SYM(REDO_BUFFER_SIZE_SYM)},
510   { "REDOFILE",         SYM(REDOFILE_SYM)},
511   { "REDUNDANT",	SYM(REDUNDANT_SYM)},
512   { "REFERENCES",	SYM(REFERENCES)},
513   { "REGEXP",		SYM(REGEXP)},
514   { "RELAY",            SYM(RELAY)},
515   { "RELAYLOG",         SYM(RELAYLOG_SYM)},
516   { "RELAY_LOG_FILE",   SYM(RELAY_LOG_FILE_SYM)},
517   { "RELAY_LOG_POS",    SYM(RELAY_LOG_POS_SYM)},
518   { "RELAY_THREAD",     SYM(RELAY_THREAD)},
519   { "RELEASE",		SYM(RELEASE_SYM)},
520   { "RELOAD",		SYM(RELOAD)},
521   { "REMOVE",		SYM(REMOVE_SYM)},
522   { "RENAME",		SYM(RENAME)},
523   { "REORGANIZE",	SYM(REORGANIZE_SYM)},
524   { "REPAIR",		SYM(REPAIR)},
525   { "REPEATABLE",	SYM(REPEATABLE_SYM)},
526   { "REPLACE",		SYM(REPLACE)},
527   { "REPLICATION",	SYM(REPLICATION)},
528   { "REPEAT",           SYM(REPEAT_SYM)},
529   { "REQUIRE",	        SYM(REQUIRE_SYM)},
530   { "RESET",		SYM(RESET_SYM)},
531   { "RESIGNAL",         SYM(RESIGNAL_SYM)},
532   { "RESTART",		SYM(RESTART_SYM)},
533   { "RESTORE",		SYM(RESTORE_SYM)},
534   { "RESTRICT",		SYM(RESTRICT)},
535   { "RESUME",           SYM(RESUME_SYM)},
536   { "RETURNED_SQLSTATE",SYM(RETURNED_SQLSTATE_SYM)},
537   { "RETURN",           SYM(RETURN_MARIADB_SYM)},
538   { "RETURNING",        SYM(RETURNING_SYM)},
539   { "RETURNS",		SYM(RETURNS_SYM)},
540   { "REUSE",            SYM(REUSE_SYM)},
541   { "REVERSE",		SYM(REVERSE_SYM)},
542   { "REVOKE",		SYM(REVOKE)},
543   { "RIGHT",		SYM(RIGHT)},
544   { "RLIKE",		SYM(REGEXP)},	/* Like in mSQL2 */
545   { "ROLE",             SYM(ROLE_SYM)},
546   { "ROLLBACK",		SYM(ROLLBACK_SYM)},
547   { "ROLLUP",		SYM(ROLLUP_SYM)},
548   { "ROUTINE",		SYM(ROUTINE_SYM)},
549   { "ROW",		SYM(ROW_SYM)},
550   { "ROWCOUNT",         SYM(ROWCOUNT_SYM)}, /* Oracle-N */
551   { "ROWS",		SYM(ROWS_SYM)},
552   { "ROWTYPE",          SYM(ROWTYPE_MARIADB_SYM)},
553   { "ROW_COUNT",        SYM(ROW_COUNT_SYM)},
554   { "ROW_FORMAT",	SYM(ROW_FORMAT_SYM)},
555   { "RTREE",		SYM(RTREE_SYM)},
556   { "SAVEPOINT",	SYM(SAVEPOINT_SYM)},
557   { "SCHEDULE",		SYM(SCHEDULE_SYM)},
558   { "SCHEMA",		SYM(DATABASE)},
559   { "SCHEMA_NAME",      SYM(SCHEMA_NAME_SYM)},
560   { "SCHEMAS",          SYM(DATABASES)},
561   { "SECOND",		SYM(SECOND_SYM)},
562   { "SECOND_MICROSECOND", SYM(SECOND_MICROSECOND_SYM)},
563   { "SECURITY",         SYM(SECURITY_SYM)},
564   { "SELECT",		SYM(SELECT_SYM)},
565   { "SENSITIVE",        SYM(SENSITIVE_SYM)},
566   { "SEPARATOR",	SYM(SEPARATOR_SYM)},
567   { "SEQUENCE",		SYM(SEQUENCE_SYM)},
568   { "SERIAL",		SYM(SERIAL_SYM)},
569   { "SERIALIZABLE",	SYM(SERIALIZABLE_SYM)},
570   { "SESSION",		SYM(SESSION_SYM)},
571   { "SERVER",           SYM(SERVER_SYM)},
572   { "SET",		SYM(SET)},
573   { "SETVAL",		SYM(SETVAL_SYM)},
574   { "SHARE",		SYM(SHARE_SYM)},
575   { "SHOW",		SYM(SHOW)},
576   { "SHUTDOWN",		SYM(SHUTDOWN)},
577   { "SIGNAL",           SYM(SIGNAL_SYM)},
578   { "SIGNED",		SYM(SIGNED_SYM)},
579   { "SIMPLE",		SYM(SIMPLE_SYM)},
580   { "SLAVE",            SYM(SLAVE)},
581   { "SLAVES",           SYM(SLAVES)},
582   { "SLAVE_POS",        SYM(SLAVE_POS_SYM)},
583   { "SLOW",             SYM(SLOW)},
584   { "SNAPSHOT",         SYM(SNAPSHOT_SYM)},
585   { "SMALLINT",		SYM(SMALLINT)},
586   { "SOCKET",		SYM(SOCKET_SYM)},
587   { "SOFT",             SYM(SOFT_SYM)},
588   { "SOME",             SYM(ANY_SYM)},
589   { "SONAME",		SYM(SONAME_SYM)},
590   { "SOUNDS",		SYM(SOUNDS_SYM)},
591   { "SOURCE",           SYM(SOURCE_SYM)},
592   { "STORED",           SYM(STORED_SYM)},
593   { "SPATIAL",		SYM(SPATIAL_SYM)},
594   { "SPECIFIC",         SYM(SPECIFIC_SYM)},
595   { "REF_SYSTEM_ID",    SYM(REF_SYSTEM_ID_SYM)},
596   { "SQL",              SYM(SQL_SYM)},
597   { "SQLEXCEPTION",     SYM(SQLEXCEPTION_SYM)},
598   { "SQLSTATE",         SYM(SQLSTATE_SYM)},
599   { "SQLWARNING",       SYM(SQLWARNING_SYM)},
600   { "SQL_BIG_RESULT",	SYM(SQL_BIG_RESULT)},
601   { "SQL_BUFFER_RESULT", SYM(SQL_BUFFER_RESULT)},
602   { "SQL_CACHE",        SYM(SQL_CACHE_SYM)},
603   { "SQL_CALC_FOUND_ROWS", SYM(SQL_CALC_FOUND_ROWS)},
604   { "SQL_NO_CACHE",	SYM(SQL_NO_CACHE_SYM)},
605   { "SQL_SMALL_RESULT", SYM(SQL_SMALL_RESULT)},
606   { "SQL_THREAD",	SYM(SQL_THREAD)},
607   { "SQL_TSI_SECOND",   SYM(SECOND_SYM)},
608   { "SQL_TSI_MINUTE",   SYM(MINUTE_SYM)},
609   { "SQL_TSI_HOUR",     SYM(HOUR_SYM)},
610   { "SQL_TSI_DAY",      SYM(DAY_SYM)},
611   { "SQL_TSI_WEEK",     SYM(WEEK_SYM)},
612   { "SQL_TSI_MONTH",    SYM(MONTH_SYM)},
613   { "SQL_TSI_QUARTER",  SYM(QUARTER_SYM)},
614   { "SQL_TSI_YEAR",     SYM(YEAR_SYM)},
615   { "SSL",		SYM(SSL_SYM)},
616   { "START",		SYM(START_SYM)},
617   { "STARTING",		SYM(STARTING)},
618   { "STARTS",		SYM(STARTS_SYM)},
619   { "STATEMENT",	SYM(STATEMENT_SYM)},
620   { "STATS_AUTO_RECALC",SYM(STATS_AUTO_RECALC_SYM)},
621   { "STATS_PERSISTENT",	SYM(STATS_PERSISTENT_SYM)},
622   { "STATS_SAMPLE_PAGES",SYM(STATS_SAMPLE_PAGES_SYM)},
623   { "STATUS",		SYM(STATUS_SYM)},
624   { "STOP",		SYM(STOP_SYM)},
625   { "STORAGE",		SYM(STORAGE_SYM)},
626   { "STRAIGHT_JOIN",	SYM(STRAIGHT_JOIN)},
627   { "STRING",		SYM(STRING_SYM)},
628   { "SUBCLASS_ORIGIN",  SYM(SUBCLASS_ORIGIN_SYM)},
629   { "SUBJECT",		SYM(SUBJECT_SYM)},
630   { "SUBPARTITION",     SYM(SUBPARTITION_SYM)},
631   { "SUBPARTITIONS",    SYM(SUBPARTITIONS_SYM)},
632   { "SUPER",		SYM(SUPER_SYM)},
633   { "SUSPEND",          SYM(SUSPEND_SYM)},
634   { "SWAPS",      SYM(SWAPS_SYM)},
635   { "SWITCHES",   SYM(SWITCHES_SYM)},
636   { "SYSTEM",     SYM(SYSTEM)},
637   { "SYSTEM_TIME",      SYM(SYSTEM_TIME_SYM)},
638   { "TABLE",		SYM(TABLE_SYM)},
639   { "TABLE_NAME",       SYM(TABLE_NAME_SYM)},
640   { "TABLES",		SYM(TABLES)},
641   { "TABLESPACE",	        SYM(TABLESPACE)},
642   { "TABLE_CHECKSUM",	SYM(TABLE_CHECKSUM_SYM)},
643   { "TEMPORARY",	SYM(TEMPORARY)},
644   { "TEMPTABLE",	SYM(TEMPTABLE_SYM)},
645   { "TERMINATED",	SYM(TERMINATED)},
646   { "TEXT",		SYM(TEXT_SYM)},
647   { "THAN",             SYM(THAN_SYM)},
648   { "THEN",		SYM(THEN_SYM)},
649   { "TIES",             SYM(TIES_SYM)},
650   { "TIME",		SYM(TIME_SYM)},
651   { "TIMESTAMP",	SYM(TIMESTAMP)},
652   { "TIMESTAMPADD",     SYM(TIMESTAMP_ADD)},
653   { "TIMESTAMPDIFF",    SYM(TIMESTAMP_DIFF)},
654   { "TINYBLOB",		SYM(TINYBLOB)},
655   { "TINYINT",		SYM(TINYINT)},
656   { "TINYTEXT",		SYM(TINYTEXT)},
657   { "TO",		SYM(TO_SYM)},
658   { "TRAILING",		SYM(TRAILING)},
659   { "TRANSACTION",	SYM(TRANSACTION_SYM)},
660   { "TRANSACTIONAL",	SYM(TRANSACTIONAL_SYM)},
661   { "TRIGGER",          SYM(TRIGGER_SYM)},
662   { "TRIGGERS",         SYM(TRIGGERS_SYM)},
663   { "TRUE",		SYM(TRUE_SYM)},
664   { "TRUNCATE",		SYM(TRUNCATE_SYM)},
665   { "TYPE",		SYM(TYPE_SYM)},
666   { "TYPES",		SYM(TYPES_SYM)},
667   { "UNBOUNDED",        SYM(UNBOUNDED_SYM)},
668   { "UNCOMMITTED",	SYM(UNCOMMITTED_SYM)},
669   { "UNDEFINED",	SYM(UNDEFINED_SYM)},
670   { "UNDO_BUFFER_SIZE",	SYM(UNDO_BUFFER_SIZE_SYM)},
671   { "UNDOFILE", 	SYM(UNDOFILE_SYM)},
672   { "UNDO",             SYM(UNDO_SYM)},
673   { "UNICODE",	        SYM(UNICODE_SYM)},
674   { "UNION",	        SYM(UNION_SYM)},
675   { "UNIQUE",		SYM(UNIQUE_SYM)},
676   { "UNKNOWN",		SYM(UNKNOWN_SYM)},
677   { "UNLOCK",		SYM(UNLOCK_SYM)},
678   { "UNINSTALL",        SYM(UNINSTALL_SYM)},
679   { "UNSIGNED",		SYM(UNSIGNED)},
680   { "UNTIL",		SYM(UNTIL_SYM)},
681   { "UPDATE",		SYM(UPDATE_SYM)},
682   { "UPGRADE",          SYM(UPGRADE_SYM)},
683   { "USAGE",		SYM(USAGE)},
684   { "USE",		SYM(USE_SYM)},
685   { "USER",		SYM(USER_SYM)},
686   { "USER_RESOURCES",	SYM(RESOURCES)},
687   { "USE_FRM",		SYM(USE_FRM)},
688   { "USING",		SYM(USING)},
689   { "UTC_DATE",         SYM(UTC_DATE_SYM)},
690   { "UTC_TIME",         SYM(UTC_TIME_SYM)},
691   { "UTC_TIMESTAMP",    SYM(UTC_TIMESTAMP_SYM)},
692   { "VALUE",		SYM(VALUE_SYM)},
693   { "VALUES",		SYM(VALUES)},
694   { "VARBINARY",	SYM(VARBINARY)},
695   { "VARCHAR",		SYM(VARCHAR)},
696   { "VARCHARACTER",	SYM(VARCHAR)},
697   { "VARCHAR2",         SYM(VARCHAR2_MARIADB_SYM)},
698   { "VARIABLES",	SYM(VARIABLES)},
699   { "VARYING",		SYM(VARYING)},
700   { "VIA",              SYM(VIA_SYM)},
701   { "VIEW",		SYM(VIEW_SYM)},
702   { "VIRTUAL",          SYM(VIRTUAL_SYM)},
703   { "VERSIONING",       SYM(VERSIONING_SYM)},
704   { "WAIT",		SYM(WAIT_SYM)},
705   { "WARNINGS",		SYM(WARNINGS)},
706   { "WEEK",		SYM(WEEK_SYM)},
707   { "WEIGHT_STRING",	SYM(WEIGHT_STRING_SYM)},
708   { "WHEN",		SYM(WHEN_SYM)},
709   { "WHERE",		SYM(WHERE)},
710   { "WHILE",            SYM(WHILE_SYM)},
711   { "WINDOW",           SYM(WINDOW_SYM)},
712   { "WITH",		SYM(WITH)},
713   { "WITHIN",   SYM(WITHIN)},
714   { "WITHOUT",          SYM(WITHOUT)},
715   { "WORK",		SYM(WORK_SYM)},
716   { "WRAPPER",		SYM(WRAPPER_SYM)},
717   { "WRITE",		SYM(WRITE_SYM)},
718   { "X509",		SYM(X509_SYM)},
719   { "XOR",		SYM(XOR)},
720   { "XA",               SYM(XA_SYM)},
721   { "XML",              SYM(XML_SYM)}, /* LOAD XML Arnold/Erik */
722   { "YEAR",		SYM(YEAR_SYM)},
723   { "YEAR_MONTH",	SYM(YEAR_MONTH_SYM)},
724   { "ZEROFILL",		SYM(ZEROFILL)},
725   { "||",		SYM(OR2_SYM)}
726 };
727 
728 
729 SYMBOL sql_functions[] = {
730   { "ADDDATE",		SYM(ADDDATE_SYM)},
731   { "BIT_AND",		SYM(BIT_AND)},
732   { "BIT_OR",		SYM(BIT_OR)},
733   { "BIT_XOR",		SYM(BIT_XOR)},
734   { "CAST",		SYM(CAST_SYM)},
735   { "COUNT",		SYM(COUNT_SYM)},
736   { "CUME_DIST",        SYM(CUME_DIST_SYM)},
737   { "CURDATE",		SYM(CURDATE)},
738   { "CURTIME",		SYM(CURTIME)},
739   { "DATE_ADD",		SYM(DATE_ADD_INTERVAL)},
740   { "DATE_SUB",		SYM(DATE_SUB_INTERVAL)},
741   { "DATE_FORMAT",      SYM(DATE_FORMAT_SYM)},
742   { "DECODE",           SYM(DECODE_MARIADB_SYM)},
743   { "DENSE_RANK",       SYM(DENSE_RANK_SYM)},
744   { "EXTRACT",		SYM(EXTRACT_SYM)},
745   { "FIRST_VALUE",      SYM(FIRST_VALUE_SYM)},
746   { "GROUP_CONCAT",	SYM(GROUP_CONCAT_SYM)},
747   { "LAG",              SYM(LAG_SYM)},
748   { "LEAD",             SYM(LEAD_SYM)},
749   { "MAX",		SYM(MAX_SYM)},
750   { "MEDIAN", SYM(MEDIAN_SYM)},
751   { "MID",		SYM(SUBSTRING)},	/* unireg function */
752   { "MIN",		SYM(MIN_SYM)},
753   { "NOW",		SYM(NOW_SYM)},
754   { "NTH_VALUE",        SYM(NTH_VALUE_SYM)},
755   { "NTILE",            SYM(NTILE_SYM)},
756   { "POSITION",		SYM(POSITION_SYM)},
757   { "PERCENT_RANK",     SYM(PERCENT_RANK_SYM)},
758   { "PERCENTILE_CONT",  SYM(PERCENTILE_CONT_SYM)},
759   { "PERCENTILE_DISC",  SYM(PERCENTILE_DISC_SYM)},
760   { "RANK",             SYM(RANK_SYM)},
761   { "ROW_NUMBER",       SYM(ROW_NUMBER_SYM)},
762   { "SESSION_USER",     SYM(USER_SYM)},
763   { "STD",		SYM(STD_SYM)},
764   { "STDDEV",		SYM(STD_SYM)},
765   { "STDDEV_POP",	SYM(STD_SYM)},
766   { "STDDEV_SAMP",	SYM(STDDEV_SAMP_SYM)},
767   { "SUBDATE",		SYM(SUBDATE_SYM)},
768   { "SUBSTR",		SYM(SUBSTRING)},
769   { "SUBSTRING",	SYM(SUBSTRING)},
770   { "SUM",		SYM(SUM_SYM)},
771   { "SYSDATE",		SYM(SYSDATE)},
772   { "SYSTEM_USER",      SYM(USER_SYM)},
773   { "TRIM",		SYM(TRIM)},
774   { "TRIM_ORACLE",	SYM(TRIM_ORACLE)},
775   { "VARIANCE",		SYM(VARIANCE_SYM)},
776   { "VAR_POP",		SYM(VARIANCE_SYM)},
777   { "VAR_SAMP",		SYM(VAR_SAMP_SYM)},
778 };
779 
780 size_t symbols_length= sizeof(symbols) / sizeof(SYMBOL);
781 size_t sql_functions_length= sizeof(sql_functions) / sizeof(SYMBOL);
782 
783 #endif /* LEX_INCLUDED */
784