1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
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 */
21
17
/* This file includes all reserved words and functions */
52
49
{ ">", SYM(GT_SYM)},
51
{ "<<", SYM(SHIFT_LEFT)},
52
{ ">>", SYM(SHIFT_RIGHT)},
54
53
{ "<=>", SYM(EQUAL_SYM)},
55
54
{ "ACCESSIBLE", SYM(ACCESSIBLE_SYM)},
56
55
{ "ACTION", SYM(ACTION)},
82
81
{ "BIT", SYM(BIT_SYM)},
83
82
{ "BLOB", SYM(BLOB_SYM)},
84
83
{ "BLOCK", SYM(BLOCK_SYM)},
85
{ "BLOCK_SIZE", SYM(BLOCK_SIZE_SYM)},
86
84
{ "BOOL", SYM(BOOL_SYM)},
87
85
{ "BOOLEAN", SYM(BOOLEAN_SYM)},
88
86
{ "BOTH", SYM(BOTH)},
102
100
{ "CHARSET", SYM(CHARSET)},
103
101
{ "CHECK", SYM(CHECK_SYM)},
104
102
{ "CHECKSUM", SYM(CHECKSUM_SYM)},
103
{ "CIPHER", SYM(CIPHER_SYM)},
104
{ "CLIENT", SYM(CLIENT_SYM)},
105
105
{ "CLOSE", SYM(CLOSE_SYM)},
106
106
{ "COALESCE", SYM(COALESCE)},
107
{ "CODE", SYM(CODE_SYM)},
107
108
{ "COLLATE", SYM(COLLATE_SYM)},
108
109
{ "COLLATION", SYM(COLLATION_SYM)},
109
110
{ "COLUMN", SYM(COLUMN_SYM)},
122
123
{ "CONTAINS", SYM(CONTAINS_SYM)},
123
124
{ "CONTEXT", SYM(CONTEXT_SYM)},
124
125
{ "CONTINUE", SYM(CONTINUE_SYM)},
126
{ "CONTRIBUTORS", SYM(CONTRIBUTORS_SYM)},
125
127
{ "CONVERT", SYM(CONVERT_SYM)},
128
{ "CPU", SYM(CPU_SYM)},
126
129
{ "CREATE", SYM(CREATE)},
127
130
{ "CROSS", SYM(CROSS)},
128
131
{ "CUBE", SYM(CUBE_SYM)},
147
150
{ "DECIMAL", SYM(DECIMAL_SYM)},
148
151
{ "DECLARE", SYM(DECLARE_SYM)},
149
152
{ "DEFAULT", SYM(DEFAULT)},
153
{ "DEFINER", SYM(DEFINER_SYM)},
150
154
{ "DELAYED", SYM(DELAYED_SYM)},
151
155
{ "DELAY_KEY_WRITE", SYM(DELAY_KEY_WRITE_SYM)},
152
156
{ "DELETE", SYM(DELETE_SYM)},
153
157
{ "DESC", SYM(DESC)},
154
158
{ "DESCRIBE", SYM(DESCRIBE)},
159
{ "DES_KEY_FILE", SYM(DES_KEY_FILE)},
155
160
{ "DETERMINISTIC", SYM(DETERMINISTIC_SYM)},
156
161
{ "DIRECTORY", SYM(DIRECTORY_SYM)},
157
162
{ "DISABLE", SYM(DISABLE_SYM)},
172
177
{ "END", SYM(END)},
173
178
{ "ENDS", SYM(ENDS_SYM)},
174
179
{ "ENGINE", SYM(ENGINE_SYM)},
180
{ "ENGINES", SYM(ENGINES_SYM)},
175
181
{ "ENUM", SYM(ENUM)},
176
182
{ "ERRORS", SYM(ERRORS)},
177
183
{ "ESCAPE", SYM(ESCAPE_SYM)},
178
184
{ "ESCAPED", SYM(ESCAPED)},
185
{ "EVENTS", SYM(EVENTS_SYM)},
186
{ "EVERY", SYM(EVERY_SYM)},
179
187
{ "EXCLUSIVE", SYM(EXCLUSIVE_SYM)},
180
188
{ "EXISTS", SYM(EXISTS)},
181
189
{ "EXIT", SYM(EXIT_SYM)},
229
237
{ "INSERT_METHOD", SYM(INSERT_METHOD)},
230
238
{ "INSTALL", SYM(INSTALL_SYM)},
231
239
{ "INT", SYM(INT_SYM)},
240
{ "INT1", SYM(TINYINT)},
241
{ "INT2", SYM(SMALLINT)},
232
242
{ "INT4", SYM(INT_SYM)},
233
243
{ "INT8", SYM(BIGINT)},
234
244
{ "INTEGER", SYM(INT_SYM)},
235
245
{ "INTERVAL", SYM(INTERVAL_SYM)},
236
246
{ "INTO", SYM(INTO)},
247
{ "IO", SYM(IO_SYM)},
237
248
{ "IO_THREAD", SYM(RELAY_THREAD)},
249
{ "IPC", SYM(IPC_SYM)},
238
250
{ "IS", SYM(IS)},
239
251
{ "ISOLATION", SYM(ISOLATION)},
252
{ "ISSUER", SYM(ISSUER_SYM)},
240
253
{ "ITERATE", SYM(ITERATE_SYM)},
241
254
{ "JOIN", SYM(JOIN_SYM)},
242
255
{ "KEY", SYM(KEY_SYM)},
302
315
{ "NAMES", SYM(NAMES_SYM)},
303
316
{ "NATIONAL", SYM(NATIONAL_SYM)},
304
317
{ "NATURAL", SYM(NATURAL)},
318
{ "NCHAR", SYM(NCHAR_SYM)},
305
319
{ "NEW", SYM(NEW_SYM)},
306
320
{ "NEXT", SYM(NEXT_SYM)},
307
321
{ "NO", SYM(NO_SYM)},
313
327
{ "NO_WRITE_TO_BINLOG", SYM(NO_WRITE_TO_BINLOG)},
314
328
{ "NULL", SYM(NULL_SYM)},
315
329
{ "NUMERIC", SYM(NUMERIC_SYM)},
330
{ "NVARCHAR", SYM(NVARCHAR_SYM)},
316
331
{ "OFFLINE", SYM(OFFLINE_SYM)},
317
332
{ "OFFSET", SYM(OFFSET_SYM)},
318
333
{ "ON", SYM(ON)},
332
347
{ "PACK_KEYS", SYM(PACK_KEYS_SYM)},
333
348
{ "PAGE", SYM(PAGE_SYM)},
334
349
{ "PAGE_CHECKSUM", SYM(PAGE_CHECKSUM_SYM)},
335
{ "PARSE_VCOL_EXPR", SYM(PARSE_VCOL_EXPR_SYM)},
336
350
{ "PARTIAL", SYM(PARTIAL)},
351
{ "PASSWORD", SYM(PASSWORD)},
337
352
{ "PHASE", SYM(PHASE_SYM)},
338
353
{ "PLUGIN", SYM(PLUGIN_SYM)},
339
354
{ "PLUGINS", SYM(PLUGINS_SYM)},
343
358
{ "PRIMARY", SYM(PRIMARY_SYM)},
344
359
{ "PROCESS" , SYM(PROCESS)},
345
360
{ "PROCESSLIST", SYM(PROCESSLIST_SYM)},
361
{ "PROFILE", SYM(PROFILE_SYM)},
362
{ "PROFILES", SYM(PROFILES_SYM)},
346
363
{ "PURGE", SYM(PURGE)},
347
364
{ "QUARTER", SYM(QUARTER_SYM)},
348
365
{ "QUERY", SYM(QUERY_SYM)},
404
421
{ "SHARE", SYM(SHARE_SYM)},
405
422
{ "SHOW", SYM(SHOW)},
406
423
{ "SHUTDOWN", SYM(SHUTDOWN)},
424
{ "SIGNED", SYM(SIGNED_SYM)},
407
425
{ "SIMPLE", SYM(SIMPLE_SYM)},
408
426
{ "SLAVE", SYM(SLAVE)},
409
427
{ "SNAPSHOT", SYM(SNAPSHOT_SYM)},
428
{ "SMALLINT", SYM(SMALLINT)},
410
429
{ "SOCKET", SYM(SOCKET_SYM)},
411
430
{ "SOME", SYM(ANY_SYM)},
412
431
{ "SONAME", SYM(SONAME_SYM)},
436
455
{ "STATUS", SYM(STATUS_SYM)},
437
456
{ "STOP", SYM(STOP_SYM)},
438
457
{ "STORAGE", SYM(STORAGE_SYM)},
439
{ "STORED", SYM(STORED_SYM)},
440
458
{ "STRAIGHT_JOIN", SYM(STRAIGHT_JOIN)},
441
459
{ "STRING", SYM(STRING_SYM)},
442
460
{ "SUBJECT", SYM(SUBJECT_SYM)},
459
477
{ "TIMESTAMPADD", SYM(TIMESTAMP_ADD)},
460
478
{ "TIMESTAMPDIFF", SYM(TIMESTAMP_DIFF)},
461
479
{ "TINYBLOB", SYM(BLOB_SYM)},
480
{ "TINYINT", SYM(TINYINT)},
462
481
{ "TINYTEXT", SYM(TEXT_SYM)},
463
482
{ "TO", SYM(TO_SYM)},
464
483
{ "TRAILING", SYM(TRAILING)},
472
491
{ "UNDEFINED", SYM(UNDEFINED_SYM)},
473
492
{ "UNDOFILE", SYM(UNDOFILE_SYM)},
474
493
{ "UNDO", SYM(UNDO_SYM)},
494
{ "UNICODE", SYM(UNICODE_SYM)},
475
495
{ "UNION", SYM(UNION_SYM)},
476
496
{ "UNIQUE", SYM(UNIQUE_SYM)},
477
497
{ "UNKNOWN", SYM(UNKNOWN_SYM)},
478
498
{ "UNLOCK", SYM(UNLOCK_SYM)},
499
{ "UNINSTALL", SYM(UNINSTALL_SYM)},
500
{ "UNSIGNED", SYM(UNSIGNED)},
479
501
{ "UNTIL", SYM(UNTIL_SYM)},
480
502
{ "UPDATE", SYM(UPDATE_SYM)},
481
503
{ "UPGRADE", SYM(UPGRADE_SYM)},
503
525
{ "WHERE", SYM(WHERE)},
504
526
{ "WITH", SYM(WITH)},
505
527
{ "WORK", SYM(WORK_SYM)},
528
{ "WRAPPER", SYM(WRAPPER_SYM)},
506
529
{ "WRITE", SYM(WRITE_SYM)},
507
{ "VIRTUAL", SYM(VIRTUAL_SYM)},
508
530
{ "XOR", SYM(XOR)},
531
{ "XML", SYM(XML_SYM)}, /* LOAD XML Arnold/Erik */
509
532
{ "YEAR", SYM(YEAR_SYM)},
510
533
{ "YEAR_MONTH", SYM(YEAR_MONTH_SYM)},
534
{ "ZEROFILL", SYM(ZEROFILL)},
514
538
static SYMBOL sql_functions[] = {
515
539
{ "ADDDATE", SYM(ADDDATE_SYM)},
540
{ "BIT_AND", SYM(BIT_AND)},
541
{ "BIT_OR", SYM(BIT_OR)},
542
{ "BIT_XOR", SYM(BIT_XOR)},
516
543
{ "CAST", SYM(CAST_SYM)},
517
544
{ "COUNT", SYM(COUNT_SYM)},
518
545
{ "CURDATE", SYM(CURDATE)},