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