~drizzle-trunk/drizzle/development

779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
1
%{
390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
2
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
3
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
 *
5
 *  Copyright (C) 2008 Sun Microsystems
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
13
 *  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-1301  USA
19
 */
1 by brian
clean slate
20
21
779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
22
/* This file includes all reserved words */
1 by brian
clean slate
23
779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
24
#include <drizzled/sql_yacc.h>
584.1.15 by Monty Taylor
The mega-patch from hell. Renamed sql_class to session (since that's what it is) and removed it and field and table from common_includes.
25
#include <drizzled/lex_symbol.h>
1 by brian
clean slate
26
27
/*
28
  Symbols are broken into separated arrays to allow field names with
29
  same name as functions.
30
  These are kept sorted for human lookup (the symbols are hashed).
31
32
  NOTE! The symbol tables should be the same regardless of what features
33
  are compiled into the server. Don't add ifdef'ed symbols to the
34
  lists
35
*/
779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
36
%}
37
struct st_symbol
38
{
39
  const char *name;
40
  unsigned int  tok;
41
};
42
%%
43
<, LT
44
<=, LE
45
<>, NE
46
!=, NE
47
=, EQ
48
>, GT_SYM
49
>=, GE
50
<=>, EQUAL_SYM
51
ACCESSIBLE, ACCESSIBLE_SYM
52
ACTION, ACTION
53
ADD, ADD
54
AFTER, AFTER_SYM
55
AGGREGATE, AGGREGATE_SYM
56
ALL, ALL
57
ALGORITHM, ALGORITHM_SYM
58
ALTER, ALTER
59
ANALYZE, ANALYZE_SYM
60
AND, AND_SYM
61
ANY, ANY_SYM
62
AS, AS
63
ASC, ASC
64
ASCII, ASCII_SYM
65
ASENSITIVE, ASENSITIVE_SYM
66
AT, AT_SYM
67
AUTO_INCREMENT, AUTO_INC
68
AUTOEXTEND_SIZE, AUTOEXTEND_SIZE_SYM
69
AVG, AVG_SYM
70
AVG_ROW_LENGTH, AVG_ROW_LENGTH
71
BEFORE, BEFORE_SYM
72
BEGIN, BEGIN_SYM
73
BETWEEN, BETWEEN_SYM
74
BIGINT, BIGINT
75
BINARY, BINARY
76
BINLOG, BINLOG_SYM
77
BIT, BIT_SYM
78
BLOB, BLOB_SYM
79
BLOCK, BLOCK_SYM
80
BLOCK_SIZE, BLOCK_SIZE_SYM
81
BOOL, BOOL_SYM
82
BOOLEAN, BOOLEAN_SYM
83
BOTH, BOTH
84
BTREE, BTREE_SYM
85
BY, BY
86
BYTE, BYTE_SYM
87
CACHE, CACHE_SYM
88
CALL, CALL_SYM
89
CASCADE, CASCADE
90
CASCADED, CASCADED
91
CASE, CASE_SYM
92
CHAIN, CHAIN_SYM
93
CHANGE, CHANGE
94
CHANGED, CHANGED
95
CHAR, CHAR_SYM
96
CHARACTER, CHAR_SYM
97
CHARSET, CHARSET
98
CHECK, CHECK_SYM
99
CHECKSUM, CHECKSUM_SYM
100
CLOSE, CLOSE_SYM
101
COALESCE, COALESCE
102
COLLATE, COLLATE_SYM
103
COLLATION, COLLATION_SYM
104
COLUMN, COLUMN_SYM
105
COLUMNS, COLUMNS
106
COMMENT, COMMENT_SYM
107
COMMIT, COMMIT_SYM
108
COMMITTED, COMMITTED_SYM
109
COMPACT, COMPACT_SYM
110
COMPLETION, COMPLETION_SYM
111
COMPRESSED, COMPRESSED_SYM
112
CONCURRENT, CONCURRENT
113
CONDITION, CONDITION_SYM
114
CONNECTION, CONNECTION_SYM
115
CONSISTENT, CONSISTENT_SYM
116
CONSTRAINT, CONSTRAINT
117
CONTAINS, CONTAINS_SYM
118
CONTEXT, CONTEXT_SYM
119
CONTINUE, CONTINUE_SYM
120
CONVERT, CONVERT_SYM
121
CREATE, CREATE
122
CROSS, CROSS
123
CUBE, CUBE_SYM
124
CURRENT_DATE, CURDATE
125
CURRENT_TIME, CURTIME
126
CURRENT_TIMESTAMP, NOW_SYM
127
CURRENT_USER, CURRENT_USER
128
CURSOR, CURSOR_SYM
129
DATA, DATA_SYM
130
DATABASE, DATABASE
131
DATABASES, DATABASES
132
DATAFILE, DATAFILE_SYM
133
DATE, DATE_SYM
134
DATETIME, DATETIME
135
DAY, DAY_SYM
136
DAY_HOUR, DAY_HOUR_SYM
137
DAY_MICROSECOND, DAY_MICROSECOND_SYM
138
DAY_MINUTE, DAY_MINUTE_SYM
139
DAY_SECOND, DAY_SECOND_SYM
140
DEALLOCATE, DEALLOCATE_SYM
141
DEC, DECIMAL_SYM
142
DECIMAL, DECIMAL_SYM
143
DECLARE, DECLARE_SYM
144
DEFAULT, DEFAULT
145
DELAYED, DELAYED_SYM
146
DELAY_KEY_WRITE, DELAY_KEY_WRITE_SYM
147
DELETE, DELETE_SYM
148
DESC, DESC
149
DESCRIBE, DESCRIBE
150
DETERMINISTIC, DETERMINISTIC_SYM
151
DIRECTORY, DIRECTORY_SYM
152
DISABLE, DISABLE_SYM
153
DISCARD, DISCARD
154
DISTINCT, DISTINCT
155
# Access likes this
156
DISTINCTROW, DISTINCT
157
DIV, DIV_SYM
158
DOUBLE, DOUBLE_SYM
159
DROP, DROP
160
DUMPFILE, DUMPFILE
161
DUPLICATE, DUPLICATE_SYM
162
DYNAMIC, DYNAMIC_SYM
163
EACH, EACH_SYM
164
ELSE, ELSE
165
ELSEIF, ELSEIF_SYM
166
ENABLE, ENABLE_SYM
167
ENCLOSED, ENCLOSED
168
END, END
169
ENDS, ENDS_SYM
170
ENGINE, ENGINE_SYM
171
ENUM, ENUM
172
ERRORS, ERRORS
173
ESCAPE, ESCAPE_SYM
174
ESCAPED, ESCAPED
175
EXCLUSIVE, EXCLUSIVE_SYM
176
EXISTS, EXISTS
177
EXIT, EXIT_SYM
178
EXPLAIN, DESCRIBE
179
EXTENDED, EXTENDED_SYM
180
EXTENT_SIZE, EXTENT_SIZE_SYM
181
FALSE, FALSE_SYM
182
FAST, FAST_SYM
183
FAULTS, FAULTS_SYM
184
FETCH, FETCH_SYM
185
COLUMN_FORMAT, COLUMN_FORMAT_SYM
186
FIELDS, COLUMNS
187
FILE, FILE_SYM
188
FIRST, FIRST_SYM
189
FIXED, FIXED_SYM
190
FLOAT, DOUBLE_SYM
191
FLUSH, FLUSH_SYM
192
FOR, FOR_SYM
193
FORCE, FORCE_SYM
194
FOREIGN, FOREIGN
195
FOUND, FOUND_SYM
196
FRAC_SECOND, FRAC_SECOND_SYM
197
FROM, FROM
198
FULL, FULL
199
GET_FORMAT, GET_FORMAT
200
GLOBAL, GLOBAL_SYM
201
GROUP, GROUP_SYM
202
HANDLER, HANDLER_SYM
203
HASH, HASH_SYM
204
HAVING, HAVING
205
HIGH_PRIORITY, HIGH_PRIORITY
206
HOST, HOST_SYM
207
HOSTS, HOSTS_SYM
208
HOUR, HOUR_SYM
209
HOUR_MICROSECOND, HOUR_MICROSECOND_SYM
210
HOUR_MINUTE, HOUR_MINUTE_SYM
211
HOUR_SECOND, HOUR_SECOND_SYM
212
IDENTIFIED, IDENTIFIED_SYM
213
IF, IF
214
IGNORE, IGNORE_SYM
215
IMPORT, IMPORT
216
IN, IN_SYM
217
INDEX, INDEX_SYM
218
INDEXES, INDEXES
219
INFILE, INFILE
220
INITIAL_SIZE, INITIAL_SIZE_SYM
221
INNER, INNER_SYM
222
INOUT, INOUT_SYM
223
INSENSITIVE, INSENSITIVE_SYM
224
INSERT, INSERT
225
INSERT_METHOD, INSERT_METHOD
226
INSTALL, INSTALL_SYM
227
INT, INT_SYM
228
INT4, INT_SYM
229
INT8, BIGINT
230
INTEGER, INT_SYM
231
INTERVAL, INTERVAL_SYM
232
INTO, INTO
233
IO_THREAD, RELAY_THREAD
234
IS, IS
235
ISOLATION, ISOLATION
236
ITERATE, ITERATE_SYM
237
JOIN, JOIN_SYM
238
KEY, KEY_SYM
239
KEYS, KEYS
240
KEY_BLOCK_SIZE, KEY_BLOCK_SIZE
241
KILL, KILL_SYM
242
LAST, LAST_SYM
243
LEADING, LEADING
244
LEAVES, LEAVES
245
LEFT, LEFT
246
LEVEL, LEVEL_SYM
247
LIKE, LIKE
248
LIMIT, LIMIT
249
LINEAR, LINEAR_SYM
250
LINES, LINES
251
LIST, LIST_SYM
252
LOAD, LOAD
253
LOCAL, LOCAL_SYM
254
LOCALTIME, NOW_SYM
255
LOCALTIMESTAMP, NOW_SYM
256
LOCK, LOCK_SYM
257
LOCKS, LOCKS_SYM
258
LOGFILE, LOGFILE_SYM
259
LOGS, LOGS_SYM
260
LONG, LONG_SYM
261
LONGBLOB, BLOB_SYM
262
LONGTEXT, TEXT_SYM
263
LOOP, LOOP_SYM
264
LOW_PRIORITY, LOW_PRIORITY
265
MATCH, MATCH
266
MAX_ROWS, MAX_ROWS
267
MAX_SIZE, MAX_SIZE_SYM
268
MAXVALUE, MAX_VALUE_SYM
269
MEDIUM, MEDIUM_SYM
270
MEDIUMBLOB, BLOB_SYM
271
MEDIUMTEXT, TEXT_SYM
272
MERGE, MERGE_SYM
273
MICROSECOND, MICROSECOND_SYM
274
MIGRATE, MIGRATE_SYM
275
MINUTE, MINUTE_SYM
276
MINUTE_MICROSECOND, MINUTE_MICROSECOND_SYM
277
MINUTE_SECOND, MINUTE_SECOND_SYM
278
MIN_ROWS, MIN_ROWS
279
MOD, MOD_SYM
280
MODE, MODE_SYM
281
MODIFIES, MODIFIES_SYM
282
MODIFY, MODIFY_SYM
283
MONTH, MONTH_SYM
284
NAME, NAME_SYM
285
NAMES, NAMES_SYM
286
NATIONAL, NATIONAL_SYM
287
NATURAL, NATURAL
288
NEW, NEW_SYM
289
NEXT, NEXT_SYM
290
NO, NO_SYM
291
NO_WAIT, NO_WAIT_SYM
292
NODEGROUP, NODEGROUP_SYM
293
NONE, NONE_SYM
294
NOT, NOT_SYM
295
NOWAIT, NOWAIT_SYM
296
NO_WRITE_TO_BINLOG, NO_WRITE_TO_BINLOG
297
NULL, NULL_SYM
298
NUMERIC, NUMERIC_SYM
299
OFFLINE, OFFLINE_SYM
300
OFFSET, OFFSET_SYM
301
ON, ON
302
ONE, ONE_SYM
303
ONLINE, ONLINE_SYM
304
OPEN, OPEN_SYM
305
OPTIMIZE, OPTIMIZE
306
OPTIONS, OPTIONS_SYM
307
OPTION, OPTION
308
OPTIONALLY, OPTIONALLY
309
OR, OR_SYM
310
ORDER, ORDER_SYM
311
OUT, OUT_SYM
312
OUTER, OUTER
313
OUTFILE, OUTFILE
314
PACK_KEYS, PACK_KEYS_SYM
315
PAGE, PAGE_SYM
316
PAGE_CHECKSUM, PAGE_CHECKSUM_SYM
317
PARSE_VCOL_EXPR, PARSE_VCOL_EXPR_SYM
318
PARTIAL, PARTIAL
319
PHASE, PHASE_SYM
320
PLUGIN, PLUGIN_SYM
321
PLUGINS, PLUGINS_SYM
322
PORT, PORT_SYM
323
PRECISION, PRECISION
324
PREV, PREV_SYM
325
PRIMARY, PRIMARY_SYM
326
PROCESS, PROCESS
327
PROCESSLIST, PROCESSLIST_SYM
328
PURGE, PURGE
329
QUARTER, QUARTER_SYM
330
QUERY, QUERY_SYM
331
QUICK, QUICK
332
RANGE, RANGE_SYM
333
READ, READ_SYM
334
READ_ONLY, READ_ONLY_SYM
335
READ_WRITE, READ_WRITE_SYM
336
READS, READS_SYM
337
REAL, REAL
338
REBUILD, REBUILD_SYM
339
RECOVER, RECOVER_SYM
340
REDO_BUFFER_SIZE, REDO_BUFFER_SIZE_SYM
341
REDOFILE, REDOFILE_SYM
342
REDUNDANT, REDUNDANT_SYM
343
REFERENCES, REFERENCES
344
RELAY_LOG_FILE, RELAY_LOG_FILE_SYM
345
RELAY_LOG_POS, RELAY_LOG_POS_SYM
346
RELAY_THREAD, RELAY_THREAD
347
RELEASE, RELEASE_SYM
348
RELOAD, RELOAD
349
REMOVE, REMOVE_SYM
350
RENAME, RENAME
351
REORGANIZE, REORGANIZE_SYM
352
REPAIR, REPAIR
353
REPEATABLE, REPEATABLE_SYM
354
REPLACE, REPLACE
355
REPLICATION, REPLICATION
356
REPEAT, REPEAT_SYM
357
REQUIRE, REQUIRE_SYM
358
RESET, RESET_SYM
359
RESTRICT, RESTRICT
360
RESUME, RESUME_SYM
361
RETURN, RETURN_SYM
362
RETURNS, RETURNS_SYM
363
REVERSE, REVERSE_SYM
364
REVOKE, REVOKE
365
RIGHT, RIGHT
366
ROLLBACK, ROLLBACK_SYM
367
ROLLUP, ROLLUP_SYM
368
ROUTINE, ROUTINE_SYM
369
ROW, ROW_SYM
370
ROWS, ROWS_SYM
371
ROW_FORMAT, ROW_FORMAT_SYM
372
SAVEPOINT, SAVEPOINT_SYM
373
SCHEMA, DATABASE
374
SCHEMAS, DATABASES
375
SECOND, SECOND_SYM
376
SECOND_MICROSECOND, SECOND_MICROSECOND_SYM
377
SECURITY, SECURITY_SYM
378
SELECT, SELECT_SYM
379
SENSITIVE, SENSITIVE_SYM
380
SEPARATOR, SEPARATOR_SYM
381
SERIAL, SERIAL_SYM
382
SERIALIZABLE, SERIALIZABLE_SYM
383
SESSION, SESSION_SYM
384
SERVER, SERVER_SYM
385
SET, SET
386
SHARE, SHARE_SYM
387
SHOW, SHOW
388
SHUTDOWN, SHUTDOWN
389
SIMPLE, SIMPLE_SYM
390
SLAVE, SLAVE
391
SNAPSHOT, SNAPSHOT_SYM
392
SOCKET, SOCKET_SYM
393
SOME, ANY_SYM
394
SONAME, SONAME_SYM
395
SOURCE, SOURCE_SYM
396
SPECIFIC, SPECIFIC_SYM
397
SQL, SQL_SYM
398
SQLEXCEPTION, SQLEXCEPTION_SYM
399
SQLSTATE, SQLSTATE_SYM
400
SQLWARNING, SQLWARNING_SYM
401
SQL_BIG_RESULT, SQL_BIG_RESULT
402
SQL_BUFFER_RESULT, SQL_BUFFER_RESULT
403
SQL_CALC_FOUND_ROWS, SQL_CALC_FOUND_ROWS
404
SQL_SMALL_RESULT, SQL_SMALL_RESULT
405
SQL_TSI_FRAC_SECOND, FRAC_SECOND_SYM
406
SQL_TSI_SECOND, SECOND_SYM
407
SQL_TSI_MINUTE, MINUTE_SYM
408
SQL_TSI_HOUR, HOUR_SYM
409
SQL_TSI_DAY, DAY_SYM
410
SQL_TSI_WEEK, WEEK_SYM
411
SQL_TSI_MONTH, MONTH_SYM
412
SQL_TSI_QUARTER, QUARTER_SYM
413
SQL_TSI_YEAR, YEAR_SYM
414
START, START_SYM
415
STARTING, STARTING
416
STARTS, STARTS_SYM
417
STATUS, STATUS_SYM
418
STOP, STOP_SYM
419
STORAGE, STORAGE_SYM
420
STORED, STORED_SYM
421
STRAIGHT_JOIN, STRAIGHT_JOIN
422
STRING, STRING_SYM
423
SUBJECT, SUBJECT_SYM
424
SUPER, SUPER_SYM
425
SUSPEND, SUSPEND_SYM
426
SWAPS, SWAPS_SYM
427
SWITCHES, SWITCHES_SYM
428
TABLE, TABLE_SYM
429
TABLES, TABLES
430
TABLESPACE, TABLESPACE
431
TABLE_CHECKSUM, TABLE_CHECKSUM_SYM
432
TEMPORARY, TEMPORARY
433
TEMPTABLE, TEMPTABLE_SYM
434
TERMINATED, TERMINATED
435
TEXT, TEXT_SYM
436
THAN, THAN_SYM
437
THEN, THEN_SYM
438
TIME, TIME_SYM
439
TIMESTAMP, TIMESTAMP
440
TIMESTAMPADD, TIMESTAMP_ADD
441
TIMESTAMPDIFF, TIMESTAMP_DIFF
442
TINYBLOB, BLOB_SYM
443
TINYTEXT, TEXT_SYM
444
TO, TO_SYM
445
TRAILING, TRAILING
779.3.39 by Monty Taylor
Fixed over-zealous trimming of symbol_hash during merge.
446
TRANSACTION, TRANSACTION_SYM
779.4.5 by Monty Taylor
Replaced gen_lex_hash with gperf. Yay for no more building tools to build source!!!
447
TRUE, TRUE_SYM
448
TRUNCATE, TRUNCATE_SYM
449
TYPE, TYPE_SYM
450
TYPES, TYPES_SYM
451
UNCOMMITTED, UNCOMMITTED_SYM
452
UNDEFINED, UNDEFINED_SYM
453
UNDOFILE, UNDOFILE_SYM
454
UNDO, UNDO_SYM
455
UNION, UNION_SYM
456
UNIQUE, UNIQUE_SYM
457
UNKNOWN, UNKNOWN_SYM
458
UNLOCK, UNLOCK_SYM
459
UNTIL, UNTIL_SYM
460
UPDATE, UPDATE_SYM
461
USAGE, USAGE
462
USE, USE_SYM
463
USER, USER
464
USER_RESOURCES, RESOURCES
465
USE_FRM, USE_FRM
466
USING, USING
467
UTC_DATE, UTC_DATE_SYM
468
UTC_TIME, UTC_TIME_SYM
469
UTC_TIMESTAMP, UTC_TIMESTAMP_SYM
470
VALUE, VALUE_SYM
471
VALUES, VALUES
472
VARBINARY, VARBINARY
473
VARCHAR, VARCHAR
474
VARCHARACTER, VARCHAR
475
VARIABLES, VARIABLES
476
VARYING, VARYING
477
WAIT, WAIT_SYM
478
WARNINGS, WARNINGS
479
WEEK, WEEK_SYM
480
WEIGHT_STRING, WEIGHT_STRING_SYM
481
WHEN, WHEN_SYM
482
WHERE, WHERE
483
WITH, WITH
484
WORK, WORK_SYM
485
WRITE, WRITE_SYM
486
VIRTUAL, VIRTUAL_SYM
487
XOR, XOR
488
YEAR, YEAR_SYM
489
YEAR_MONTH, YEAR_MONTH_SYM