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)},
158
163
{ "DISCARD", SYM(DISCARD)},
164
{ "DISK", SYM(DISK_SYM)},
159
165
{ "DISTINCT", SYM(DISTINCT)},
160
166
{ "DISTINCTROW", SYM(DISTINCT)}, /* Access likes this */
161
167
{ "DIV", SYM(DIV_SYM)},
172
178
{ "END", SYM(END)},
173
179
{ "ENDS", SYM(ENDS_SYM)},
174
180
{ "ENGINE", SYM(ENGINE_SYM)},
181
{ "ENGINES", SYM(ENGINES_SYM)},
175
182
{ "ENUM", SYM(ENUM)},
176
183
{ "ERRORS", SYM(ERRORS)},
177
184
{ "ESCAPE", SYM(ESCAPE_SYM)},
178
185
{ "ESCAPED", SYM(ESCAPED)},
186
{ "EVENTS", SYM(EVENTS_SYM)},
187
{ "EVERY", SYM(EVERY_SYM)},
179
188
{ "EXCLUSIVE", SYM(EXCLUSIVE_SYM)},
180
189
{ "EXISTS", SYM(EXISTS)},
181
190
{ "EXIT", SYM(EXIT_SYM)},
191
200
{ "FILE", SYM(FILE_SYM)},
192
201
{ "FIRST", SYM(FIRST_SYM)},
193
202
{ "FIXED", SYM(FIXED_SYM)},
194
{ "FLOAT", SYM(DOUBLE_SYM)},
203
{ "FLOAT", SYM(FLOAT_SYM)},
204
{ "FLOAT4", SYM(FLOAT_SYM)},
205
{ "FLOAT8", SYM(DOUBLE_SYM)},
195
206
{ "FLUSH", SYM(FLUSH_SYM)},
196
207
{ "FOR", SYM(FOR_SYM)},
197
208
{ "FORCE", SYM(FORCE_SYM)},
229
240
{ "INSERT_METHOD", SYM(INSERT_METHOD)},
230
241
{ "INSTALL", SYM(INSTALL_SYM)},
231
242
{ "INT", SYM(INT_SYM)},
243
{ "INT1", SYM(TINYINT)},
244
{ "INT2", SYM(SMALLINT)},
245
{ "INT3", SYM(MEDIUMINT)},
232
246
{ "INT4", SYM(INT_SYM)},
233
247
{ "INT8", SYM(BIGINT)},
234
248
{ "INTEGER", SYM(INT_SYM)},
235
249
{ "INTERVAL", SYM(INTERVAL_SYM)},
236
250
{ "INTO", SYM(INTO)},
251
{ "IO", SYM(IO_SYM)},
237
252
{ "IO_THREAD", SYM(RELAY_THREAD)},
253
{ "IPC", SYM(IPC_SYM)},
238
254
{ "IS", SYM(IS)},
239
255
{ "ISOLATION", SYM(ISOLATION)},
256
{ "ISSUER", SYM(ISSUER_SYM)},
240
257
{ "ITERATE", SYM(ITERATE_SYM)},
241
258
{ "JOIN", SYM(JOIN_SYM)},
242
259
{ "KEY", SYM(KEY_SYM)},
261
278
{ "LOGFILE", SYM(LOGFILE_SYM)},
262
279
{ "LOGS", SYM(LOGS_SYM)},
263
280
{ "LONG", SYM(LONG_SYM)},
264
{ "LONGBLOB", SYM(BLOB_SYM)},
265
{ "LONGTEXT", SYM(TEXT_SYM)},
281
{ "LONGBLOB", SYM(LONGBLOB)},
282
{ "LONGTEXT", SYM(LONGTEXT)},
266
283
{ "LOOP", SYM(LOOP_SYM)},
267
284
{ "LOW_PRIORITY", SYM(LOW_PRIORITY)},
268
285
{ "MASTER", SYM(MASTER_SYM)},
284
301
{ "MAX_USER_CONNECTIONS", SYM(MAX_USER_CONNECTIONS_SYM)},
285
302
{ "MAXVALUE", SYM(MAX_VALUE_SYM)},
286
303
{ "MEDIUM", SYM(MEDIUM_SYM)},
287
{ "MEDIUMBLOB", SYM(BLOB_SYM)},
288
{ "MEDIUMTEXT", SYM(TEXT_SYM)},
304
{ "MEDIUMBLOB", SYM(MEDIUMBLOB)},
305
{ "MEDIUMINT", SYM(MEDIUMINT)},
306
{ "MEDIUMTEXT", SYM(MEDIUMTEXT)},
307
{ "MEMORY", SYM(MEMORY_SYM)},
289
308
{ "MERGE", SYM(MERGE_SYM)},
290
309
{ "MICROSECOND", SYM(MICROSECOND_SYM)},
310
{ "MIDDLEINT", SYM(MEDIUMINT)}, /* For powerbuilder */
291
311
{ "MIGRATE", SYM(MIGRATE_SYM)},
292
312
{ "MINUTE", SYM(MINUTE_SYM)},
293
313
{ "MINUTE_MICROSECOND", SYM(MINUTE_MICROSECOND_SYM)},
302
322
{ "NAMES", SYM(NAMES_SYM)},
303
323
{ "NATIONAL", SYM(NATIONAL_SYM)},
304
324
{ "NATURAL", SYM(NATURAL)},
325
{ "NCHAR", SYM(NCHAR_SYM)},
305
326
{ "NEW", SYM(NEW_SYM)},
306
327
{ "NEXT", SYM(NEXT_SYM)},
307
328
{ "NO", SYM(NO_SYM)},
313
334
{ "NO_WRITE_TO_BINLOG", SYM(NO_WRITE_TO_BINLOG)},
314
335
{ "NULL", SYM(NULL_SYM)},
315
336
{ "NUMERIC", SYM(NUMERIC_SYM)},
337
{ "NVARCHAR", SYM(NVARCHAR_SYM)},
316
338
{ "OFFLINE", SYM(OFFLINE_SYM)},
317
339
{ "OFFSET", SYM(OFFSET_SYM)},
340
{ "OLD_PASSWORD", SYM(OLD_PASSWORD)},
318
341
{ "ON", SYM(ON)},
319
342
{ "ONE", SYM(ONE_SYM)},
320
343
{ "ONLINE", SYM(ONLINE_SYM)},
332
355
{ "PACK_KEYS", SYM(PACK_KEYS_SYM)},
333
356
{ "PAGE", SYM(PAGE_SYM)},
334
357
{ "PAGE_CHECKSUM", SYM(PAGE_CHECKSUM_SYM)},
335
{ "PARSE_VCOL_EXPR", SYM(PARSE_VCOL_EXPR_SYM)},
336
358
{ "PARTIAL", SYM(PARTIAL)},
359
{ "PASSWORD", SYM(PASSWORD)},
337
360
{ "PHASE", SYM(PHASE_SYM)},
338
361
{ "PLUGIN", SYM(PLUGIN_SYM)},
339
362
{ "PLUGINS", SYM(PLUGINS_SYM)},
343
366
{ "PRIMARY", SYM(PRIMARY_SYM)},
344
367
{ "PROCESS" , SYM(PROCESS)},
345
368
{ "PROCESSLIST", SYM(PROCESSLIST_SYM)},
369
{ "PROFILE", SYM(PROFILE_SYM)},
370
{ "PROFILES", SYM(PROFILES_SYM)},
346
371
{ "PURGE", SYM(PURGE)},
347
372
{ "QUARTER", SYM(QUARTER_SYM)},
348
373
{ "QUERY", SYM(QUERY_SYM)},
404
429
{ "SHARE", SYM(SHARE_SYM)},
405
430
{ "SHOW", SYM(SHOW)},
406
431
{ "SHUTDOWN", SYM(SHUTDOWN)},
432
{ "SIGNED", SYM(SIGNED_SYM)},
407
433
{ "SIMPLE", SYM(SIMPLE_SYM)},
408
434
{ "SLAVE", SYM(SLAVE)},
409
435
{ "SNAPSHOT", SYM(SNAPSHOT_SYM)},
436
{ "SMALLINT", SYM(SMALLINT)},
410
437
{ "SOCKET", SYM(SOCKET_SYM)},
411
438
{ "SOME", SYM(ANY_SYM)},
412
439
{ "SONAME", SYM(SONAME_SYM)},
436
463
{ "STATUS", SYM(STATUS_SYM)},
437
464
{ "STOP", SYM(STOP_SYM)},
438
465
{ "STORAGE", SYM(STORAGE_SYM)},
439
{ "STORED", SYM(STORED_SYM)},
440
466
{ "STRAIGHT_JOIN", SYM(STRAIGHT_JOIN)},
441
467
{ "STRING", SYM(STRING_SYM)},
442
468
{ "SUBJECT", SYM(SUBJECT_SYM)},
458
484
{ "TIMESTAMP", SYM(TIMESTAMP)},
459
485
{ "TIMESTAMPADD", SYM(TIMESTAMP_ADD)},
460
486
{ "TIMESTAMPDIFF", SYM(TIMESTAMP_DIFF)},
461
{ "TINYBLOB", SYM(BLOB_SYM)},
462
{ "TINYTEXT", SYM(TEXT_SYM)},
487
{ "TINYBLOB", SYM(TINYBLOB)},
488
{ "TINYINT", SYM(TINYINT)},
489
{ "TINYTEXT", SYM(TINYTEXT)},
463
490
{ "TO", SYM(TO_SYM)},
464
491
{ "TRAILING", SYM(TRAILING)},
465
492
{ "TRANSACTION", SYM(TRANSACTION_SYM)},
472
499
{ "UNDEFINED", SYM(UNDEFINED_SYM)},
473
500
{ "UNDOFILE", SYM(UNDOFILE_SYM)},
474
501
{ "UNDO", SYM(UNDO_SYM)},
502
{ "UNICODE", SYM(UNICODE_SYM)},
475
503
{ "UNION", SYM(UNION_SYM)},
476
504
{ "UNIQUE", SYM(UNIQUE_SYM)},
477
505
{ "UNKNOWN", SYM(UNKNOWN_SYM)},
478
506
{ "UNLOCK", SYM(UNLOCK_SYM)},
507
{ "UNINSTALL", SYM(UNINSTALL_SYM)},
508
{ "UNSIGNED", SYM(UNSIGNED)},
479
509
{ "UNTIL", SYM(UNTIL_SYM)},
480
510
{ "UPDATE", SYM(UPDATE_SYM)},
481
511
{ "UPGRADE", SYM(UPGRADE_SYM)},
503
533
{ "WHERE", SYM(WHERE)},
504
534
{ "WITH", SYM(WITH)},
505
535
{ "WORK", SYM(WORK_SYM)},
536
{ "WRAPPER", SYM(WRAPPER_SYM)},
506
537
{ "WRITE", SYM(WRITE_SYM)},
507
{ "VIRTUAL", SYM(VIRTUAL_SYM)},
508
538
{ "XOR", SYM(XOR)},
539
{ "XML", SYM(XML_SYM)}, /* LOAD XML Arnold/Erik */
509
540
{ "YEAR", SYM(YEAR_SYM)},
510
541
{ "YEAR_MONTH", SYM(YEAR_MONTH_SYM)},
542
{ "ZEROFILL", SYM(ZEROFILL)},
514
546
static SYMBOL sql_functions[] = {
515
547
{ "ADDDATE", SYM(ADDDATE_SYM)},
548
{ "BIT_AND", SYM(BIT_AND)},
549
{ "BIT_OR", SYM(BIT_OR)},
550
{ "BIT_XOR", SYM(BIT_XOR)},
516
551
{ "CAST", SYM(CAST_SYM)},
517
552
{ "COUNT", SYM(COUNT_SYM)},
518
553
{ "CURDATE", SYM(CURDATE)},