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