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