1
/* Copyright (C) 2000-2002 MySQL AB
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software
14
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
17
/* This file includes all reserved words and functions */
19
#include "lex_symbol.h"
21
SYM_GROUP sym_group_common= {"", ""};
23
/* We don't want to include sql_yacc.h into gen_lex_hash */
24
#ifdef NO_YACC_SYMBOLS
25
#define SYM_OR_NULL(A) 0
27
#define SYM_OR_NULL(A) A
30
#define SYM(A) SYM_OR_NULL(A),0,&sym_group_common
33
Symbols are broken into separated arrays to allow field names with
34
same name as functions.
35
These are kept sorted for human lookup (the symbols are hashed).
37
NOTE! The symbol tables should be the same regardless of what features
38
are compiled into the server. Don't add ifdef'ed symbols to the
42
static SYMBOL symbols[] = {
43
{ "&&", SYM(AND_AND_SYM)},
51
{ "<<", SYM(SHIFT_LEFT)},
52
{ ">>", SYM(SHIFT_RIGHT)},
53
{ "<=>", SYM(EQUAL_SYM)},
54
{ "ACCESSIBLE", SYM(ACCESSIBLE_SYM)},
55
{ "ACTION", SYM(ACTION)},
57
{ "AFTER", SYM(AFTER_SYM)},
58
{ "AGGREGATE", SYM(AGGREGATE_SYM)},
60
{ "ALGORITHM", SYM(ALGORITHM_SYM)},
61
{ "ALTER", SYM(ALTER)},
62
{ "ANALYZE", SYM(ANALYZE_SYM)},
63
{ "AND", SYM(AND_SYM)},
64
{ "ANY", SYM(ANY_SYM)},
67
{ "ASCII", SYM(ASCII_SYM)},
68
{ "ASENSITIVE", SYM(ASENSITIVE_SYM)},
70
{ "AUTHORS", SYM(AUTHORS_SYM)},
71
{ "AUTO_INCREMENT", SYM(AUTO_INC)},
72
{ "AUTOEXTEND_SIZE", SYM(AUTOEXTEND_SIZE_SYM)},
73
{ "AVG", SYM(AVG_SYM)},
74
{ "AVG_ROW_LENGTH", SYM(AVG_ROW_LENGTH)},
75
{ "BEFORE", SYM(BEFORE_SYM)},
76
{ "BEGIN", SYM(BEGIN_SYM)},
77
{ "BETWEEN", SYM(BETWEEN_SYM)},
78
{ "BIGINT", SYM(BIGINT)},
79
{ "BINARY", SYM(BINARY)},
80
{ "BINLOG", SYM(BINLOG_SYM)},
81
{ "BIT", SYM(BIT_SYM)},
82
{ "BLOB", SYM(BLOB_SYM)},
83
{ "BLOCK", SYM(BLOCK_SYM)},
84
{ "BOOL", SYM(BOOL_SYM)},
85
{ "BOOLEAN", SYM(BOOLEAN_SYM)},
87
{ "BTREE", SYM(BTREE_SYM)},
89
{ "BYTE", SYM(BYTE_SYM)},
90
{ "CACHE", SYM(CACHE_SYM)},
91
{ "CALL", SYM(CALL_SYM)},
92
{ "CASCADE", SYM(CASCADE)},
93
{ "CASCADED", SYM(CASCADED)},
94
{ "CASE", SYM(CASE_SYM)},
95
{ "CHAIN", SYM(CHAIN_SYM)},
96
{ "CHANGE", SYM(CHANGE)},
97
{ "CHANGED", SYM(CHANGED)},
98
{ "CHAR", SYM(CHAR_SYM)},
99
{ "CHARACTER", SYM(CHAR_SYM)},
100
{ "CHARSET", SYM(CHARSET)},
101
{ "CHECK", SYM(CHECK_SYM)},
102
{ "CHECKSUM", SYM(CHECKSUM_SYM)},
103
{ "CIPHER", SYM(CIPHER_SYM)},
104
{ "CLIENT", SYM(CLIENT_SYM)},
105
{ "CLOSE", SYM(CLOSE_SYM)},
106
{ "COALESCE", SYM(COALESCE)},
107
{ "CODE", SYM(CODE_SYM)},
108
{ "COLLATE", SYM(COLLATE_SYM)},
109
{ "COLLATION", SYM(COLLATION_SYM)},
110
{ "COLUMN", SYM(COLUMN_SYM)},
111
{ "COLUMNS", SYM(COLUMNS)},
112
{ "COMMENT", SYM(COMMENT_SYM)},
113
{ "COMMIT", SYM(COMMIT_SYM)},
114
{ "COMMITTED", SYM(COMMITTED_SYM)},
115
{ "COMPACT", SYM(COMPACT_SYM)},
116
{ "COMPLETION", SYM(COMPLETION_SYM)},
117
{ "COMPRESSED", SYM(COMPRESSED_SYM)},
118
{ "CONCURRENT", SYM(CONCURRENT)},
119
{ "CONDITION", SYM(CONDITION_SYM)},
120
{ "CONNECTION", SYM(CONNECTION_SYM)},
121
{ "CONSISTENT", SYM(CONSISTENT_SYM)},
122
{ "CONSTRAINT", SYM(CONSTRAINT)},
123
{ "CONTAINS", SYM(CONTAINS_SYM)},
124
{ "CONTEXT", SYM(CONTEXT_SYM)},
125
{ "CONTINUE", SYM(CONTINUE_SYM)},
126
{ "CONTRIBUTORS", SYM(CONTRIBUTORS_SYM)},
127
{ "CONVERT", SYM(CONVERT_SYM)},
128
{ "CPU", SYM(CPU_SYM)},
129
{ "CREATE", SYM(CREATE)},
130
{ "CROSS", SYM(CROSS)},
131
{ "CUBE", SYM(CUBE_SYM)},
132
{ "CURRENT_DATE", SYM(CURDATE)},
133
{ "CURRENT_TIME", SYM(CURTIME)},
134
{ "CURRENT_TIMESTAMP", SYM(NOW_SYM)},
135
{ "CURRENT_USER", SYM(CURRENT_USER)},
136
{ "CURSOR", SYM(CURSOR_SYM)},
137
{ "DATA", SYM(DATA_SYM)},
138
{ "DATABASE", SYM(DATABASE)},
139
{ "DATABASES", SYM(DATABASES)},
140
{ "DATAFILE", SYM(DATAFILE_SYM)},
141
{ "DATE", SYM(DATE_SYM)},
142
{ "DATETIME", SYM(DATETIME)},
143
{ "DAY", SYM(DAY_SYM)},
144
{ "DAY_HOUR", SYM(DAY_HOUR_SYM)},
145
{ "DAY_MICROSECOND", SYM(DAY_MICROSECOND_SYM)},
146
{ "DAY_MINUTE", SYM(DAY_MINUTE_SYM)},
147
{ "DAY_SECOND", SYM(DAY_SECOND_SYM)},
148
{ "DEALLOCATE", SYM(DEALLOCATE_SYM)},
149
{ "DEC", SYM(DECIMAL_SYM)},
150
{ "DECIMAL", SYM(DECIMAL_SYM)},
151
{ "DECLARE", SYM(DECLARE_SYM)},
152
{ "DEFAULT", SYM(DEFAULT)},
153
{ "DEFINER", SYM(DEFINER_SYM)},
154
{ "DELAYED", SYM(DELAYED_SYM)},
155
{ "DELAY_KEY_WRITE", SYM(DELAY_KEY_WRITE_SYM)},
156
{ "DELETE", SYM(DELETE_SYM)},
157
{ "DESC", SYM(DESC)},
158
{ "DESCRIBE", SYM(DESCRIBE)},
159
{ "DES_KEY_FILE", SYM(DES_KEY_FILE)},
160
{ "DETERMINISTIC", SYM(DETERMINISTIC_SYM)},
161
{ "DIRECTORY", SYM(DIRECTORY_SYM)},
162
{ "DISABLE", SYM(DISABLE_SYM)},
163
{ "DISCARD", SYM(DISCARD)},
164
{ "DISK", SYM(DISK_SYM)},
165
{ "DISTINCT", SYM(DISTINCT)},
166
{ "DISTINCTROW", SYM(DISTINCT)}, /* Access likes this */
167
{ "DIV", SYM(DIV_SYM)},
168
{ "DOUBLE", SYM(DOUBLE_SYM)},
169
{ "DROP", SYM(DROP)},
170
{ "DUMPFILE", SYM(DUMPFILE)},
171
{ "DUPLICATE", SYM(DUPLICATE_SYM)},
172
{ "DYNAMIC", SYM(DYNAMIC_SYM)},
173
{ "EACH", SYM(EACH_SYM)},
174
{ "ELSE", SYM(ELSE)},
175
{ "ELSEIF", SYM(ELSEIF_SYM)},
176
{ "ENABLE", SYM(ENABLE_SYM)},
177
{ "ENCLOSED", SYM(ENCLOSED)},
179
{ "ENDS", SYM(ENDS_SYM)},
180
{ "ENGINE", SYM(ENGINE_SYM)},
181
{ "ENGINES", SYM(ENGINES_SYM)},
182
{ "ENUM", SYM(ENUM)},
183
{ "ERRORS", SYM(ERRORS)},
184
{ "ESCAPE", SYM(ESCAPE_SYM)},
185
{ "ESCAPED", SYM(ESCAPED)},
186
{ "EVENTS", SYM(EVENTS_SYM)},
187
{ "EVERY", SYM(EVERY_SYM)},
188
{ "EXCLUSIVE", SYM(EXCLUSIVE_SYM)},
189
{ "EXISTS", SYM(EXISTS)},
190
{ "EXIT", SYM(EXIT_SYM)},
191
{ "EXPLAIN", SYM(DESCRIBE)},
192
{ "EXTENDED", SYM(EXTENDED_SYM)},
193
{ "EXTENT_SIZE", SYM(EXTENT_SIZE_SYM)},
194
{ "FALSE", SYM(FALSE_SYM)},
195
{ "FAST", SYM(FAST_SYM)},
196
{ "FAULTS", SYM(FAULTS_SYM)},
197
{ "FETCH", SYM(FETCH_SYM)},
198
{ "COLUMN_FORMAT", SYM(COLUMN_FORMAT_SYM)},
199
{ "FIELDS", SYM(COLUMNS)},
200
{ "FILE", SYM(FILE_SYM)},
201
{ "FIRST", SYM(FIRST_SYM)},
202
{ "FIXED", SYM(FIXED_SYM)},
203
{ "FLOAT", SYM(FLOAT_SYM)},
204
{ "FLOAT4", SYM(FLOAT_SYM)},
205
{ "FLOAT8", SYM(DOUBLE_SYM)},
206
{ "FLUSH", SYM(FLUSH_SYM)},
207
{ "FOR", SYM(FOR_SYM)},
208
{ "FORCE", SYM(FORCE_SYM)},
209
{ "FOREIGN", SYM(FOREIGN)},
210
{ "FOUND", SYM(FOUND_SYM)},
211
{ "FRAC_SECOND", SYM(FRAC_SECOND_SYM)},
212
{ "FROM", SYM(FROM)},
213
{ "FULL", SYM(FULL)},
214
{ "FUNCTION", SYM(FUNCTION_SYM)},
215
{ "GET_FORMAT", SYM(GET_FORMAT)},
216
{ "GLOBAL", SYM(GLOBAL_SYM)},
217
{ "GROUP", SYM(GROUP_SYM)},
218
{ "HANDLER", SYM(HANDLER_SYM)},
219
{ "HASH", SYM(HASH_SYM)},
220
{ "HAVING", SYM(HAVING)},
221
{ "HIGH_PRIORITY", SYM(HIGH_PRIORITY)},
222
{ "HOST", SYM(HOST_SYM)},
223
{ "HOSTS", SYM(HOSTS_SYM)},
224
{ "HOUR", SYM(HOUR_SYM)},
225
{ "HOUR_MICROSECOND", SYM(HOUR_MICROSECOND_SYM)},
226
{ "HOUR_MINUTE", SYM(HOUR_MINUTE_SYM)},
227
{ "HOUR_SECOND", SYM(HOUR_SECOND_SYM)},
228
{ "IDENTIFIED", SYM(IDENTIFIED_SYM)},
230
{ "IGNORE", SYM(IGNORE_SYM)},
231
{ "IMPORT", SYM(IMPORT)},
232
{ "IN", SYM(IN_SYM)},
233
{ "INDEX", SYM(INDEX_SYM)},
234
{ "INDEXES", SYM(INDEXES)},
235
{ "INFILE", SYM(INFILE)},
236
{ "INITIAL_SIZE", SYM(INITIAL_SIZE_SYM)},
237
{ "INNER", SYM(INNER_SYM)},
238
{ "INOUT", SYM(INOUT_SYM)},
239
{ "INSENSITIVE", SYM(INSENSITIVE_SYM)},
240
{ "INSERT", SYM(INSERT)},
241
{ "INSERT_METHOD", SYM(INSERT_METHOD)},
242
{ "INSTALL", SYM(INSTALL_SYM)},
243
{ "INT", SYM(INT_SYM)},
244
{ "INT1", SYM(TINYINT)},
245
{ "INT2", SYM(SMALLINT)},
246
{ "INT3", SYM(MEDIUMINT)},
247
{ "INT4", SYM(INT_SYM)},
248
{ "INT8", SYM(BIGINT)},
249
{ "INTEGER", SYM(INT_SYM)},
250
{ "INTERVAL", SYM(INTERVAL_SYM)},
251
{ "INTO", SYM(INTO)},
252
{ "IO", SYM(IO_SYM)},
253
{ "IO_THREAD", SYM(RELAY_THREAD)},
254
{ "IPC", SYM(IPC_SYM)},
256
{ "ISOLATION", SYM(ISOLATION)},
257
{ "ISSUER", SYM(ISSUER_SYM)},
258
{ "ITERATE", SYM(ITERATE_SYM)},
259
{ "JOIN", SYM(JOIN_SYM)},
260
{ "KEY", SYM(KEY_SYM)},
261
{ "KEYS", SYM(KEYS)},
262
{ "KEY_BLOCK_SIZE", SYM(KEY_BLOCK_SIZE)},
263
{ "KILL", SYM(KILL_SYM)},
264
{ "LAST", SYM(LAST_SYM)},
265
{ "LEADING", SYM(LEADING)},
266
{ "LEAVES", SYM(LEAVES)},
267
{ "LEFT", SYM(LEFT)},
268
{ "LEVEL", SYM(LEVEL_SYM)},
269
{ "LIKE", SYM(LIKE)},
270
{ "LIMIT", SYM(LIMIT)},
271
{ "LINEAR", SYM(LINEAR_SYM)},
272
{ "LIST", SYM(LIST_SYM)},
273
{ "LOAD", SYM(LOAD)},
274
{ "LOCAL", SYM(LOCAL_SYM)},
275
{ "LOCALTIME", SYM(NOW_SYM)},
276
{ "LOCALTIMESTAMP", SYM(NOW_SYM)},
277
{ "LOCK", SYM(LOCK_SYM)},
278
{ "LOCKS", SYM(LOCKS_SYM)},
279
{ "LOGFILE", SYM(LOGFILE_SYM)},
280
{ "LOGS", SYM(LOGS_SYM)},
281
{ "LONG", SYM(LONG_SYM)},
282
{ "LONGBLOB", SYM(LONGBLOB)},
283
{ "LONGTEXT", SYM(LONGTEXT)},
284
{ "LOOP", SYM(LOOP_SYM)},
285
{ "LOW_PRIORITY", SYM(LOW_PRIORITY)},
286
{ "MASTER", SYM(MASTER_SYM)},
287
{ "MASTER_CONNECT_RETRY", SYM(MASTER_CONNECT_RETRY_SYM)},
288
{ "MASTER_HOST", SYM(MASTER_HOST_SYM)},
289
{ "MASTER_LOG_FILE", SYM(MASTER_LOG_FILE_SYM)},
290
{ "MASTER_LOG_POS", SYM(MASTER_LOG_POS_SYM)},
291
{ "MASTER_PASSWORD", SYM(MASTER_PASSWORD_SYM)},
292
{ "MASTER_PORT", SYM(MASTER_PORT_SYM)},
293
{ "MASTER_SERVER_ID", SYM(MASTER_SERVER_ID_SYM)},
294
{ "MASTER_USER", SYM(MASTER_USER_SYM)},
295
{ "MASTER_HEARTBEAT_PERIOD", SYM(MASTER_HEARTBEAT_PERIOD_SYM)},
296
{ "MATCH", SYM(MATCH)},
297
{ "MAX_CONNECTIONS_PER_HOUR", SYM(MAX_CONNECTIONS_PER_HOUR)},
298
{ "MAX_QUERIES_PER_HOUR", SYM(MAX_QUERIES_PER_HOUR)},
299
{ "MAX_ROWS", SYM(MAX_ROWS)},
300
{ "MAX_SIZE", SYM(MAX_SIZE_SYM)},
301
{ "MAX_UPDATES_PER_HOUR", SYM(MAX_UPDATES_PER_HOUR)},
302
{ "MAX_USER_CONNECTIONS", SYM(MAX_USER_CONNECTIONS_SYM)},
303
{ "MAXVALUE", SYM(MAX_VALUE_SYM)},
304
{ "MEDIUM", SYM(MEDIUM_SYM)},
305
{ "MEDIUMBLOB", SYM(MEDIUMBLOB)},
306
{ "MEDIUMINT", SYM(MEDIUMINT)},
307
{ "MEDIUMTEXT", SYM(MEDIUMTEXT)},
308
{ "MEMORY", SYM(MEMORY_SYM)},
309
{ "MERGE", SYM(MERGE_SYM)},
310
{ "MICROSECOND", SYM(MICROSECOND_SYM)},
311
{ "MIDDLEINT", SYM(MEDIUMINT)}, /* For powerbuilder */
312
{ "MIGRATE", SYM(MIGRATE_SYM)},
313
{ "MINUTE", SYM(MINUTE_SYM)},
314
{ "MINUTE_MICROSECOND", SYM(MINUTE_MICROSECOND_SYM)},
315
{ "MINUTE_SECOND", SYM(MINUTE_SECOND_SYM)},
316
{ "MIN_ROWS", SYM(MIN_ROWS)},
317
{ "MOD", SYM(MOD_SYM)},
318
{ "MODE", SYM(MODE_SYM)},
319
{ "MODIFIES", SYM(MODIFIES_SYM)},
320
{ "MODIFY", SYM(MODIFY_SYM)},
321
{ "MONTH", SYM(MONTH_SYM)},
322
{ "MUTEX", SYM(MUTEX_SYM)},
323
{ "NAME", SYM(NAME_SYM)},
324
{ "NAMES", SYM(NAMES_SYM)},
325
{ "NATIONAL", SYM(NATIONAL_SYM)},
326
{ "NATURAL", SYM(NATURAL)},
327
{ "NCHAR", SYM(NCHAR_SYM)},
328
{ "NEW", SYM(NEW_SYM)},
329
{ "NEXT", SYM(NEXT_SYM)},
330
{ "NO", SYM(NO_SYM)},
331
{ "NO_WAIT", SYM(NO_WAIT_SYM)},
332
{ "NODEGROUP", SYM(NODEGROUP_SYM)},
333
{ "NONE", SYM(NONE_SYM)},
334
{ "NOT", SYM(NOT_SYM)},
335
{ "NOWAIT", SYM(NOWAIT_SYM)},
336
{ "NO_WRITE_TO_BINLOG", SYM(NO_WRITE_TO_BINLOG)},
337
{ "NULL", SYM(NULL_SYM)},
338
{ "NUMERIC", SYM(NUMERIC_SYM)},
339
{ "NVARCHAR", SYM(NVARCHAR_SYM)},
340
{ "OFFLINE", SYM(OFFLINE_SYM)},
341
{ "OFFSET", SYM(OFFSET_SYM)},
342
{ "OLD_PASSWORD", SYM(OLD_PASSWORD)},
344
{ "ONE", SYM(ONE_SYM)},
345
{ "ONLINE", SYM(ONLINE_SYM)},
346
{ "ONE_SHOT", SYM(ONE_SHOT_SYM)},
347
{ "OPEN", SYM(OPEN_SYM)},
348
{ "OPTIMIZE", SYM(OPTIMIZE)},
349
{ "OPTIONS", SYM(OPTIONS_SYM)},
350
{ "OPTION", SYM(OPTION)},
351
{ "OPTIONALLY", SYM(OPTIONALLY)},
352
{ "OR", SYM(OR_SYM)},
353
{ "ORDER", SYM(ORDER_SYM)},
354
{ "OUT", SYM(OUT_SYM)},
355
{ "OUTER", SYM(OUTER)},
356
{ "OUTFILE", SYM(OUTFILE)},
357
{ "PACK_KEYS", SYM(PACK_KEYS_SYM)},
358
{ "PAGE", SYM(PAGE_SYM)},
359
{ "PAGE_CHECKSUM", SYM(PAGE_CHECKSUM_SYM)},
360
{ "PARTIAL", SYM(PARTIAL)},
361
{ "PASSWORD", SYM(PASSWORD)},
362
{ "PHASE", SYM(PHASE_SYM)},
363
{ "PLUGIN", SYM(PLUGIN_SYM)},
364
{ "PLUGINS", SYM(PLUGINS_SYM)},
365
{ "PORT", SYM(PORT_SYM)},
366
{ "PRECISION", SYM(PRECISION)},
367
{ "PREV", SYM(PREV_SYM)},
368
{ "PRIMARY", SYM(PRIMARY_SYM)},
369
{ "PROCESS" , SYM(PROCESS)},
370
{ "PROCESSLIST", SYM(PROCESSLIST_SYM)},
371
{ "PROFILE", SYM(PROFILE_SYM)},
372
{ "PROFILES", SYM(PROFILES_SYM)},
373
{ "PURGE", SYM(PURGE)},
374
{ "QUARTER", SYM(QUARTER_SYM)},
375
{ "QUERY", SYM(QUERY_SYM)},
376
{ "QUICK", SYM(QUICK)},
377
{ "RANGE", SYM(RANGE_SYM)},
378
{ "READ", SYM(READ_SYM)},
379
{ "READ_ONLY", SYM(READ_ONLY_SYM)},
380
{ "READ_WRITE", SYM(READ_WRITE_SYM)},
381
{ "READS", SYM(READS_SYM)},
382
{ "REAL", SYM(REAL)},
383
{ "REBUILD", SYM(REBUILD_SYM)},
384
{ "RECOVER", SYM(RECOVER_SYM)},
385
{ "REDO_BUFFER_SIZE", SYM(REDO_BUFFER_SIZE_SYM)},
386
{ "REDOFILE", SYM(REDOFILE_SYM)},
387
{ "REDUNDANT", SYM(REDUNDANT_SYM)},
388
{ "REFERENCES", SYM(REFERENCES)},
389
{ "RELAY_LOG_FILE", SYM(RELAY_LOG_FILE_SYM)},
390
{ "RELAY_LOG_POS", SYM(RELAY_LOG_POS_SYM)},
391
{ "RELAY_THREAD", SYM(RELAY_THREAD)},
392
{ "RELEASE", SYM(RELEASE_SYM)},
393
{ "RELOAD", SYM(RELOAD)},
394
{ "REMOVE", SYM(REMOVE_SYM)},
395
{ "RENAME", SYM(RENAME)},
396
{ "REORGANIZE", SYM(REORGANIZE_SYM)},
397
{ "REPAIR", SYM(REPAIR)},
398
{ "REPEATABLE", SYM(REPEATABLE_SYM)},
399
{ "REPLACE", SYM(REPLACE)},
400
{ "REPLICATION", SYM(REPLICATION)},
401
{ "REPEAT", SYM(REPEAT_SYM)},
402
{ "REQUIRE", SYM(REQUIRE_SYM)},
403
{ "RESET", SYM(RESET_SYM)},
404
{ "RESTRICT", SYM(RESTRICT)},
405
{ "RESUME", SYM(RESUME_SYM)},
406
{ "RETURN", SYM(RETURN_SYM)},
407
{ "RETURNS", SYM(RETURNS_SYM)},
408
{ "REVERSE", SYM(REVERSE_SYM)},
409
{ "REVOKE", SYM(REVOKE)},
410
{ "RIGHT", SYM(RIGHT)},
411
{ "ROLLBACK", SYM(ROLLBACK_SYM)},
412
{ "ROLLUP", SYM(ROLLUP_SYM)},
413
{ "ROUTINE", SYM(ROUTINE_SYM)},
414
{ "ROW", SYM(ROW_SYM)},
415
{ "ROWS", SYM(ROWS_SYM)},
416
{ "ROW_FORMAT", SYM(ROW_FORMAT_SYM)},
417
{ "SAVEPOINT", SYM(SAVEPOINT_SYM)},
418
{ "SCHEMA", SYM(DATABASE)},
419
{ "SCHEMAS", SYM(DATABASES)},
420
{ "SECOND", SYM(SECOND_SYM)},
421
{ "SECOND_MICROSECOND", SYM(SECOND_MICROSECOND_SYM)},
422
{ "SECURITY", SYM(SECURITY_SYM)},
423
{ "SELECT", SYM(SELECT_SYM)},
424
{ "SENSITIVE", SYM(SENSITIVE_SYM)},
425
{ "SEPARATOR", SYM(SEPARATOR_SYM)},
426
{ "SERIAL", SYM(SERIAL_SYM)},
427
{ "SERIALIZABLE", SYM(SERIALIZABLE_SYM)},
428
{ "SESSION", SYM(SESSION_SYM)},
429
{ "SERVER", SYM(SERVER_SYM)},
431
{ "SHARE", SYM(SHARE_SYM)},
432
{ "SHOW", SYM(SHOW)},
433
{ "SHUTDOWN", SYM(SHUTDOWN)},
434
{ "SIGNED", SYM(SIGNED_SYM)},
435
{ "SIMPLE", SYM(SIMPLE_SYM)},
436
{ "SLAVE", SYM(SLAVE)},
437
{ "SNAPSHOT", SYM(SNAPSHOT_SYM)},
438
{ "SMALLINT", SYM(SMALLINT)},
439
{ "SOCKET", SYM(SOCKET_SYM)},
440
{ "SOME", SYM(ANY_SYM)},
441
{ "SONAME", SYM(SONAME_SYM)},
442
{ "SOURCE", SYM(SOURCE_SYM)},
443
{ "SPECIFIC", SYM(SPECIFIC_SYM)},
444
{ "SQL", SYM(SQL_SYM)},
445
{ "SQLEXCEPTION", SYM(SQLEXCEPTION_SYM)},
446
{ "SQLSTATE", SYM(SQLSTATE_SYM)},
447
{ "SQLWARNING", SYM(SQLWARNING_SYM)},
448
{ "SQL_BIG_RESULT", SYM(SQL_BIG_RESULT)},
449
{ "SQL_BUFFER_RESULT", SYM(SQL_BUFFER_RESULT)},
450
{ "SQL_CALC_FOUND_ROWS", SYM(SQL_CALC_FOUND_ROWS)},
451
{ "SQL_SMALL_RESULT", SYM(SQL_SMALL_RESULT)},
452
{ "SQL_THREAD", SYM(SQL_THREAD)},
453
{ "SQL_TSI_FRAC_SECOND", SYM(FRAC_SECOND_SYM)},
454
{ "SQL_TSI_SECOND", SYM(SECOND_SYM)},
455
{ "SQL_TSI_MINUTE", SYM(MINUTE_SYM)},
456
{ "SQL_TSI_HOUR", SYM(HOUR_SYM)},
457
{ "SQL_TSI_DAY", SYM(DAY_SYM)},
458
{ "SQL_TSI_WEEK", SYM(WEEK_SYM)},
459
{ "SQL_TSI_MONTH", SYM(MONTH_SYM)},
460
{ "SQL_TSI_QUARTER", SYM(QUARTER_SYM)},
461
{ "SQL_TSI_YEAR", SYM(YEAR_SYM)},
462
{ "START", SYM(START_SYM)},
463
{ "STARTING", SYM(STARTING)},
464
{ "STARTS", SYM(STARTS_SYM)},
465
{ "STATUS", SYM(STATUS_SYM)},
466
{ "STOP", SYM(STOP_SYM)},
467
{ "STORAGE", SYM(STORAGE_SYM)},
468
{ "STRAIGHT_JOIN", SYM(STRAIGHT_JOIN)},
469
{ "STRING", SYM(STRING_SYM)},
470
{ "SUBJECT", SYM(SUBJECT_SYM)},
471
{ "SUPER", SYM(SUPER_SYM)},
472
{ "SUSPEND", SYM(SUSPEND_SYM)},
473
{ "SWAPS", SYM(SWAPS_SYM)},
474
{ "SWITCHES", SYM(SWITCHES_SYM)},
475
{ "TABLE", SYM(TABLE_SYM)},
476
{ "TABLES", SYM(TABLES)},
477
{ "TABLESPACE", SYM(TABLESPACE)},
478
{ "TABLE_CHECKSUM", SYM(TABLE_CHECKSUM_SYM)},
479
{ "TEMPORARY", SYM(TEMPORARY)},
480
{ "TEMPTABLE", SYM(TEMPTABLE_SYM)},
481
{ "TERMINATED", SYM(TERMINATED)},
482
{ "TEXT", SYM(TEXT_SYM)},
483
{ "THAN", SYM(THAN_SYM)},
484
{ "THEN", SYM(THEN_SYM)},
485
{ "TIME", SYM(TIME_SYM)},
486
{ "TIMESTAMP", SYM(TIMESTAMP)},
487
{ "TIMESTAMPADD", SYM(TIMESTAMP_ADD)},
488
{ "TIMESTAMPDIFF", SYM(TIMESTAMP_DIFF)},
489
{ "TINYBLOB", SYM(TINYBLOB)},
490
{ "TINYINT", SYM(TINYINT)},
491
{ "TINYTEXT", SYM(TINYTEXT)},
492
{ "TO", SYM(TO_SYM)},
493
{ "TRAILING", SYM(TRAILING)},
494
{ "TRANSACTION", SYM(TRANSACTION_SYM)},
495
{ "TRANSACTIONAL", SYM(TRANSACTIONAL_SYM)},
496
{ "TRUE", SYM(TRUE_SYM)},
497
{ "TRUNCATE", SYM(TRUNCATE_SYM)},
498
{ "TYPE", SYM(TYPE_SYM)},
499
{ "TYPES", SYM(TYPES_SYM)},
500
{ "UNCOMMITTED", SYM(UNCOMMITTED_SYM)},
501
{ "UNDEFINED", SYM(UNDEFINED_SYM)},
502
{ "UNDO_BUFFER_SIZE", SYM(UNDO_BUFFER_SIZE_SYM)},
503
{ "UNDOFILE", SYM(UNDOFILE_SYM)},
504
{ "UNDO", SYM(UNDO_SYM)},
505
{ "UNICODE", SYM(UNICODE_SYM)},
506
{ "UNION", SYM(UNION_SYM)},
507
{ "UNIQUE", SYM(UNIQUE_SYM)},
508
{ "UNKNOWN", SYM(UNKNOWN_SYM)},
509
{ "UNLOCK", SYM(UNLOCK_SYM)},
510
{ "UNINSTALL", SYM(UNINSTALL_SYM)},
511
{ "UNSIGNED", SYM(UNSIGNED)},
512
{ "UNTIL", SYM(UNTIL_SYM)},
513
{ "UPDATE", SYM(UPDATE_SYM)},
514
{ "UPGRADE", SYM(UPGRADE_SYM)},
515
{ "USAGE", SYM(USAGE)},
516
{ "USE", SYM(USE_SYM)},
517
{ "USER", SYM(USER)},
518
{ "USER_RESOURCES", SYM(RESOURCES)},
519
{ "USE_FRM", SYM(USE_FRM)},
520
{ "USING", SYM(USING)},
521
{ "UTC_DATE", SYM(UTC_DATE_SYM)},
522
{ "UTC_TIME", SYM(UTC_TIME_SYM)},
523
{ "UTC_TIMESTAMP", SYM(UTC_TIMESTAMP_SYM)},
524
{ "VALUE", SYM(VALUE_SYM)},
525
{ "VALUES", SYM(VALUES)},
526
{ "VARBINARY", SYM(VARBINARY)},
527
{ "VARCHAR", SYM(VARCHAR)},
528
{ "VARCHARACTER", SYM(VARCHAR)},
529
{ "VARIABLES", SYM(VARIABLES)},
530
{ "VARYING", SYM(VARYING)},
531
{ "WAIT", SYM(WAIT_SYM)},
532
{ "WARNINGS", SYM(WARNINGS)},
533
{ "WEEK", SYM(WEEK_SYM)},
534
{ "WEIGHT_STRING", SYM(WEIGHT_STRING_SYM)},
535
{ "WHEN", SYM(WHEN_SYM)},
536
{ "WHERE", SYM(WHERE)},
537
{ "WITH", SYM(WITH)},
538
{ "WORK", SYM(WORK_SYM)},
539
{ "WRAPPER", SYM(WRAPPER_SYM)},
540
{ "WRITE", SYM(WRITE_SYM)},
542
{ "XML", SYM(XML_SYM)}, /* LOAD XML Arnold/Erik */
543
{ "YEAR", SYM(YEAR_SYM)},
544
{ "YEAR_MONTH", SYM(YEAR_MONTH_SYM)},
545
{ "ZEROFILL", SYM(ZEROFILL)},
549
static SYMBOL sql_functions[] = {
550
{ "ADDDATE", SYM(ADDDATE_SYM)},
551
{ "BIT_AND", SYM(BIT_AND)},
552
{ "BIT_OR", SYM(BIT_OR)},
553
{ "BIT_XOR", SYM(BIT_XOR)},
554
{ "CAST", SYM(CAST_SYM)},
555
{ "COUNT", SYM(COUNT_SYM)},
556
{ "CURDATE", SYM(CURDATE)},
557
{ "CURTIME", SYM(CURTIME)},
558
{ "DATE_ADD", SYM(DATE_ADD_INTERVAL)},
559
{ "DATE_SUB", SYM(DATE_SUB_INTERVAL)},
560
{ "EXTRACT", SYM(EXTRACT_SYM)},
561
{ "GROUP_CONCAT", SYM(GROUP_CONCAT_SYM)},
562
{ "MAX", SYM(MAX_SYM)},
563
{ "MID", SYM(SUBSTRING)}, /* unireg function */
564
{ "MIN", SYM(MIN_SYM)},
565
{ "NOW", SYM(NOW_SYM)},
566
{ "POSITION", SYM(POSITION_SYM)},
567
{ "SESSION_USER", SYM(USER)},
568
{ "STD", SYM(STD_SYM)},
569
{ "STDDEV", SYM(STD_SYM)},
570
{ "STDDEV_POP", SYM(STD_SYM)},
571
{ "STDDEV_SAMP", SYM(STDDEV_SAMP_SYM)},
572
{ "SUBDATE", SYM(SUBDATE_SYM)},
573
{ "SUBSTR", SYM(SUBSTRING)},
574
{ "SUBSTRING", SYM(SUBSTRING)},
575
{ "SUM", SYM(SUM_SYM)},
576
{ "SYSDATE", SYM(SYSDATE)},
577
{ "SYSTEM_USER", SYM(USER)},
578
{ "TRIM", SYM(TRIM)},
579
{ "VARIANCE", SYM(VARIANCE_SYM)},
580
{ "VAR_POP", SYM(VARIANCE_SYM)},
581
{ "VAR_SAMP", SYM(VAR_SAMP_SYM)},