136
136
#include "drizzled/internal/m_string.h"
139
using namespace drizzled;
145
139
int yylex(void *yylval, void *yysession);
147
141
#define yyoverflow(A,B,C,D,E,F) \
149
143
ulong val= *(F); \
150
if (my_yyoverflow((B), (D), &val)) \
144
if (drizzled::my_yyoverflow((B), (D), &val)) \
152
146
yyerror((char*) (A)); \
400
} /* namespace drizzled; */
402
using namespace drizzled;
402
407
uint64_t ulonglong_number;
403
408
int64_t longlong_number;
405
LEX_STRING *lex_str_ptr;
409
drizzled::LEX_STRING lex_str;
410
drizzled::LEX_STRING *lex_str_ptr;
411
drizzled::LEX_SYMBOL symbol;
412
drizzled::Table_ident *table;
408
413
char *simple_string;
411
List<Item> *item_list;
412
List<String> *string_list;
414
Key_part_spec *key_part;
415
const ::drizzled::plugin::Function *udf;
416
TableList *table_list;
417
struct sys_var_with_base variable;
418
enum enum_var_type var_type;
419
Key::Keytype key_type;
420
enum ha_key_alg key_alg;
421
enum row_type row_type;
422
enum column_format_type column_format_type;
423
enum ha_rkey_function ha_rkey_mode;
424
enum enum_tx_isolation tx_isolation;
425
enum Cast_target cast_type;
426
const CHARSET_INFO *charset;
427
thr_lock_type lock_type;
428
interval_type interval, interval_time_st;
429
enum enum_drizzle_timestamp_type date_time_type;
430
Select_Lex *select_lex;
431
chooser_compare_func_creator boolfunc2creator;
433
struct p_elem_val *p_elem_value;
434
enum index_hint_type index_hint;
435
enum enum_filetype filetype;
436
enum ha_build_method build_method;
437
enum Foreign_key::fk_option m_fk_option;
414
drizzled::Item *item;
415
drizzled::Item_num *item_num;
416
drizzled::List<drizzled::Item> *item_list;
417
drizzled::List<drizzled::String> *string_list;
418
drizzled::String *string;
419
drizzled::Key_part_spec *key_part;
420
const drizzled::plugin::Function *udf;
421
drizzled::TableList *table_list;
422
struct drizzled::sys_var_with_base variable;
423
enum drizzled::enum_var_type var_type;
424
drizzled::Key::Keytype key_type;
425
enum drizzled::ha_key_alg key_alg;
426
enum drizzled::row_type row_type;
427
enum drizzled::column_format_type column_format_type;
428
enum drizzled::ha_rkey_function ha_rkey_mode;
429
enum drizzled::enum_tx_isolation tx_isolation;
430
enum drizzled::Cast_target cast_type;
431
const drizzled::CHARSET_INFO *charset;
432
drizzled::thr_lock_type lock_type;
433
drizzled::interval_type interval, interval_time_st;
434
enum drizzled::enum_drizzle_timestamp_type date_time_type;
435
drizzled::Select_Lex *select_lex;
436
drizzled::chooser_compare_func_creator boolfunc2creator;
437
struct drizzled::st_lex *lex;
438
enum drizzled::index_hint_type index_hint;
439
enum drizzled::enum_filetype filetype;
440
enum drizzled::ha_build_method build_method;
441
enum drizzled::Foreign_key::fk_option m_fk_option;
441
447
bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
444
451
%pure_parser /* We have threads */
4370
NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4377
NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4371
4378
| HEX_NUM { $$= (ulong) strtol($1.str, (char**) 0, 16); }
4372
| LONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4373
| ULONGLONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4374
| DECIMAL_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4375
| FLOAT_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4379
| LONG_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4380
| ULONGLONG_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4381
| DECIMAL_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4382
| FLOAT_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4378
4385
real_ulong_num:
4379
NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4386
NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4380
4387
| HEX_NUM { $$= (ulong) strtol($1.str, (char**) 0, 16); }
4381
| LONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4382
| ULONGLONG_NUM { int error; $$= (ulong) my_strtoll10($1.str, (char**) 0, &error); }
4388
| LONG_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4389
| ULONGLONG_NUM { int error; $$= (ulong) internal::my_strtoll10($1.str, (char**) 0, &error); }
4383
4390
| dec_num_error { }
4387
NUM { int error; $$= (uint64_t) my_strtoll10($1.str, (char**) 0, &error); }
4388
| ULONGLONG_NUM { int error; $$= (uint64_t) my_strtoll10($1.str, (char**) 0, &error); }
4389
| LONG_NUM { int error; $$= (uint64_t) my_strtoll10($1.str, (char**) 0, &error); }
4390
| DECIMAL_NUM { int error; $$= (uint64_t) my_strtoll10($1.str, (char**) 0, &error); }
4391
| FLOAT_NUM { int error; $$= (uint64_t) my_strtoll10($1.str, (char**) 0, &error); }
4394
NUM { int error; $$= (uint64_t) internal::my_strtoll10($1.str, (char**) 0, &error); }
4395
| ULONGLONG_NUM { int error; $$= (uint64_t) internal::my_strtoll10($1.str, (char**) 0, &error); }
4396
| LONG_NUM { int error; $$= (uint64_t) internal::my_strtoll10($1.str, (char**) 0, &error); }
4397
| DECIMAL_NUM { int error; $$= (uint64_t) internal::my_strtoll10($1.str, (char**) 0, &error); }
4398
| FLOAT_NUM { int error; $$= (uint64_t) internal::my_strtoll10($1.str, (char**) 0, &error); }
5360
$$ = new Item_int($1.str, (int64_t) my_strtoll10($1.str, NULL, &error), $1.length);
5367
$$ = new Item_int($1.str, (int64_t) internal::my_strtoll10($1.str, NULL, &error), $1.length);
5365
$$ = new Item_int($1.str, (int64_t) my_strtoll10($1.str, NULL, &error), $1.length);
5372
$$ = new Item_int($1.str, (int64_t) internal::my_strtoll10($1.str, NULL, &error), $1.length);
5367
5374
| ULONGLONG_NUM
5368
5375
{ $$ = new Item_uint($1.str, $1.length); }