~drizzle-trunk/drizzle/development

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