lex.h 24.2 KB
Newer Older
unknown's avatar
unknown committed
1
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
2

unknown's avatar
unknown committed
3 4 5 6
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
7

unknown's avatar
unknown committed
8 9 10 11
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
12

unknown's avatar
unknown committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */


/* This file includes all reserved words and functions */

#include "lex_symbol.h"

/* We don't want to include sql_yacc.h into gen_lex_hash */

#ifdef NO_YACC_SYMBOLS
#define SYM(A) 0
#define CREATE_FUNC(A) 0
#else
#define SYM(A) A
#define CREATE_FUNC(A) (void*) (A)
#endif

/*
** Symbols are breaked in to separated arrays to allow fieldnames with
** same name as functions
** Theese are kept sorted for human lookup (the symbols are hashed)
*/

static SYMBOL symbols[] = {
  { "&&",		SYM(AND),0,0},
  { "<",		SYM(LT),0,0},
  { "<=",		SYM(LE),0,0},
  { "<>",		SYM(NE),0,0},
  { "!=",		SYM(NE),0,0},
  { "=",		SYM(EQ),0,0},
  { ">",		SYM(GT_SYM),0,0},
  { ">=",		SYM(GE),0,0},
  { "<<",		SYM(SHIFT_LEFT),0,0},
  { ">>",		SYM(SHIFT_RIGHT),0,0},
  { "<=>",		SYM(EQUAL_SYM),0,0},
  { "ACTION",		SYM(ACTION),0,0},
  { "ADD",		SYM(ADD),0,0},
  { "AGGREGATE",	SYM(AGGREGATE_SYM),0,0},
  { "ALL",		SYM(ALL),0,0},
  { "ALTER",		SYM(ALTER),0,0},
  { "AFTER",		SYM(AFTER_SYM),0,0},
  { "AGAINST",          SYM(AGAINST),0,0},
  { "ANALYZE",		SYM(ANALYZE_SYM),0,0},
  { "AND",		SYM(AND),0,0},
  { "AS",		SYM(AS),0,0},
  { "ASC",		SYM(ASC),0,0},
  { "AVG",		SYM(AVG_SYM),0,0},
  { "AVG_ROW_LENGTH",	SYM(AVG_ROW_LENGTH),0,0},
  { "AUTO_INCREMENT",	SYM(AUTO_INC),0,0},
  { "AUTOCOMMIT",	SYM(AUTOCOMMIT),0,0},
unknown's avatar
unknown committed
65 66
  { "BACKUP",	        SYM(BACKUP_SYM),0,0},
  { "BEGIN",	        SYM(BEGIN_SYM),0,0},
unknown's avatar
unknown committed
67 68 69 70 71 72
  { "BERKELEYDB",       SYM(BERKELEY_DB_SYM),0,0},
  { "BDB",              SYM(BERKELEY_DB_SYM),0,0},
  { "BETWEEN",		SYM(BETWEEN_SYM),0,0},
  { "BIGINT",		SYM(BIGINT),0,0},
  { "BIT",		SYM(BIT_SYM),0,0},
  { "BINARY",		SYM(BINARY),0,0},
unknown's avatar
unknown committed
73
  { "BINLOG",		SYM(BINLOG_SYM),0,0},
unknown's avatar
unknown committed
74 75
  { "BLOB",		SYM(BLOB_SYM),0,0},
  { "BOOL",		SYM(BOOL_SYM),0,0},
unknown's avatar
unknown committed
76
  { "BOOLEAN",		SYM(BOOLEAN_SYM),0,0},
unknown's avatar
unknown committed
77
  { "BOTH",		SYM(BOTH),0,0},
unknown's avatar
unknown committed
78
  { "BTREE",		SYM(BTREE_SYM),0,0},
unknown's avatar
unknown committed
79
  { "BY",		SYM(BY),0,0},
unknown's avatar
unknown committed
80
  { "CACHE",		SYM(CACHE_SYM),0,0},
unknown's avatar
unknown committed
81 82 83 84
  { "CASCADE",		SYM(CASCADE),0,0},
  { "CASE",		SYM(CASE_SYM),0,0},
  { "CHAR",		SYM(CHAR_SYM),0,0},
  { "CHARACTER",	SYM(CHAR_SYM),0,0},
85
  { "CHARSET",		SYM(CHARSET),0,0},
unknown's avatar
unknown committed
86
  { "CHANGE",		SYM(CHANGE),0,0},
87
  { "CHANGED",		SYM(CHANGED),0,0},
unknown's avatar
unknown committed
88 89
  { "CHECK",		SYM(CHECK_SYM),0,0},
  { "CHECKSUM",		SYM(CHECKSUM_SYM),0,0},
unknown's avatar
unknown committed
90
  { "CIPHER",		SYM(CIPHER_SYM),0,0},
91
  { "CLOSE",		SYM(CLOSE_SYM),0,0},
unknown's avatar
unknown committed
92 93 94 95
  { "COLUMN",		SYM(COLUMN_SYM),0,0},
  { "COLUMNS",		SYM(COLUMNS),0,0},
  { "COMMENT",		SYM(COMMENT_SYM),0,0},
  { "COMMIT",		SYM(COMMIT_SYM),0,0},
unknown's avatar
unknown committed
96
  { "COMMITTED",	SYM(COMMITTED_SYM),0,0},
unknown's avatar
unknown committed
97
  { "COMPRESSED",	SYM(COMPRESSED_SYM),0,0},
unknown's avatar
unknown committed
98
  { "CONCURRENT",	SYM(CONCURRENT),0,0},
unknown's avatar
unknown committed
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
  { "CONSTRAINT",	SYM(CONSTRAINT),0,0},
  { "CREATE",		SYM(CREATE),0,0},
  { "CROSS",		SYM(CROSS),0,0},
  { "CURRENT_DATE",	SYM(CURDATE),0,0},
  { "CURRENT_TIME",	SYM(CURTIME),0,0},
  { "CURRENT_TIMESTAMP", SYM(NOW_SYM),0,0},
  { "DATA",		SYM(DATA_SYM),0,0},
  { "DATABASE",		SYM(DATABASE),0,0},
  { "DATABASES",	SYM(DATABASES),0,0},
  { "DATE",		SYM(DATE_SYM),0,0},
  { "DATETIME",		SYM(DATETIME),0,0},
  { "DAY",		SYM(DAY_SYM),0,0},
  { "DAY_HOUR",		SYM(DAY_HOUR_SYM),0,0},
  { "DAY_MINUTE",	SYM(DAY_MINUTE_SYM),0,0},
  { "DAY_SECOND",	SYM(DAY_SECOND_SYM),0,0},
  { "DEC",		SYM(DECIMAL_SYM),0,0},
  { "DECIMAL",		SYM(DECIMAL_SYM),0,0},
unknown's avatar
unknown committed
116
  { "DES_KEY_FILE",	SYM(DES_KEY_FILE),0,0},
unknown's avatar
unknown committed
117 118 119 120
  { "DEFAULT",		SYM(DEFAULT),0,0},
  { "DELAYED",		SYM(DELAYED_SYM),0,0},
  { "DELAY_KEY_WRITE",	SYM(DELAY_KEY_WRITE_SYM),0,0},
  { "DELETE",		SYM(DELETE_SYM),0,0},
unknown's avatar
unknown committed
121
  { "DEMAND",           SYM(DEMAND_SYM),0,0},
unknown's avatar
unknown committed
122 123
  { "DESC",		SYM(DESC),0,0},
  { "DESCRIBE",		SYM(DESCRIBE),0,0},
124
  { "DIRECTORY",	SYM(DIRECTORY_SYM),0,0},
125
  { "DISABLE",		SYM(DISABLE_SYM),0,0},
unknown's avatar
unknown committed
126 127
  { "DISTINCT",		SYM(DISTINCT),0,0},
  { "DISTINCTROW",	SYM(DISTINCT),0,0},	/* Access likes this */
unknown's avatar
unknown committed
128
  { "DO",		SYM(DO_SYM),0,0},
unknown's avatar
unknown committed
129 130 131 132
  { "DOUBLE",		SYM(DOUBLE_SYM),0,0},
  { "DROP",		SYM(DROP),0,0},
  { "DUMPFILE",		SYM(DUMPFILE),0,0},
  { "DYNAMIC",		SYM(DYNAMIC_SYM),0,0},
unknown's avatar
unknown committed
133
  { "ERRORS",		SYM(ERRORS),0,0},
unknown's avatar
unknown committed
134 135 136 137
  { "END",		SYM(END),0,0},
  { "ELSE",             SYM(ELSE),0,0},
  { "ESCAPE",		SYM(ESCAPE_SYM),0,0},
  { "ESCAPED",		SYM(ESCAPED),0,0},
138
  { "ENABLE",		SYM(ENABLE_SYM),0,0},
unknown's avatar
unknown committed
139 140
  { "ENCLOSED",		SYM(ENCLOSED),0,0},
  { "ENUM",		SYM(ENUM),0,0},
unknown's avatar
unknown committed
141
  { "EVENTS",		SYM(EVENTS_SYM),0,0},
unknown's avatar
unknown committed
142 143 144
  { "EXPLAIN",		SYM(DESCRIBE),0,0},
  { "EXISTS",		SYM(EXISTS),0,0},
  { "EXTENDED",		SYM(EXTENDED_SYM),0,0},
145
  { "FAST",		SYM(FAST_SYM),0,0},
unknown's avatar
unknown committed
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
  { "FIELDS",		SYM(COLUMNS),0,0},
  { "FILE",		SYM(FILE_SYM),0,0},
  { "FIRST",		SYM(FIRST_SYM),0,0},
  { "FIXED",		SYM(FIXED_SYM),0,0},
  { "FLOAT",		SYM(FLOAT_SYM),0,0},
  { "FLOAT4",		SYM(FLOAT_SYM),0,0},
  { "FLOAT8",		SYM(DOUBLE_SYM),0,0},
  { "FLUSH",		SYM(FLUSH_SYM),0,0},
  { "FOREIGN",		SYM(FOREIGN),0,0},
  { "RAID_TYPE",	SYM(RAID_TYPE),0,0},
  { "RAID_CHUNKS",	SYM(RAID_CHUNKS),0,0},
  { "RAID_CHUNKSIZE",	SYM(RAID_CHUNKSIZE),0,0},
  { "ROW_FORMAT",	SYM(ROW_FORMAT_SYM),0,0},
  { "FROM",		SYM(FROM),0,0},
  { "FOR",		SYM(FOR_SYM),0,0},
  { "FULL",		SYM(FULL),0,0},
162
  { "FULLTEXT",		SYM(FULLTEXT_SYM),0,0},
unknown's avatar
unknown committed
163
  { "FUNCTION",		SYM(UDF_SYM),0,0},
unknown's avatar
unknown committed
164
  { "GEOMETRY",		SYM(GEOMETRY_SYM),0,0},
unknown's avatar
unknown committed
165
  { "GLOBAL",		SYM(GLOBAL_SYM),0,0},
unknown's avatar
unknown committed
166 167 168 169
  { "GRANT",		SYM(GRANT),0,0},
  { "GRANTS",	        SYM(GRANTS),0,0},
  { "GROUP",		SYM(GROUP),0,0},
  { "HAVING",		SYM(HAVING),0,0},
170
  { "HANDLER",		SYM(HANDLER_SYM),0,0},
unknown's avatar
unknown committed
171
  { "HASH",		SYM(HASH_SYM),0,0},
unknown's avatar
unknown committed
172 173 174 175 176 177 178 179 180 181
  { "HEAP",		SYM(HEAP_SYM),0,0},
  { "HIGH_PRIORITY",	SYM(HIGH_PRIORITY),0,0},
  { "HOUR",		SYM(HOUR_SYM),0,0},
  { "HOUR_MINUTE",	SYM(HOUR_MINUTE_SYM),0,0},
  { "HOUR_SECOND",	SYM(HOUR_SECOND_SYM),0,0},
  { "HOSTS",		SYM(HOSTS_SYM),0,0},
  { "IDENTIFIED",	SYM(IDENTIFIED_SYM),0,0},
  { "IGNORE",		SYM(IGNORE_SYM),0,0},
  { "IN",		SYM(IN_SYM),0,0},
  { "INDEX",		SYM(INDEX),0,0},
unknown's avatar
unknown committed
182
  { "INDEXES",		SYM(INDEXES),0,0},
unknown's avatar
unknown committed
183 184
  { "INFILE",		SYM(INFILE),0,0},
  { "INNER",		SYM(INNER_SYM),0,0},
unknown's avatar
unknown committed
185
  { "INNOBASE",		SYM(INNOBASE_SYM),0,0},
186
  { "INNODB",		SYM(INNOBASE_SYM),0,0},
unknown's avatar
unknown committed
187 188
  { "INSERT",		SYM(INSERT),0,0},
  { "INSERT_ID",	SYM(INSERT_ID),0,0},
189
  { "INSERT_METHOD",    SYM(INSERT_METHOD),0,0},
unknown's avatar
unknown committed
190 191 192 193 194 195 196 197 198
  { "INT",		SYM(INT_SYM),0,0},
  { "INTEGER",		SYM(INT_SYM),0,0},
  { "INTERVAL",		SYM(INTERVAL_SYM),0,0},
  { "INT1",		SYM(TINYINT),0,0},
  { "INT2",		SYM(SMALLINT),0,0},
  { "INT3",		SYM(MEDIUMINT),0,0},
  { "INT4",		SYM(INT_SYM),0,0},
  { "INT8",		SYM(BIGINT),0,0},
  { "INTO",		SYM(INTO),0,0},
199
  { "IO_THREAD",        SYM(IO_THREAD),0,0},
unknown's avatar
unknown committed
200 201
  { "IF",		SYM(IF),0,0},
  { "IS",		SYM(IS),0,0},
unknown's avatar
unknown committed
202
  { "ISOLATION",	SYM(ISOLATION),0,0},
unknown's avatar
unknown committed
203
  { "ISAM",		SYM(ISAM_SYM),0,0},
204
  { "ISSUER",		SYM(ISSUER_SYM),0,0},
unknown's avatar
unknown committed
205 206 207 208
  { "JOIN",		SYM(JOIN_SYM),0,0},
  { "KEY",		SYM(KEY_SYM),0,0},
  { "KEYS",		SYM(KEYS),0,0},
  { "KILL",		SYM(KILL_SYM),0,0},
209
  { "LAST",		SYM(LAST_SYM),0,0},
unknown's avatar
unknown committed
210 211 212
  { "LAST_INSERT_ID",	SYM(LAST_INSERT_ID),0,0},
  { "LEADING",		SYM(LEADING),0,0},
  { "LEFT",		SYM(LEFT),0,0},
unknown's avatar
unknown committed
213
  { "LEVEL",		SYM(LEVEL_SYM),0,0},
unknown's avatar
unknown committed
214 215 216 217 218 219
  { "LIKE",		SYM(LIKE),0,0},
  { "LINES",		SYM(LINES),0,0},
  { "LIMIT",		SYM(LIMIT),0,0},
  { "LOAD",		SYM(LOAD),0,0},
  { "LOCAL",		SYM(LOCAL_SYM),0,0},
  { "LOCK",		SYM(LOCK_SYM),0,0},
unknown's avatar
unknown committed
220
  { "LOCKS",		SYM(LOCKS_SYM),0,0},
unknown's avatar
unknown committed
221 222 223 224 225
  { "LOGS",		SYM(LOGS_SYM),0,0},
  { "LONG",		SYM(LONG_SYM),0,0},
  { "LONGBLOB",		SYM(LONGBLOB),0,0},
  { "LONGTEXT",		SYM(LONGTEXT),0,0},
  { "LOW_PRIORITY",	SYM(LOW_PRIORITY),0,0},
226 227 228 229 230 231 232
  { "MASTER",           SYM(MASTER_SYM),0,0},
  { "MASTER_CONNECT_RETRY",           SYM(MASTER_CONNECT_RETRY_SYM),0,0},
  { "MASTER_HOST",           SYM(MASTER_HOST_SYM),0,0},
  { "MASTER_LOG_FILE",           SYM(MASTER_LOG_FILE_SYM),0,0},
  { "MASTER_LOG_POS",           SYM(MASTER_LOG_POS_SYM),0,0},
  { "MASTER_PASSWORD",           SYM(MASTER_PASSWORD_SYM),0,0},
  { "MASTER_PORT",           SYM(MASTER_PORT_SYM),0,0},
unknown's avatar
unknown committed
233
  { "MASTER_SERVER_ID",           SYM(MASTER_SERVER_ID_SYM),0,0},
234
  { "MASTER_USER",           SYM(MASTER_USER_SYM),0,0},
unknown's avatar
unknown committed
235
  { "MAX_ROWS",		SYM(MAX_ROWS),0,0},
unknown's avatar
unknown committed
236
  { "MAX_QUERIES_PER_HOUR", SYM(MAX_QUERIES_PER_HOUR), 0,0},
237 238
  { "MAX_UPDATES_PER_HOUR", SYM(MAX_UPDATES_PER_HOUR), 0,0},
  { "MAX_CONNECTIONS_PER_HOUR", SYM(MAX_CONNECTIONS_PER_HOUR), 0,0},
unknown's avatar
unknown committed
239 240 241 242 243
  { "MATCH",		SYM(MATCH),0,0},
  { "MEDIUMBLOB",	SYM(MEDIUMBLOB),0,0},
  { "MEDIUMTEXT",	SYM(MEDIUMTEXT),0,0},
  { "MEDIUMINT",	SYM(MEDIUMINT),0,0},
  { "MERGE",		SYM(MERGE_SYM),0,0},
244
  { "MEDIUM",		SYM(MEDIUM_SYM),0,0},
unknown's avatar
unknown committed
245 246 247 248
  { "MIDDLEINT",	SYM(MEDIUMINT),0,0},	/* For powerbuilder */
  { "MIN_ROWS",		SYM(MIN_ROWS),0,0},
  { "MINUTE",		SYM(MINUTE_SYM),0,0},
  { "MINUTE_SECOND",	SYM(MINUTE_SECOND_SYM),0,0},
unknown's avatar
unknown committed
249
  { "MODE",		SYM(MODE_SYM),0,0},
unknown's avatar
unknown committed
250 251
  { "MODIFY",		SYM(MODIFY_SYM),0,0},
  { "MONTH",		SYM(MONTH_SYM),0,0},
unknown's avatar
unknown committed
252
  { "MRG_MYISAM",	SYM(MERGE_SYM),0,0},
unknown's avatar
unknown committed
253 254 255
  { "MYISAM",		SYM(MYISAM_SYM),0,0},
  { "NATURAL",		SYM(NATURAL),0,0},
  { "NATIONAL",		SYM(NATIONAL_SYM),0,0},
256
  { "NEXT",		SYM(NEXT_SYM),0,0},
unknown's avatar
unknown committed
257
  { "NEW",              SYM(NEW_SYM),0,0},
unknown's avatar
unknown committed
258 259 260 261
  { "NCHAR",		SYM(NCHAR_SYM),0,0},
  { "NO",		SYM(NO_SYM),0,0},
  { "NOT",		SYM(NOT),0,0},
  { "NULL",		SYM(NULL_SYM),0,0},
262
  { "NUMERIC",		SYM(NUMERIC_SYM),0,0},
unknown's avatar
unknown committed
263
  { "OFF",              SYM(OFF),0,0},
unknown's avatar
unknown committed
264
  { "ON",		SYM(ON),0,0},
265
  { "OPEN",		SYM(OPEN_SYM),0,0},
unknown's avatar
unknown committed
266 267 268 269 270 271 272 273 274 275
  { "OPTIMIZE",		SYM(OPTIMIZE),0,0},
  { "OPTION",		SYM(OPTION),0,0},
  { "OPTIONALLY",	SYM(OPTIONALLY),0,0},
  { "OR",		SYM(OR),0,0},
  { "ORDER",		SYM(ORDER_SYM),0,0},
  { "OUTER",		SYM(OUTER),0,0},
  { "OUTFILE",		SYM(OUTFILE),0,0},
  { "PACK_KEYS",	SYM(PACK_KEYS_SYM),0,0},
  { "PARTIAL",		SYM(PARTIAL),0,0},
  { "PASSWORD",		SYM(PASSWORD),0,0},
unknown's avatar
unknown committed
276
  { "PURGE",		SYM(PURGE),0,0},
unknown's avatar
unknown committed
277
  { "PRECISION",	SYM(PRECISION),0,0},
278
  { "PREV",		SYM(PREV_SYM),0,0},
unknown's avatar
unknown committed
279 280 281 282 283
  { "PRIMARY",		SYM(PRIMARY_SYM),0,0},
  { "PROCEDURE",	SYM(PROCEDURE),0,0},
  { "PROCESS"	,	SYM(PROCESS),0,0},
  { "PROCESSLIST",	SYM(PROCESSLIST_SYM),0,0},
  { "PRIVILEGES",	SYM(PRIVILEGES),0,0},
unknown's avatar
unknown committed
284
  { "QUERY",		SYM(QUERY_SYM),0,0},
unknown's avatar
unknown committed
285 286 287 288 289
  { "QUICK",	        SYM(QUICK),0,0},
  { "RAID0",		SYM(RAID_0_SYM),0,0},
  { "READ",		SYM(READ_SYM),0,0},
  { "REAL",		SYM(REAL),0,0},
  { "REFERENCES",	SYM(REFERENCES),0,0},
290 291
  { "RELAY_LOG_FILE",   SYM(RELAY_LOG_FILE_SYM),0,0},
  { "RELAY_LOG_POS",    SYM(RELAY_LOG_POS_SYM),0,0},
unknown's avatar
unknown committed
292 293 294 295 296
  { "RELOAD",		SYM(RELOAD),0,0},
  { "REGEXP",		SYM(REGEXP),0,0},
  { "RENAME",		SYM(RENAME),0,0},
  { "REPAIR",		SYM(REPAIR),0,0},
  { "REPLACE",		SYM(REPLACE),0,0},
unknown's avatar
unknown committed
297
  { "REPEATABLE",	SYM(REPEATABLE_SYM),0,0},
298
  { "REQUIRE",	        SYM(REQUIRE_SYM),0,0},
unknown's avatar
unknown committed
299
  { "RESET",		SYM(RESET_SYM),0,0},
300
  { "USER_RESOURCES",	SYM(RESOURCES),0,0},
unknown's avatar
unknown committed
301
  { "RESTORE",		SYM(RESTORE_SYM),0,0},
unknown's avatar
unknown committed
302 303 304
  { "RESTRICT",		SYM(RESTRICT),0,0},
  { "RETURNS",		SYM(UDF_RETURNS_SYM),0,0},
  { "REVOKE",		SYM(REVOKE),0,0},
305
  { "RIGHT",		SYM(RIGHT),0,0},
unknown's avatar
unknown committed
306 307 308 309
  { "RLIKE",		SYM(REGEXP),0,0},	/* Like in mSQL2 */
  { "ROLLBACK",		SYM(ROLLBACK_SYM),0,0},
  { "ROW",		SYM(ROW_SYM),0,0},
  { "ROWS",		SYM(ROWS_SYM),0,0},
unknown's avatar
unknown committed
310
  { "RTREE",		SYM(RTREE_SYM),0,0},
unknown's avatar
unknown committed
311 312
  { "SECOND",		SYM(SECOND_SYM),0,0},
  { "SELECT",		SYM(SELECT_SYM),0,0},
unknown's avatar
unknown committed
313 314
  { "SERIALIZABLE",	SYM(SERIALIZABLE_SYM),0,0},
  { "SESSION",		SYM(SESSION_SYM),0,0},
unknown's avatar
unknown committed
315
  { "SET",		SYM(SET),0,0},
unknown's avatar
unknown committed
316
  { "SIGNED",		SYM(SIGNED_SYM),0,0},
317
  { "SIMPLE",		SYM(SIMPLE_SYM),0,0},
unknown's avatar
unknown committed
318
  { "SHARE",		SYM(SHARE_SYM),0,0},
unknown's avatar
unknown committed
319 320 321 322 323
  { "SHOW",		SYM(SHOW),0,0},
  { "SHUTDOWN",		SYM(SHUTDOWN),0,0},
  { "SLAVE",            SYM(SLAVE),0,0},
  { "SMALLINT",		SYM(SMALLINT),0,0},
  { "SONAME",		SYM(UDF_SONAME_SYM),0,0},
unknown's avatar
unknown committed
324
  { "SPATIAL",		SYM(SPATIAL_SYM),0,0},
unknown's avatar
unknown committed
325 326 327 328 329
  { "SQL_AUTO_IS_NULL", SYM(SQL_AUTO_IS_NULL),0,0},
  { "SQL_BIG_RESULT",	SYM(SQL_BIG_RESULT),0,0},
  { "SQL_BIG_SELECTS",	SYM(SQL_BIG_SELECTS),0,0},
  { "SQL_BIG_TABLES",	SYM(SQL_BIG_TABLES),0,0},
  { "SQL_BUFFER_RESULT", SYM(SQL_BUFFER_RESULT),0,0},
unknown's avatar
unknown committed
330
  { "SQL_CACHE",        SYM(SQL_CACHE_SYM), 0, 0},
331
  { "SQL_CALC_FOUND_ROWS", SYM(SQL_CALC_FOUND_ROWS),0,0},
unknown's avatar
unknown committed
332
  { "SQL_ERROR_COUNT",	SYM(SQL_ERROR_COUNT),0,0},
unknown's avatar
unknown committed
333 334 335 336 337
  { "SQL_LOG_BIN",	SYM(SQL_LOG_BIN),0,0},
  { "SQL_LOG_OFF",	SYM(SQL_LOG_OFF),0,0},
  { "SQL_LOG_UPDATE",	SYM(SQL_LOG_UPDATE),0,0},
  { "SQL_LOW_PRIORITY_UPDATES", SYM(SQL_LOW_PRIORITY_UPDATES),0,0},
  { "SQL_MAX_JOIN_SIZE",SYM(SQL_MAX_JOIN_SIZE), 0, 0},
unknown's avatar
unknown committed
338
  { "SQL_NO_CACHE",	SYM(SQL_NO_CACHE_SYM), 0, 0},
unknown's avatar
unknown committed
339
  { "SQL_QUERY_CACHE_TYPE",SYM(SQL_QUERY_CACHE_TYPE_SYM), 0, 0},
340
  { "SQL_QUOTE_SHOW_CREATE",SYM(SQL_QUOTE_SHOW_CREATE), 0, 0},
unknown's avatar
unknown committed
341 342
  { "SQL_SAFE_UPDATES", SYM(SQL_SAFE_UPDATES),0,0},
  { "SQL_SELECT_LIMIT", SYM(SQL_SELECT_LIMIT),0,0},
343
  { "SQL_SLAVE_SKIP_COUNTER", SYM(SQL_SLAVE_SKIP_COUNTER),0,0},
unknown's avatar
unknown committed
344
  { "SQL_SMALL_RESULT", SYM(SQL_SMALL_RESULT),0,0},
345
  { "SQL_THREAD", SYM(SQL_THREAD),0,0},
unknown's avatar
unknown committed
346
  { "SQL_WARNINGS",	SYM(SQL_WARNINGS),0,0},
347
  { "SSL",		SYM(SSL_SYM),0,0},
unknown's avatar
unknown committed
348 349 350 351 352 353 354
  { "STRAIGHT_JOIN",	SYM(STRAIGHT_JOIN),0,0},
  { "START",		SYM(START_SYM),0,0},
  { "STARTING",		SYM(STARTING),0,0},
  { "STATUS",		SYM(STATUS_SYM),0,0},
  { "STRING",		SYM(STRING_SYM),0,0},
  { "STOP",		SYM(STOP_SYM),0,0},
  { "STRIPED",		SYM(RAID_STRIPED_SYM),0,0},
355
  { "SUBJECT",		SYM(SUBJECT_SYM),0,0},
unknown's avatar
unknown committed
356 357 358 359 360 361 362 363 364 365 366 367
  { "TABLE",		SYM(TABLE_SYM),0,0},
  { "TABLES",		SYM(TABLES),0,0},
  { "TEMPORARY",	SYM(TEMPORARY),0,0},
  { "TERMINATED",	SYM(TERMINATED),0,0},
  { "TEXT",		SYM(TEXT_SYM),0,0},
  { "THEN",		SYM(THEN_SYM),0,0},
  { "TIME",		SYM(TIME_SYM),0,0},
  { "TIMESTAMP",	SYM(TIMESTAMP),0,0},
  { "TINYBLOB",		SYM(TINYBLOB),0,0},
  { "TINYTEXT",		SYM(TINYTEXT),0,0},
  { "TINYINT",		SYM(TINYINT),0,0},
  { "TRAILING",		SYM(TRAILING),0,0},
unknown's avatar
unknown committed
368
  { "TRANSACTION",	SYM(TRANSACTION_SYM),0,0},
369
  { "TRUNCATE",		SYM(TRUNCATE_SYM),0,0},
unknown's avatar
unknown committed
370 371
  { "TO",		SYM(TO_SYM),0,0},
  { "TYPE",		SYM(TYPE_SYM),0,0},
unknown's avatar
unknown committed
372
  { "TYPES",		SYM(TYPES_SYM),0,0},
unknown's avatar
unknown committed
373
  { "UNCOMMITTED",	SYM(UNCOMMITTED_SYM),0,0},
374
  { "UNION",	        SYM(UNION_SYM),0,0},
unknown's avatar
unknown committed
375 376 377
  { "UNIQUE",		SYM(UNIQUE_SYM),0,0},
  { "UNLOCK",		SYM(UNLOCK_SYM),0,0},
  { "UNSIGNED",		SYM(UNSIGNED),0,0},
378
  { "USE",		SYM(USE_SYM),0,0},
unknown's avatar
unknown committed
379
  { "USE_FRM",		SYM(USE_FRM),0,0},
380
  { "USING",		SYM(USING),0,0},
unknown's avatar
unknown committed
381 382 383 384 385 386 387
  { "UPDATE",		SYM(UPDATE_SYM),0,0},
  { "USAGE",		SYM(USAGE),0,0},
  { "VALUES",		SYM(VALUES),0,0},
  { "VARCHAR",		SYM(VARCHAR),0,0},
  { "VARIABLES",	SYM(VARIABLES),0,0},
  { "VARYING",		SYM(VARYING),0,0},
  { "VARBINARY",	SYM(VARBINARY),0,0},
unknown's avatar
unknown committed
388
  { "WARNINGS",		SYM(WARNINGS),0,0},
unknown's avatar
unknown committed
389 390 391 392 393
  { "WITH",		SYM(WITH),0,0},
  { "WORK",		SYM(WORK_SYM),0,0},
  { "WRITE",		SYM(WRITE_SYM),0,0},
  { "WHEN",		SYM(WHEN_SYM),0,0},
  { "WHERE",		SYM(WHERE),0,0},
394
  { "X509",		SYM(X509_SYM),0,0},
unknown's avatar
unknown committed
395 396 397 398 399 400 401 402 403 404 405
  { "YEAR",		SYM(YEAR_SYM),0,0},
  { "YEAR_MONTH",	SYM(YEAR_MONTH_SYM),0,0},
  { "ZEROFILL",		SYM(ZEROFILL),0,0},
  { "||",		SYM(OR_OR_CONCAT),0,0}
};


static SYMBOL sql_functions[] = {
  { "ABS",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_abs)},
  { "ACOS",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_acos)},
  { "ADDDATE",		SYM(DATE_ADD_INTERVAL),0,0},
unknown's avatar
unknown committed
406
  { "AREA",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_area)},
unknown's avatar
unknown committed
407 408
  { "ASCII",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ascii)},
  { "ASIN",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_asin)},
unknown's avatar
unknown committed
409
  { "ASTEXT",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_as_text)},
unknown's avatar
unknown committed
410 411 412 413 414 415 416
  { "ATAN",		SYM(ATAN),0,0},
  { "ATAN2",		SYM(ATAN),0,0},
  { "BENCHMARK",	SYM(BENCHMARK_SYM),0,0},
  { "BIN",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_bin)},
  { "BIT_COUNT",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_bit_count)},
  { "BIT_OR",		SYM(BIT_OR),0,0},
  { "BIT_AND",		SYM(BIT_AND),0,0},
unknown's avatar
unknown committed
417
  { "CAST",		SYM(CAST_SYM),0,0},
unknown's avatar
unknown committed
418
  { "CEILING",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ceiling)},
unknown's avatar
unknown committed
419
  { "BIT_LENGTH",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_bit_length)},
unknown's avatar
unknown committed
420
  { "CENTROID",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_centroid)},
unknown's avatar
unknown committed
421 422 423 424 425 426
  { "CHAR_LENGTH",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_char_length)},
  { "CHARACTER_LENGTH", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_char_length)},
  { "COALESCE",		SYM(COALESCE),0,0},
  { "CONCAT",		SYM(CONCAT),0,0},
  { "CONCAT_WS",	SYM(CONCAT_WS),0,0},
  { "CONNECTION_ID",	SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_connection_id)},
unknown's avatar
unknown committed
427
  { "CONTAINS",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_contains)},
unknown's avatar
unknown committed
428
  { "CONV",		SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_conv)},
unknown's avatar
unknown committed
429
  { "CONVERT",		SYM(CONVERT_SYM),0,0},
unknown's avatar
unknown committed
430 431 432
  { "COUNT",		SYM(COUNT_SYM),0,0},
  { "COS",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cos)},
  { "COT",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cot)},
unknown's avatar
unknown committed
433
  { "CROSSES",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_crosses)},
unknown's avatar
unknown committed
434 435 436 437 438 439 440 441 442 443 444
  { "CURDATE",		SYM(CURDATE),0,0},
  { "CURTIME",		SYM(CURTIME),0,0},
  { "DATE_ADD",		SYM(DATE_ADD_INTERVAL),0,0},
  { "DATE_FORMAT",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_date_format)},
  { "DATE_SUB",		SYM(DATE_SUB_INTERVAL),0,0},
  { "DAYNAME",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dayname)},
  { "DAYOFMONTH",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dayofmonth)},
  { "DAYOFWEEK",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dayofweek)},
  { "DAYOFYEAR",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dayofyear)},
  { "DECODE",		SYM(DECODE_SYM),0,0},
  { "DEGREES",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_degrees)},
unknown's avatar
unknown committed
445 446
  { "DES_ENCRYPT",	SYM(DES_ENCRYPT_SYM),0,0},
  { "DES_DECRYPT",	SYM(DES_DECRYPT_SYM),0,0},
unknown's avatar
unknown committed
447 448
  { "DIMENSION",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_dimension)},
  { "DISJOINT",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_disjoint)},
unknown's avatar
unknown committed
449 450 451
  { "ELT",		SYM(ELT_FUNC),0,0},
  { "ENCODE",		SYM(ENCODE_SYM),0,0},
  { "ENCRYPT",		SYM(ENCRYPT),0,0},
unknown's avatar
unknown committed
452 453 454 455
  { "ENDPOINT",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_endpoint)},
  { "ENVELOPE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_envelope)},
  { "EQUALS",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_equals)},
  { "EXTERIORRING",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_exteriorring)},
unknown's avatar
unknown committed
456 457 458 459 460 461 462
  { "EXTRACT",		SYM(EXTRACT_SYM),0,0},
  { "EXP",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_exp)},
  { "EXPORT_SET",	SYM(EXPORT_SET),0,0},
  { "FIELD",		SYM(FIELD_FUNC),0,0},	/* For compability */
  { "FIND_IN_SET",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_find_in_set)},
  { "FLOOR",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_floor)},
  { "FORMAT",		SYM(FORMAT_SYM),0,0},
463
  { "FOUND_ROWS",	SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_found_rows)},
unknown's avatar
unknown committed
464 465 466
  { "FROM_DAYS",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_from_days)},
  { "FROM_UNIXTIME",	SYM(FROM_UNIXTIME),0,0},
  { "GET_LOCK",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_get_lock)},
unknown's avatar
unknown committed
467 468 469
  { "GEOMETRYCOLLECTION",SYM(GEOMETRYCOLLECTION),0,0},
  { "GEOMETRYN",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_geometryn)},
  { "GEOMETRYTYPE",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_geometry_type)},
unknown's avatar
unknown committed
470 471
  { "GEOMCOLLFROMTEXT",	SYM(GEOMCOLLFROMTEXT),0,0},
  { "GEOMFROMTEXT",	SYM(GEOMFROMTEXT),0,0},
unknown's avatar
unknown committed
472
  { "GLENGTH",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_glength)},
unknown's avatar
unknown committed
473 474 475 476 477 478 479
  { "GREATEST",		SYM(GREATEST_SYM),0,0},
  { "GROUP_UNIQUE_USERS",	SYM(GROUP_UNIQUE_USERS),0,0},
  { "HEX",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_hex)},
  { "IFNULL",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_ifnull)},
  { "INET_ATON",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_inet_aton)},
  { "INET_NTOA",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_inet_ntoa)},
  { "INSTR",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_instr)},
unknown's avatar
unknown committed
480 481 482 483
  { "INTERIORRINGN",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_interiorringn)},
  { "INTERSECTS",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_intersects)},
  { "ISCLOSED",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isclosed)},
  { "ISEMPTY",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isempty)},
unknown's avatar
unknown committed
484
  { "ISNULL",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_isnull)},
unknown's avatar
unknown committed
485
  { "ISSIMPLE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_issimple)},
unknown's avatar
unknown committed
486 487 488
  { "LCASE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_lcase)},
  { "LEAST",		SYM(LEAST_SYM),0,0},
  { "LENGTH",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_length)},
unknown's avatar
unknown committed
489
  { "LINEFROMTEXT",	SYM(LINEFROMTEXT),0,0},
unknown's avatar
unknown committed
490
  { "LINESTRING",	SYM(LINESTRING),0,0},
unknown's avatar
unknown committed
491 492 493 494 495 496 497
  { "LOAD_FILE",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_load_file)},
  { "LOCATE",		SYM(LOCATE),0,0},
  { "LOG",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_log)},
  { "LOG10",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_log10)},
  { "LOWER",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_lcase)},
  { "LPAD",		SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_lpad)},
  { "LTRIM",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ltrim)},
unknown's avatar
unknown committed
498 499
  { "MASTER_POS_WAIT", SYM(FUNC_ARG2),0,
      CREATE_FUNC(create_wait_for_master_pos)},
unknown's avatar
unknown committed
500
  { "MAKE_SET",		SYM(MAKE_SET_SYM),0,0},
501
  { "MAX",		SYM(MAX_SYM),0,0},
unknown's avatar
unknown committed
502 503 504 505
  { "MD5",              SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_md5)},
  { "MID",		SYM(SUBSTRING),0,0},	/* unireg function */
  { "MIN",		SYM(MIN_SYM),0,0},
  { "MOD",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_mod)},
unknown's avatar
unknown committed
506 507 508
  { "MLINEFROMTEXT",	SYM(MLINEFROMTEXT),0,0},
  { "MPOINTFROMTEXT",	SYM(MPOINTFROMTEXT),0,0},
  { "MPOLYFROMTEXT",	SYM(MPOLYFROMTEXT),0,0},
unknown's avatar
unknown committed
509 510 511
  { "MULTILINESTRING",	SYM(MULTILINESTRING),0,0},
  { "MULTIPOINT",	SYM(MULTIPOINT),0,0},
  { "MULTIPOLYGON",	SYM(MULTIPOLYGON),0,0},
unknown's avatar
unknown committed
512 513 514
  { "MONTHNAME",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_monthname)},
  { "NOW",		SYM(NOW_SYM),0,0},
  { "NULLIF",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_nullif)},
unknown's avatar
unknown committed
515 516 517
  { "NUMGEOMETRIES",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numgeometries)},
  { "NUMINTERIORRING",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numinteriorring)},
  { "NUMPOINTS",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_numpoints)},
unknown's avatar
unknown committed
518 519 520
  { "OCTET_LENGTH",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_length)},
  { "OCT",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_oct)},
  { "ORD",              SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ord)},
unknown's avatar
unknown committed
521
  { "OVERLAPS",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_overlaps)},
unknown's avatar
unknown committed
522 523 524
  { "PERIOD_ADD",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_period_add)},
  { "PERIOD_DIFF",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_period_diff)},
  { "PI",		SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_pi)},
unknown's avatar
unknown committed
525
  { "POINT",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_point)},
unknown's avatar
unknown committed
526
  { "POINTFROMTEXT",	SYM(POINTFROMTEXT),0,0},
unknown's avatar
unknown committed
527
  { "POINTN",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pointn)},
unknown's avatar
unknown committed
528
  { "POLYFROMTEXT",	SYM(POLYFROMTEXT),0,0},
unknown's avatar
unknown committed
529
  { "POLYGON",		SYM(POLYGON),0,0},
unknown's avatar
unknown committed
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
  { "POSITION",		SYM(POSITION_SYM),0,0},
  { "POW",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pow)},
  { "POWER",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_pow)},
  { "QUARTER",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_quarter)},
  { "RADIANS",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_radians)},
  { "RAND",		SYM(RAND),0,0},
  { "RELEASE_LOCK",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_release_lock)},
  { "REPEAT",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_repeat)},
  { "REVERSE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_reverse)},
  { "ROUND",		SYM(ROUND),0,0},
  { "RPAD",		SYM(FUNC_ARG3),0,CREATE_FUNC(create_func_rpad)},
  { "RTRIM",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_rtrim)},
  { "SEC_TO_TIME",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_sec_to_time)},
  { "SESSION_USER",	SYM(USER),0,0},
  { "SUBDATE",		SYM(DATE_SUB_INTERVAL),0,0},
  { "SIGN",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_sign)},
  { "SIN",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_sin)},
  { "SOUNDEX",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_soundex)},
  { "SPACE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_space)},
  { "SQRT",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_sqrt)},
unknown's avatar
unknown committed
550
  { "STARTPOINT",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_startpoint)},
unknown's avatar
unknown committed
551 552 553 554 555 556 557 558 559 560 561 562
  { "STD",		SYM(STD_SYM),0,0},
  { "STDDEV",		SYM(STD_SYM),0,0},
  { "STRCMP",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_strcmp)},
  { "SUBSTRING",	SYM(SUBSTRING),0,0},
  { "SUBSTRING_INDEX",	SYM(SUBSTRING_INDEX),0,0},
  { "SUM",		SYM(SUM_SYM),0,0},
  { "SYSDATE",		SYM(NOW_SYM),0,0},
  { "SYSTEM_USER",	SYM(USER),0,0},
  { "TAN",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_tan)},
  { "TIME_FORMAT",	SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_time_format)},
  { "TIME_TO_SEC",	SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_time_to_sec)},
  { "TO_DAYS",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_to_days)},
unknown's avatar
unknown committed
563
  { "TOUCHES",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_touches)},
unknown's avatar
unknown committed
564 565 566 567
  { "TRIM",		SYM(TRIM),0,0},
  { "UCASE",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ucase)},
  { "UNIQUE_USERS",	SYM(UNIQUE_USERS),0,0},
  { "UNIX_TIMESTAMP",	SYM(UNIX_TIMESTAMP),0,0},
unknown's avatar
unknown committed
568
  { "UPPER",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ucase)},
unknown's avatar
unknown committed
569 570 571 572
  { "USER",		SYM(USER),0,0},
  { "VERSION",		SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_version)},
  { "WEEK",		SYM(WEEK_SYM),0,0},
  { "WEEKDAY",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_weekday)},
unknown's avatar
unknown committed
573 574 575
  { "WITHIN",		SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_within)},
  { "X",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_x)},
  { "Y",		SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_y)},
unknown's avatar
unknown committed
576
  { "YEARWEEK",		SYM(YEARWEEK),0,0}
unknown's avatar
unknown committed
577
  
unknown's avatar
unknown committed
578
};