fontconfig: needs host-gperf
[buildroot-gz.git] / package / oracle-mysql / 0005-bison_3_breaks_mysql_server_build.patch
blob918fe2456a4a7bb27e20b944cf25ac2a654c8632
1 fix the yacc code in mysql
3 Signed-off-by: Marcelo Gutierrez (UTN/FRH) <kuyurix@gmail.com>
4 ---
5 diff -uNr mysql-5.1.73.orig/sql/sql_lex.cc mysql-5.1.73/sql/sql_lex.cc
6 --- mysql-5.1.73.orig/sql/sql_lex.cc 2013-11-04 18:52:27.000000000 +0000
7 +++ mysql-5.1.73/sql/sql_lex.cc 2014-02-12 14:12:04.244111625 +0000
8 @@ -775,14 +775,13 @@
9 (which can't be followed by a signed number)
12 -int MYSQLlex(void *arg, void *yythd)
13 +int MYSQLlex(void *arg, THD *thd)
15 reg1 uchar c= 0;
16 bool comment_closed;
17 int tokval, result_state;
18 uint length;
19 enum my_lex_states state;
20 - THD *thd= (THD *)yythd;
21 Lex_input_stream *lip= & thd->m_parser_state->m_lip;
22 LEX *lex= thd->lex;
23 YYSTYPE *yylval=(YYSTYPE*) arg;
24 diff -uNr mysql-5.1.73.orig/sql/sql_lex.h mysql-5.1.73/sql/sql_lex.h
25 --- mysql-5.1.73.orig/sql/sql_lex.h 2013-11-04 18:52:27.000000000 +0000
26 +++ mysql-5.1.73/sql/sql_lex.h 2014-02-12 14:17:19.424106423 +0000
27 @@ -2072,7 +2072,7 @@
28 extern void lex_free(void);
29 extern void lex_start(THD *thd);
30 extern void lex_end(LEX *lex);
31 -extern int MYSQLlex(void *arg, void *yythd);
32 +extern int MYSQLlex(void *arg, THD *thd);
34 extern void trim_whitespace(CHARSET_INFO *cs, LEX_STRING *str);
36 diff -uNr mysql-5.1.73.orig/sql/sql_parse.cc mysql-5.1.73/sql/sql_parse.cc
37 --- mysql-5.1.73.orig/sql/sql_parse.cc 2013-11-04 18:52:27.000000000 +0000
38 +++ mysql-5.1.73/sql/sql_parse.cc 2014-02-12 14:19:20.424104427 +0000
39 @@ -8012,7 +8012,7 @@
43 -extern int MYSQLparse(void *thd); // from sql_yacc.cc
44 +extern int MYSQLparse(THD *thd); // from sql_yacc.cc
47 /**
48 diff -uNr mysql-5.1.73.orig/sql/sql_yacc.yy mysql-5.1.73/sql/sql_yacc.yy
49 --- mysql-5.1.73.orig/sql/sql_yacc.yy 2013-11-04 18:52:27.000000000 +0000
50 +++ mysql-5.1.73/sql/sql_yacc.yy 2014-02-12 20:17:06.707750140 +0000
51 @@ -23,19 +23,13 @@
55 -/* thd is passed as an argument to yyparse(), and subsequently to yylex().
56 -** The type will be void*, so it must be cast to (THD*) when used.
57 -** Use the YYTHD macro for this.
58 -*/
59 -#define YYPARSE_PARAM yythd
60 -#define YYLEX_PARAM yythd
61 -#define YYTHD ((THD *)yythd)
62 -#define YYLIP (& YYTHD->m_parser_state->m_lip)
64 +#define YYLIP (& thd->m_parser_state->m_lip)
66 #define MYSQL_YACC
67 #define YYINITDEPTH 100
68 #define YYMAXDEPTH 3200 /* Because of 64K stack */
69 -#define Lex (YYTHD->lex)
70 +#define Lex (thd->lex)
71 #define Select Lex->current_select
72 #include "mysql_priv.h"
73 #include "slave.h"
74 @@ -55,7 +49,7 @@
75 #pragma warning (disable : 4065)
76 #endif
78 -int yylex(void *yylval, void *yythd);
79 +int yylex(void *yylval, THD *thd);
81 const LEX_STRING null_lex_str= {0,0};
83 @@ -64,7 +58,7 @@
84 ulong val= *(F); \
85 if (my_yyoverflow((B), (D), &val)) \
86 { \
87 - yyerror((char*) (A)); \
88 + yyerror(current_thd, (char*) (A)); \
89 return 2; \
90 } \
91 else \
92 @@ -76,7 +70,7 @@
93 #define MYSQL_YYABORT \
94 do \
95 { \
96 - LEX::cleanup_lex_after_parse_error(YYTHD);\
97 + LEX::cleanup_lex_after_parse_error(thd);\
98 YYABORT; \
99 } while (0)
101 @@ -159,9 +153,8 @@
102 to abort from the parser.
105 -void MYSQLerror(const char *s)
106 +void MYSQLerror(THD *thd, const char *s)
108 - THD *thd= current_thd;
111 Restore the original LEX if it was replaced when parsing
112 @@ -675,7 +668,10 @@
113 bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
116 -%pure_parser /* We have threads */
117 +/* We have threads */
118 +%define api.pure
119 +%parse-param { THD *thd }
120 +%lex-param { THD *thd }
122 Currently there are 169 shift/reduce conflicts.
123 We should not introduce new conflicts any more.
124 @@ -1516,7 +1512,6 @@
125 query:
126 END_OF_INPUT
128 - THD *thd= YYTHD;
129 if (!thd->bootstrap &&
130 (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
132 @@ -1530,7 +1525,7 @@
134 Lex_input_stream *lip = YYLIP;
136 - if ((YYTHD->client_capabilities & CLIENT_MULTI_QUERIES) &&
137 + if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) &&
138 ! lip->stmt_prepare_mode &&
139 ! lip->eof())
141 @@ -1626,7 +1621,6 @@
142 deallocate:
143 deallocate_or_drop PREPARE_SYM ident
145 - THD *thd= YYTHD;
146 LEX *lex= thd->lex;
147 lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
148 lex->prepared_stmt_name= $3;
149 @@ -1641,7 +1635,6 @@
150 prepare:
151 PREPARE_SYM ident FROM prepare_src
153 - THD *thd= YYTHD;
154 LEX *lex= thd->lex;
155 lex->sql_command= SQLCOM_PREPARE;
156 lex->prepared_stmt_name= $2;
157 @@ -1651,14 +1644,12 @@
158 prepare_src:
159 TEXT_STRING_sys
161 - THD *thd= YYTHD;
162 LEX *lex= thd->lex;
163 lex->prepared_stmt_code= $1;
164 lex->prepared_stmt_code_is_varref= FALSE;
166 | '@' ident_or_text
168 - THD *thd= YYTHD;
169 LEX *lex= thd->lex;
170 lex->prepared_stmt_code= $2;
171 lex->prepared_stmt_code_is_varref= TRUE;
172 @@ -1668,7 +1659,6 @@
173 execute:
174 EXECUTE_SYM ident
176 - THD *thd= YYTHD;
177 LEX *lex= thd->lex;
178 lex->sql_command= SQLCOM_EXECUTE;
179 lex->prepared_stmt_name= $2;
180 @@ -1826,7 +1816,6 @@
181 create:
182 CREATE opt_table_options TABLE_SYM opt_if_not_exists table_ident
184 - THD *thd= YYTHD;
185 LEX *lex= thd->lex;
186 lex->sql_command= SQLCOM_CREATE_TABLE;
187 if (!lex->select_lex.add_table_to_list(thd, $5, NULL,
188 @@ -1844,13 +1833,13 @@
190 create2
192 - LEX *lex= YYTHD->lex;
193 + LEX *lex= thd->lex;
194 lex->current_select= &lex->select_lex;
195 if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
196 !lex->create_info.db_type)
198 - lex->create_info.db_type= ha_default_handlerton(YYTHD);
199 - push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
200 + lex->create_info.db_type= ha_default_handlerton(thd);
201 + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
202 ER_WARN_USING_OTHER_HANDLER,
203 ER(ER_WARN_USING_OTHER_HANDLER),
204 ha_resolve_storage_engine_name(lex->create_info.db_type),
205 @@ -1979,7 +1968,7 @@
206 event_tail:
207 remember_name EVENT_SYM opt_if_not_exists sp_name
209 - THD *thd= YYTHD;
210 + THD *thd= thd;
211 LEX *lex=Lex;
213 lex->stmt_definition_begin= $1;
214 @@ -2046,7 +2035,7 @@
215 ev_starts:
216 /* empty */
218 - Item *item= new (YYTHD->mem_root) Item_func_now_local();
219 + Item *item= new (thd->mem_root) Item_func_now_local();
220 if (item == NULL)
221 MYSQL_YYABORT;
222 Lex->event_parse_data->item_starts= item;
223 @@ -2096,7 +2085,6 @@
225 ev_sql_stmt:
227 - THD *thd= YYTHD;
228 LEX *lex= thd->lex;
229 Lex_input_stream *lip= YYLIP;
231 @@ -2139,7 +2127,6 @@
233 ev_sql_stmt_inner
235 - THD *thd= YYTHD;
236 LEX *lex= thd->lex;
238 /* return back to the original memory root ASAP */
239 @@ -2198,11 +2185,10 @@
240 $$= new sp_name($1, $3, true);
241 if ($$ == NULL)
242 MYSQL_YYABORT;
243 - $$->init_qname(YYTHD);
244 + $$->init_qname(thd);
246 | ident
248 - THD *thd= YYTHD;
249 LEX *lex= thd->lex;
250 LEX_STRING db;
251 if (check_routine_name(&$1))
252 @@ -2272,7 +2258,7 @@
253 lex->sql_command= SQLCOM_CALL;
254 lex->spname= $2;
255 lex->value_list.empty();
256 - sp_add_used_routine(lex, YYTHD, $2, TYPE_ENUM_PROCEDURE);
257 + sp_add_used_routine(lex, thd, $2, TYPE_ENUM_PROCEDURE);
259 opt_sp_cparam_list {}
261 @@ -2345,7 +2331,7 @@
262 (enum enum_field_types)$3,
263 sp_param_in);
265 - if (lex->sphead->fill_field_definition(YYTHD, lex,
266 + if (lex->sphead->fill_field_definition(thd, lex,
267 (enum enum_field_types) $3,
268 &spvar->field_def))
270 @@ -2382,7 +2368,7 @@
271 (enum enum_field_types)$4,
272 (sp_param_mode_t)$1);
274 - if (lex->sphead->fill_field_definition(YYTHD, lex,
275 + if (lex->sphead->fill_field_definition(thd, lex,
276 (enum enum_field_types) $4,
277 &spvar->field_def))
279 @@ -2445,13 +2431,12 @@
281 LEX *lex= Lex;
283 - lex->sphead->reset_lex(YYTHD);
284 + lex->sphead->reset_lex(thd);
285 lex->spcont->declare_var_boundary($2);
287 type
288 sp_opt_default
290 - THD *thd= YYTHD;
291 LEX *lex= Lex;
292 sp_pcontext *pctx= lex->spcont;
293 uint num_vars= pctx->context_var_count();
294 @@ -2477,7 +2462,7 @@
295 spvar->type= var_type;
296 spvar->dflt= dflt_value_item;
298 - if (lex->sphead->fill_field_definition(YYTHD, lex, var_type,
299 + if (lex->sphead->fill_field_definition(thd, lex, var_type,
300 &spvar->field_def))
302 MYSQL_YYABORT;
303 @@ -2501,7 +2486,7 @@
306 pctx->declare_var_boundary(0);
307 - if (lex->sphead->restore_lex(YYTHD))
308 + if (lex->sphead->restore_lex(thd))
309 MYSQL_YYABORT;
310 $$.vars= $2;
311 $$.conds= $$.hndlrs= $$.curs= 0;
312 @@ -2516,7 +2501,7 @@
313 my_error(ER_SP_DUP_COND, MYF(0), $2.str);
314 MYSQL_YYABORT;
316 - if(YYTHD->lex->spcont->push_cond(&$2, $5))
317 + if(thd->lex->spcont->push_cond(&$2, $5))
318 MYSQL_YYABORT;
319 $$.vars= $$.hndlrs= $$.curs= 0;
320 $$.conds= 1;
321 @@ -2602,7 +2587,7 @@
323 sp_cursor_stmt:
325 - Lex->sphead->reset_lex(YYTHD);
326 + Lex->sphead->reset_lex(thd);
328 select
330 @@ -2618,7 +2603,7 @@
332 lex->sp_lex_in_use= TRUE;
333 $$= lex;
334 - if (lex->sphead->restore_lex(YYTHD))
335 + if (lex->sphead->restore_lex(thd))
336 MYSQL_YYABORT;
339 @@ -2662,7 +2647,7 @@
340 sp_cond:
341 ulong_num
342 { /* mysql errno */
343 - $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
344 + $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
345 if ($$ == NULL)
346 MYSQL_YYABORT;
347 $$->type= sp_cond_type_t::number;
348 @@ -2675,7 +2660,7 @@
349 my_error(ER_SP_BAD_SQLSTATE, MYF(0), $3.str);
350 MYSQL_YYABORT;
352 - $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
353 + $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
354 if ($$ == NULL)
355 MYSQL_YYABORT;
356 $$->type= sp_cond_type_t::state;
357 @@ -2705,21 +2690,21 @@
359 | SQLWARNING_SYM /* SQLSTATEs 01??? */
361 - $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
362 + $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
363 if ($$ == NULL)
364 MYSQL_YYABORT;
365 $$->type= sp_cond_type_t::warning;
367 | not FOUND_SYM /* SQLSTATEs 02??? */
369 - $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
370 + $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
371 if ($$ == NULL)
372 MYSQL_YYABORT;
373 $$->type= sp_cond_type_t::notfound;
375 | SQLEXCEPTION_SYM /* All other SQLSTATEs */
377 - $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t));
378 + $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t));
379 if ($$ == NULL)
380 MYSQL_YYABORT;
381 $$->type= sp_cond_type_t::exception;
382 @@ -2789,7 +2774,6 @@
384 sp_proc_stmt_statement:
386 - THD *thd= YYTHD;
387 LEX *lex= thd->lex;
388 Lex_input_stream *lip= YYLIP;
390 @@ -2798,7 +2782,6 @@
392 statement
394 - THD *thd= YYTHD;
395 LEX *lex= thd->lex;
396 Lex_input_stream *lip= YYLIP;
397 sp_head *sp= lex->sphead;
398 @@ -2845,7 +2828,7 @@
400 sp_proc_stmt_return:
401 RETURN_SYM
402 - { Lex->sphead->reset_lex(YYTHD); }
403 + { Lex->sphead->reset_lex(thd); }
404 expr
406 LEX *lex= Lex;
407 @@ -2867,7 +2850,7 @@
408 MYSQL_YYABORT;
409 sp->m_flags|= sp_head::HAS_RETURN;
411 - if (sp->restore_lex(YYTHD))
412 + if (sp->restore_lex(thd))
413 MYSQL_YYABORT;
416 @@ -3094,7 +3077,7 @@
419 sp_if:
420 - { Lex->sphead->reset_lex(YYTHD); }
421 + { Lex->sphead->reset_lex(thd); }
422 expr THEN_SYM
424 LEX *lex= Lex;
425 @@ -3108,7 +3091,7 @@
426 sp->add_cont_backpatch(i) ||
427 sp->add_instr(i))
428 MYSQL_YYABORT;
429 - if (sp->restore_lex(YYTHD))
430 + if (sp->restore_lex(thd))
431 MYSQL_YYABORT;
433 sp_proc_stmts1
434 @@ -3147,7 +3130,7 @@
436 LEX *lex= Lex;
437 case_stmt_action_case(lex);
438 - lex->sphead->reset_lex(YYTHD); /* For expr $3 */
439 + lex->sphead->reset_lex(thd); /* For expr $3 */
441 expr
443 @@ -3156,7 +3139,7 @@
444 MYSQL_YYABORT;
446 /* For expr $3 */
447 - if (lex->sphead->restore_lex(YYTHD))
448 + if (lex->sphead->restore_lex(thd))
449 MYSQL_YYABORT;
451 simple_when_clause_list
452 @@ -3198,7 +3181,7 @@
453 simple_when_clause:
454 WHEN_SYM
456 - Lex->sphead->reset_lex(YYTHD); /* For expr $3 */
457 + Lex->sphead->reset_lex(thd); /* For expr $3 */
459 expr
461 @@ -3208,7 +3191,7 @@
462 if (case_stmt_action_when(lex, $3, true))
463 MYSQL_YYABORT;
464 /* For expr $3 */
465 - if (lex->sphead->restore_lex(YYTHD))
466 + if (lex->sphead->restore_lex(thd))
467 MYSQL_YYABORT;
469 THEN_SYM
470 @@ -3223,7 +3206,7 @@
471 searched_when_clause:
472 WHEN_SYM
474 - Lex->sphead->reset_lex(YYTHD); /* For expr $3 */
475 + Lex->sphead->reset_lex(thd); /* For expr $3 */
477 expr
479 @@ -3231,7 +3214,7 @@
480 if (case_stmt_action_when(lex, $3, false))
481 MYSQL_YYABORT;
482 /* For expr $3 */
483 - if (lex->sphead->restore_lex(YYTHD))
484 + if (lex->sphead->restore_lex(thd))
485 MYSQL_YYABORT;
487 THEN_SYM
488 @@ -3395,7 +3378,7 @@
489 MYSQL_YYABORT;
491 | WHILE_SYM
492 - { Lex->sphead->reset_lex(YYTHD); }
493 + { Lex->sphead->reset_lex(thd); }
494 expr DO_SYM
496 LEX *lex= Lex;
497 @@ -3409,7 +3392,7 @@
498 sp->new_cont_backpatch(i) ||
499 sp->add_instr(i))
500 MYSQL_YYABORT;
501 - if (sp->restore_lex(YYTHD))
502 + if (sp->restore_lex(thd))
503 MYSQL_YYABORT;
505 sp_proc_stmts1 END WHILE_SYM
506 @@ -3424,7 +3407,7 @@
507 lex->sphead->do_cont_backpatch();
509 | REPEAT_SYM sp_proc_stmts1 UNTIL_SYM
510 - { Lex->sphead->reset_lex(YYTHD); }
511 + { Lex->sphead->reset_lex(thd); }
512 expr END REPEAT_SYM
514 LEX *lex= Lex;
515 @@ -3436,7 +3419,7 @@
516 if (i == NULL ||
517 lex->sphead->add_instr(i))
518 MYSQL_YYABORT;
519 - if (lex->sphead->restore_lex(YYTHD))
520 + if (lex->sphead->restore_lex(thd))
521 MYSQL_YYABORT;
522 /* We can shortcut the cont_backpatch here */
523 i->m_cont_dest= ip+1;
524 @@ -3859,7 +3842,6 @@
525 create3 {}
526 | LIKE table_ident
528 - THD *thd= YYTHD;
529 TABLE_LIST *src_table;
530 LEX *lex= thd->lex;
532 @@ -3873,7 +3855,6 @@
534 | '(' LIKE table_ident ')'
536 - THD *thd= YYTHD;
537 TABLE_LIST *src_table;
538 LEX *lex= thd->lex;
540 @@ -4342,7 +4323,6 @@
541 bit_expr
543 Item *part_expr= $1;
544 - THD *thd= YYTHD;
545 LEX *lex= thd->lex;
546 Name_resolution_context *context= &lex->current_select->context;
547 TABLE_LIST *save_list= context->table_list;
548 @@ -4364,7 +4344,7 @@
549 my_error(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, MYF(0));
550 MYSQL_YYABORT;
552 - if (part_expr->fix_fields(YYTHD, (Item**)0) ||
553 + if (part_expr->fix_fields(thd, (Item**)0) ||
554 ((context->table_list= save_list), FALSE) ||
555 (!part_expr->const_item()) ||
556 (!lex->safe_to_cache_query))
557 @@ -4629,7 +4609,7 @@
558 | TYPE_SYM opt_equal storage_engines
560 Lex->create_info.db_type= $3;
561 - WARN_DEPRECATED(yythd, "6.0", "TYPE=storage_engine",
562 + WARN_DEPRECATED(thd, "6.0", "TYPE=storage_engine",
563 "'ENGINE=storage_engine'");
564 Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
566 @@ -4791,19 +4771,19 @@
567 storage_engines:
568 ident_or_text
570 - plugin_ref plugin= ha_resolve_by_name(YYTHD, &$1);
571 + plugin_ref plugin= ha_resolve_by_name(thd, &$1);
573 if (plugin)
574 $$= plugin_data(plugin, handlerton*);
575 else
577 - if (YYTHD->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
578 + if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
580 my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), $1.str);
581 MYSQL_YYABORT;
583 $$= 0;
584 - push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN,
585 + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
586 ER_UNKNOWN_STORAGE_ENGINE,
587 ER(ER_UNKNOWN_STORAGE_ENGINE),
588 $1.str);
589 @@ -4815,7 +4795,7 @@
590 ident_or_text
592 plugin_ref plugin;
593 - if ((plugin= ha_resolve_by_name(YYTHD, &$1)))
594 + if ((plugin= ha_resolve_by_name(thd, &$1)))
595 $$= plugin_data(plugin, handlerton*);
596 else
598 @@ -5043,7 +5023,7 @@
600 char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1];
601 my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length);
602 - push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_NOTE,
603 + push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
604 ER_WARN_DEPRECATED_SYNTAX,
605 ER(ER_WARN_DEPRECATED_SYNTAX),
606 buff, "YEAR(4)");
607 @@ -5057,7 +5037,7 @@
608 { $$=MYSQL_TYPE_TIME; }
609 | TIMESTAMP opt_field_length
611 - if (YYTHD->variables.sql_mode & MODE_MAXDB)
612 + if (thd->variables.sql_mode & MODE_MAXDB)
613 $$=MYSQL_TYPE_DATETIME;
614 else
616 @@ -5189,7 +5169,7 @@
617 real_type:
618 REAL
620 - $$= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ?
621 + $$= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
622 MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
624 | DOUBLE_SYM
625 @@ -5263,7 +5243,7 @@
626 | DEFAULT now_or_signed_literal { Lex->default_value=$2; }
627 | ON UPDATE_SYM NOW_SYM optional_braces
629 - Item *item= new (YYTHD->mem_root) Item_func_now_local();
630 + Item *item= new (thd->mem_root) Item_func_now_local();
631 if (item == NULL)
632 MYSQL_YYABORT;
633 Lex->on_update_value= item;
634 @@ -5312,7 +5292,7 @@
635 now_or_signed_literal:
636 NOW_SYM optional_braces
638 - $$= new (YYTHD->mem_root) Item_func_now_local();
639 + $$= new (thd->mem_root) Item_func_now_local();
640 if ($$ == NULL)
641 MYSQL_YYABORT;
643 @@ -5673,7 +5653,6 @@
644 alter:
645 ALTER opt_ignore TABLE_SYM table_ident
647 - THD *thd= YYTHD;
648 LEX *lex= thd->lex;
649 lex->name.str= 0;
650 lex->name.length= 0;
651 @@ -5799,7 +5778,7 @@
652 Event_parse_data.
655 - if (!(Lex->event_parse_data= Event_parse_data::new_instance(YYTHD)))
656 + if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))
657 MYSQL_YYABORT;
658 Lex->event_parse_data->identifier= $4;
660 @@ -6192,7 +6171,6 @@
662 if (!$4)
664 - THD *thd= YYTHD;
665 $4= thd->variables.collation_database;
667 $5= $5 ? $5 : $4;
668 @@ -6556,7 +6534,7 @@
669 assign_to_keycache:
670 table_ident cache_keys_spec
672 - if (!Select->add_table_to_list(YYTHD, $1, NULL, 0, TL_READ,
673 + if (!Select->add_table_to_list(thd, $1, NULL, 0, TL_READ,
674 Select->pop_index_hints()))
675 MYSQL_YYABORT;
677 @@ -6585,7 +6563,7 @@
678 preload_keys:
679 table_ident cache_keys_spec opt_ignore_leaves
681 - if (!Select->add_table_to_list(YYTHD, $1, NULL, $3, TL_READ,
682 + if (!Select->add_table_to_list(thd, $1, NULL, $3, TL_READ,
683 Select->pop_index_hints()))
684 MYSQL_YYABORT;
686 @@ -6593,7 +6571,7 @@
688 cache_keys_spec:
690 - Lex->select_lex.alloc_index_hints(YYTHD);
691 + Lex->select_lex.alloc_index_hints(thd);
692 Select->set_index_hint_type(INDEX_HINT_USE,
693 global_system_variables.old_mode ?
694 INDEX_HINT_MASK_JOIN :
695 @@ -6813,7 +6791,6 @@
696 | select_item
697 | '*'
699 - THD *thd= YYTHD;
700 Item *item= new (thd->mem_root)
701 Item_field(&thd->lex->current_select->context,
702 NULL, NULL, "*");
703 @@ -6828,7 +6805,6 @@
704 select_item:
705 remember_name select_item2 remember_end select_alias
707 - THD *thd= YYTHD;
708 DBUG_ASSERT($1 < $3);
710 if (add_item_to_list(thd, $2))
711 @@ -6929,7 +6905,7 @@
712 else
714 /* X OR Y */
715 - $$ = new (YYTHD->mem_root) Item_cond_or($1, $3);
716 + $$ = new (thd->mem_root) Item_cond_or($1, $3);
717 if ($$ == NULL)
718 MYSQL_YYABORT;
720 @@ -6937,7 +6913,7 @@
721 | expr XOR expr %prec XOR
723 /* XOR is a proprietary extension */
724 - $$ = new (YYTHD->mem_root) Item_cond_xor($1, $3);
725 + $$ = new (thd->mem_root) Item_cond_xor($1, $3);
726 if ($$ == NULL)
727 MYSQL_YYABORT;
729 @@ -6979,50 +6955,50 @@
730 else
732 /* X AND Y */
733 - $$ = new (YYTHD->mem_root) Item_cond_and($1, $3);
734 + $$ = new (thd->mem_root) Item_cond_and($1, $3);
735 if ($$ == NULL)
736 MYSQL_YYABORT;
739 | NOT_SYM expr %prec NOT_SYM
741 - $$= negate_expression(YYTHD, $2);
742 + $$= negate_expression(thd, $2);
743 if ($$ == NULL)
744 MYSQL_YYABORT;
746 | bool_pri IS TRUE_SYM %prec IS
748 - $$= new (YYTHD->mem_root) Item_func_istrue($1);
749 + $$= new (thd->mem_root) Item_func_istrue($1);
750 if ($$ == NULL)
751 MYSQL_YYABORT;
753 | bool_pri IS not TRUE_SYM %prec IS
755 - $$= new (YYTHD->mem_root) Item_func_isnottrue($1);
756 + $$= new (thd->mem_root) Item_func_isnottrue($1);
757 if ($$ == NULL)
758 MYSQL_YYABORT;
760 | bool_pri IS FALSE_SYM %prec IS
762 - $$= new (YYTHD->mem_root) Item_func_isfalse($1);
763 + $$= new (thd->mem_root) Item_func_isfalse($1);
764 if ($$ == NULL)
765 MYSQL_YYABORT;
767 | bool_pri IS not FALSE_SYM %prec IS
769 - $$= new (YYTHD->mem_root) Item_func_isnotfalse($1);
770 + $$= new (thd->mem_root) Item_func_isnotfalse($1);
771 if ($$ == NULL)
772 MYSQL_YYABORT;
774 | bool_pri IS UNKNOWN_SYM %prec IS
776 - $$= new (YYTHD->mem_root) Item_func_isnull($1);
777 + $$= new (thd->mem_root) Item_func_isnull($1);
778 if ($$ == NULL)
779 MYSQL_YYABORT;
781 | bool_pri IS not UNKNOWN_SYM %prec IS
783 - $$= new (YYTHD->mem_root) Item_func_isnotnull($1);
784 + $$= new (thd->mem_root) Item_func_isnotnull($1);
785 if ($$ == NULL)
786 MYSQL_YYABORT;
788 @@ -7032,19 +7008,19 @@
789 bool_pri:
790 bool_pri IS NULL_SYM %prec IS
792 - $$= new (YYTHD->mem_root) Item_func_isnull($1);
793 + $$= new (thd->mem_root) Item_func_isnull($1);
794 if ($$ == NULL)
795 MYSQL_YYABORT;
797 | bool_pri IS not NULL_SYM %prec IS
799 - $$= new (YYTHD->mem_root) Item_func_isnotnull($1);
800 + $$= new (thd->mem_root) Item_func_isnotnull($1);
801 if ($$ == NULL)
802 MYSQL_YYABORT;
804 | bool_pri EQUAL_SYM predicate %prec EQUAL_SYM
806 - $$= new (YYTHD->mem_root) Item_func_equal($1,$3);
807 + $$= new (thd->mem_root) Item_func_equal($1,$3);
808 if ($$ == NULL)
809 MYSQL_YYABORT;
811 @@ -7066,13 +7042,12 @@
812 predicate:
813 bit_expr IN_SYM '(' subselect ')'
815 - $$= new (YYTHD->mem_root) Item_in_subselect($1, $4);
816 + $$= new (thd->mem_root) Item_in_subselect($1, $4);
817 if ($$ == NULL)
818 MYSQL_YYABORT;
820 | bit_expr not IN_SYM '(' subselect ')'
822 - THD *thd= YYTHD;
823 Item *item= new (thd->mem_root) Item_in_subselect($1, $5);
824 if (item == NULL)
825 MYSQL_YYABORT;
826 @@ -7082,7 +7057,7 @@
828 | bit_expr IN_SYM '(' expr ')'
830 - $$= handle_sql2003_note184_exception(YYTHD, $1, true, $4);
831 + $$= handle_sql2003_note184_exception(thd, $1, true, $4);
832 if ($$ == NULL)
833 MYSQL_YYABORT;
835 @@ -7090,13 +7065,13 @@
837 $6->push_front($4);
838 $6->push_front($1);
839 - $$= new (YYTHD->mem_root) Item_func_in(*$6);
840 + $$= new (thd->mem_root) Item_func_in(*$6);
841 if ($$ == NULL)
842 MYSQL_YYABORT;
844 | bit_expr not IN_SYM '(' expr ')'
846 - $$= handle_sql2003_note184_exception(YYTHD, $1, false, $5);
847 + $$= handle_sql2003_note184_exception(thd, $1, false, $5);
848 if ($$ == NULL)
849 MYSQL_YYABORT;
851 @@ -7104,7 +7079,7 @@
853 $7->push_front($5);
854 $7->push_front($1);
855 - Item_func_in *item = new (YYTHD->mem_root) Item_func_in(*$7);
856 + Item_func_in *item = new (thd->mem_root) Item_func_in(*$7);
857 if (item == NULL)
858 MYSQL_YYABORT;
859 item->negate();
860 @@ -7112,14 +7087,14 @@
862 | bit_expr BETWEEN_SYM bit_expr AND_SYM predicate
864 - $$= new (YYTHD->mem_root) Item_func_between($1,$3,$5);
865 + $$= new (thd->mem_root) Item_func_between($1,$3,$5);
866 if ($$ == NULL)
867 MYSQL_YYABORT;
869 | bit_expr not BETWEEN_SYM bit_expr AND_SYM predicate
871 Item_func_between *item;
872 - item= new (YYTHD->mem_root) Item_func_between($1,$4,$6);
873 + item= new (thd->mem_root) Item_func_between($1,$4,$6);
874 if (item == NULL)
875 MYSQL_YYABORT;
876 item->negate();
877 @@ -7127,42 +7102,42 @@
879 | bit_expr SOUNDS_SYM LIKE bit_expr
881 - Item *item1= new (YYTHD->mem_root) Item_func_soundex($1);
882 - Item *item4= new (YYTHD->mem_root) Item_func_soundex($4);
883 + Item *item1= new (thd->mem_root) Item_func_soundex($1);
884 + Item *item4= new (thd->mem_root) Item_func_soundex($4);
885 if ((item1 == NULL) || (item4 == NULL))
886 MYSQL_YYABORT;
887 - $$= new (YYTHD->mem_root) Item_func_eq(item1, item4);
888 + $$= new (thd->mem_root) Item_func_eq(item1, item4);
889 if ($$ == NULL)
890 MYSQL_YYABORT;
892 | bit_expr LIKE simple_expr opt_escape
894 - $$= new (YYTHD->mem_root) Item_func_like($1,$3,$4,Lex->escape_used);
895 + $$= new (thd->mem_root) Item_func_like($1,$3,$4,Lex->escape_used);
896 if ($$ == NULL)
897 MYSQL_YYABORT;
899 | bit_expr not LIKE simple_expr opt_escape
901 - Item *item= new (YYTHD->mem_root) Item_func_like($1,$4,$5,
902 + Item *item= new (thd->mem_root) Item_func_like($1,$4,$5,
903 Lex->escape_used);
904 if (item == NULL)
905 MYSQL_YYABORT;
906 - $$= new (YYTHD->mem_root) Item_func_not(item);
907 + $$= new (thd->mem_root) Item_func_not(item);
908 if ($$ == NULL)
909 MYSQL_YYABORT;
911 | bit_expr REGEXP bit_expr
913 - $$= new (YYTHD->mem_root) Item_func_regex($1,$3);
914 + $$= new (thd->mem_root) Item_func_regex($1,$3);
915 if ($$ == NULL)
916 MYSQL_YYABORT;
918 | bit_expr not REGEXP bit_expr
920 - Item *item= new (YYTHD->mem_root) Item_func_regex($1,$4);
921 + Item *item= new (thd->mem_root) Item_func_regex($1,$4);
922 if (item == NULL)
923 MYSQL_YYABORT;
924 - $$= negate_expression(YYTHD, item);
925 + $$= negate_expression(thd, item);
926 if ($$ == NULL)
927 MYSQL_YYABORT;
929 @@ -7172,85 +7147,85 @@
930 bit_expr:
931 bit_expr '|' bit_expr %prec '|'
933 - $$= new (YYTHD->mem_root) Item_func_bit_or($1,$3);
934 + $$= new (thd->mem_root) Item_func_bit_or($1,$3);
935 if ($$ == NULL)
936 MYSQL_YYABORT;
938 | bit_expr '&' bit_expr %prec '&'
940 - $$= new (YYTHD->mem_root) Item_func_bit_and($1,$3);
941 + $$= new (thd->mem_root) Item_func_bit_and($1,$3);
942 if ($$ == NULL)
943 MYSQL_YYABORT;
945 | bit_expr SHIFT_LEFT bit_expr %prec SHIFT_LEFT
947 - $$= new (YYTHD->mem_root) Item_func_shift_left($1,$3);
948 + $$= new (thd->mem_root) Item_func_shift_left($1,$3);
949 if ($$ == NULL)
950 MYSQL_YYABORT;
952 | bit_expr SHIFT_RIGHT bit_expr %prec SHIFT_RIGHT
954 - $$= new (YYTHD->mem_root) Item_func_shift_right($1,$3);
955 + $$= new (thd->mem_root) Item_func_shift_right($1,$3);
956 if ($$ == NULL)
957 MYSQL_YYABORT;
959 | bit_expr '+' bit_expr %prec '+'
961 - $$= new (YYTHD->mem_root) Item_func_plus($1,$3);
962 + $$= new (thd->mem_root) Item_func_plus($1,$3);
963 if ($$ == NULL)
964 MYSQL_YYABORT;
966 | bit_expr '-' bit_expr %prec '-'
968 - $$= new (YYTHD->mem_root) Item_func_minus($1,$3);
969 + $$= new (thd->mem_root) Item_func_minus($1,$3);
970 if ($$ == NULL)
971 MYSQL_YYABORT;
973 | bit_expr '+' INTERVAL_SYM expr interval %prec '+'
975 - $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,0);
976 + $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,0);
977 if ($$ == NULL)
978 MYSQL_YYABORT;
980 | bit_expr '-' INTERVAL_SYM expr interval %prec '-'
982 - $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,1);
983 + $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,1);
984 if ($$ == NULL)
985 MYSQL_YYABORT;
987 | bit_expr '*' bit_expr %prec '*'
989 - $$= new (YYTHD->mem_root) Item_func_mul($1,$3);
990 + $$= new (thd->mem_root) Item_func_mul($1,$3);
991 if ($$ == NULL)
992 MYSQL_YYABORT;
994 | bit_expr '/' bit_expr %prec '/'
996 - $$= new (YYTHD->mem_root) Item_func_div($1,$3);
997 + $$= new (thd->mem_root) Item_func_div($1,$3);
998 if ($$ == NULL)
999 MYSQL_YYABORT;
1001 | bit_expr '%' bit_expr %prec '%'
1003 - $$= new (YYTHD->mem_root) Item_func_mod($1,$3);
1004 + $$= new (thd->mem_root) Item_func_mod($1,$3);
1005 if ($$ == NULL)
1006 MYSQL_YYABORT;
1008 | bit_expr DIV_SYM bit_expr %prec DIV_SYM
1010 - $$= new (YYTHD->mem_root) Item_func_int_div($1,$3);
1011 + $$= new (thd->mem_root) Item_func_int_div($1,$3);
1012 if ($$ == NULL)
1013 MYSQL_YYABORT;
1015 | bit_expr MOD_SYM bit_expr %prec MOD_SYM
1017 - $$= new (YYTHD->mem_root) Item_func_mod($1,$3);
1018 + $$= new (thd->mem_root) Item_func_mod($1,$3);
1019 if ($$ == NULL)
1020 MYSQL_YYABORT;
1022 | bit_expr '^' bit_expr
1024 - $$= new (YYTHD->mem_root) Item_func_bit_xor($1,$3);
1025 + $$= new (thd->mem_root) Item_func_bit_xor($1,$3);
1026 if ($$ == NULL)
1027 MYSQL_YYABORT;
1029 @@ -7299,7 +7274,6 @@
1030 | function_call_conflict
1031 | simple_expr COLLATE_SYM ident_or_text %prec NEG
1033 - THD *thd= YYTHD;
1034 Item *i1= new (thd->mem_root) Item_string($3.str,
1035 $3.length,
1036 thd->charset());
1037 @@ -7315,7 +7289,7 @@
1038 | sum_expr
1039 | simple_expr OR_OR_SYM simple_expr
1041 - $$= new (YYTHD->mem_root) Item_func_concat($1, $3);
1042 + $$= new (thd->mem_root) Item_func_concat($1, $3);
1043 if ($$ == NULL)
1044 MYSQL_YYABORT;
1046 @@ -7325,25 +7299,25 @@
1048 | '-' simple_expr %prec NEG
1050 - $$= new (YYTHD->mem_root) Item_func_neg($2);
1051 + $$= new (thd->mem_root) Item_func_neg($2);
1052 if ($$ == NULL)
1053 MYSQL_YYABORT;
1055 | '~' simple_expr %prec NEG
1057 - $$= new (YYTHD->mem_root) Item_func_bit_neg($2);
1058 + $$= new (thd->mem_root) Item_func_bit_neg($2);
1059 if ($$ == NULL)
1060 MYSQL_YYABORT;
1062 | not2 simple_expr %prec NEG
1064 - $$= negate_expression(YYTHD, $2);
1065 + $$= negate_expression(thd, $2);
1066 if ($$ == NULL)
1067 MYSQL_YYABORT;
1069 | '(' subselect ')'
1071 - $$= new (YYTHD->mem_root) Item_singlerow_subselect($2);
1072 + $$= new (thd->mem_root) Item_singlerow_subselect($2);
1073 if ($$ == NULL)
1074 MYSQL_YYABORT;
1076 @@ -7352,20 +7326,20 @@
1077 | '(' expr ',' expr_list ')'
1079 $4->push_front($2);
1080 - $$= new (YYTHD->mem_root) Item_row(*$4);
1081 + $$= new (thd->mem_root) Item_row(*$4);
1082 if ($$ == NULL)
1083 MYSQL_YYABORT;
1085 | ROW_SYM '(' expr ',' expr_list ')'
1087 $5->push_front($3);
1088 - $$= new (YYTHD->mem_root) Item_row(*$5);
1089 + $$= new (thd->mem_root) Item_row(*$5);
1090 if ($$ == NULL)
1091 MYSQL_YYABORT;
1093 | EXISTS '(' subselect ')'
1095 - $$= new (YYTHD->mem_root) Item_exists_subselect($3);
1096 + $$= new (thd->mem_root) Item_exists_subselect($3);
1097 if ($$ == NULL)
1098 MYSQL_YYABORT;
1100 @@ -7374,7 +7348,7 @@
1101 | MATCH ident_list_arg AGAINST '(' bit_expr fulltext_options ')'
1103 $2->push_front($5);
1104 - Item_func_match *i1= new (YYTHD->mem_root) Item_func_match(*$2, $6);
1105 + Item_func_match *i1= new (thd->mem_root) Item_func_match(*$2, $6);
1106 if (i1 == NULL)
1107 MYSQL_YYABORT;
1108 Select->add_ftfunc_to_list(i1);
1109 @@ -7382,7 +7356,7 @@
1111 | BINARY simple_expr %prec NEG
1113 - $$= create_func_cast(YYTHD, $2, ITEM_CAST_CHAR, NULL, NULL,
1114 + $$= create_func_cast(thd, $2, ITEM_CAST_CHAR, NULL, NULL,
1115 &my_charset_bin);
1116 if ($$ == NULL)
1117 MYSQL_YYABORT;
1118 @@ -7390,27 +7364,27 @@
1119 | CAST_SYM '(' expr AS cast_type ')'
1121 LEX *lex= Lex;
1122 - $$= create_func_cast(YYTHD, $3, $5, lex->length, lex->dec,
1123 + $$= create_func_cast(thd, $3, $5, lex->length, lex->dec,
1124 lex->charset);
1125 if ($$ == NULL)
1126 MYSQL_YYABORT;
1128 | CASE_SYM opt_expr when_list opt_else END
1130 - $$= new (YYTHD->mem_root) Item_func_case(* $3, $2, $4 );
1131 + $$= new (thd->mem_root) Item_func_case(* $3, $2, $4 );
1132 if ($$ == NULL)
1133 MYSQL_YYABORT;
1135 | CONVERT_SYM '(' expr ',' cast_type ')'
1137 - $$= create_func_cast(YYTHD, $3, $5, Lex->length, Lex->dec,
1138 + $$= create_func_cast(thd, $3, $5, Lex->length, Lex->dec,
1139 Lex->charset);
1140 if ($$ == NULL)
1141 MYSQL_YYABORT;
1143 | CONVERT_SYM '(' expr USING charset_name ')'
1145 - $$= new (YYTHD->mem_root) Item_func_conv_charset($3,$5);
1146 + $$= new (thd->mem_root) Item_func_conv_charset($3,$5);
1147 if ($$ == NULL)
1148 MYSQL_YYABORT;
1150 @@ -7423,14 +7397,14 @@
1151 my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
1152 MYSQL_YYABORT;
1154 - $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context(),
1155 + $$= new (thd->mem_root) Item_default_value(Lex->current_context(),
1156 $3);
1157 if ($$ == NULL)
1158 MYSQL_YYABORT;
1160 | VALUES '(' simple_ident_nospvar ')'
1162 - $$= new (YYTHD->mem_root) Item_insert_value(Lex->current_context(),
1163 + $$= new (thd->mem_root) Item_insert_value(Lex->current_context(),
1164 $3);
1165 if ($$ == NULL)
1166 MYSQL_YYABORT;
1167 @@ -7438,7 +7412,7 @@
1168 | INTERVAL_SYM expr interval '+' expr %prec INTERVAL_SYM
1169 /* we cannot put interval before - */
1171 - $$= new (YYTHD->mem_root) Item_date_add_interval($5,$2,$3,0);
1172 + $$= new (thd->mem_root) Item_date_add_interval($5,$2,$3,0);
1173 if ($$ == NULL)
1174 MYSQL_YYABORT;
1176 @@ -7453,19 +7427,19 @@
1177 function_call_keyword:
1178 CHAR_SYM '(' expr_list ')'
1180 - $$= new (YYTHD->mem_root) Item_func_char(*$3);
1181 + $$= new (thd->mem_root) Item_func_char(*$3);
1182 if ($$ == NULL)
1183 MYSQL_YYABORT;
1185 | CHAR_SYM '(' expr_list USING charset_name ')'
1187 - $$= new (YYTHD->mem_root) Item_func_char(*$3, $5);
1188 + $$= new (thd->mem_root) Item_func_char(*$3, $5);
1189 if ($$ == NULL)
1190 MYSQL_YYABORT;
1192 | CURRENT_USER optional_braces
1194 - $$= new (YYTHD->mem_root) Item_func_current_user(Lex->current_context());
1195 + $$= new (thd->mem_root) Item_func_current_user(Lex->current_context());
1196 if ($$ == NULL)
1197 MYSQL_YYABORT;
1198 Lex->set_stmt_unsafe();
1199 @@ -7473,31 +7447,30 @@
1201 | DATE_SYM '(' expr ')'
1203 - $$= new (YYTHD->mem_root) Item_date_typecast($3);
1204 + $$= new (thd->mem_root) Item_date_typecast($3);
1205 if ($$ == NULL)
1206 MYSQL_YYABORT;
1208 | DAY_SYM '(' expr ')'
1210 - $$= new (YYTHD->mem_root) Item_func_dayofmonth($3);
1211 + $$= new (thd->mem_root) Item_func_dayofmonth($3);
1212 if ($$ == NULL)
1213 MYSQL_YYABORT;
1215 | HOUR_SYM '(' expr ')'
1217 - $$= new (YYTHD->mem_root) Item_func_hour($3);
1218 + $$= new (thd->mem_root) Item_func_hour($3);
1219 if ($$ == NULL)
1220 MYSQL_YYABORT;
1222 | INSERT '(' expr ',' expr ',' expr ',' expr ')'
1224 - $$= new (YYTHD->mem_root) Item_func_insert($3,$5,$7,$9);
1225 + $$= new (thd->mem_root) Item_func_insert($3,$5,$7,$9);
1226 if ($$ == NULL)
1227 MYSQL_YYABORT;
1229 | INTERVAL_SYM '(' expr ',' expr ')' %prec INTERVAL_SYM
1231 - THD *thd= YYTHD;
1232 List<Item> *list= new (thd->mem_root) List<Item>;
1233 if (list == NULL)
1234 MYSQL_YYABORT;
1235 @@ -7512,7 +7485,6 @@
1237 | INTERVAL_SYM '(' expr ',' expr ',' expr_list ')' %prec INTERVAL_SYM
1239 - THD *thd= YYTHD;
1240 $7->push_front($5);
1241 $7->push_front($3);
1242 Item_row *item= new (thd->mem_root) Item_row(*$7);
1243 @@ -7524,103 +7496,103 @@
1245 | LEFT '(' expr ',' expr ')'
1247 - $$= new (YYTHD->mem_root) Item_func_left($3,$5);
1248 + $$= new (thd->mem_root) Item_func_left($3,$5);
1249 if ($$ == NULL)
1250 MYSQL_YYABORT;
1252 | MINUTE_SYM '(' expr ')'
1254 - $$= new (YYTHD->mem_root) Item_func_minute($3);
1255 + $$= new (thd->mem_root) Item_func_minute($3);
1256 if ($$ == NULL)
1257 MYSQL_YYABORT;
1259 | MONTH_SYM '(' expr ')'
1261 - $$= new (YYTHD->mem_root) Item_func_month($3);
1262 + $$= new (thd->mem_root) Item_func_month($3);
1263 if ($$ == NULL)
1264 MYSQL_YYABORT;
1266 | RIGHT '(' expr ',' expr ')'
1268 - $$= new (YYTHD->mem_root) Item_func_right($3,$5);
1269 + $$= new (thd->mem_root) Item_func_right($3,$5);
1270 if ($$ == NULL)
1271 MYSQL_YYABORT;
1273 | SECOND_SYM '(' expr ')'
1275 - $$= new (YYTHD->mem_root) Item_func_second($3);
1276 + $$= new (thd->mem_root) Item_func_second($3);
1277 if ($$ == NULL)
1278 MYSQL_YYABORT;
1280 | TIME_SYM '(' expr ')'
1282 - $$= new (YYTHD->mem_root) Item_time_typecast($3);
1283 + $$= new (thd->mem_root) Item_time_typecast($3);
1284 if ($$ == NULL)
1285 MYSQL_YYABORT;
1287 | TIMESTAMP '(' expr ')'
1289 - $$= new (YYTHD->mem_root) Item_datetime_typecast($3);
1290 + $$= new (thd->mem_root) Item_datetime_typecast($3);
1291 if ($$ == NULL)
1292 MYSQL_YYABORT;
1294 | TIMESTAMP '(' expr ',' expr ')'
1296 - $$= new (YYTHD->mem_root) Item_func_add_time($3, $5, 1, 0);
1297 + $$= new (thd->mem_root) Item_func_add_time($3, $5, 1, 0);
1298 if ($$ == NULL)
1299 MYSQL_YYABORT;
1301 | TRIM '(' expr ')'
1303 - $$= new (YYTHD->mem_root) Item_func_trim($3);
1304 + $$= new (thd->mem_root) Item_func_trim($3);
1305 if ($$ == NULL)
1306 MYSQL_YYABORT;
1308 | TRIM '(' LEADING expr FROM expr ')'
1310 - $$= new (YYTHD->mem_root) Item_func_ltrim($6,$4);
1311 + $$= new (thd->mem_root) Item_func_ltrim($6,$4);
1312 if ($$ == NULL)
1313 MYSQL_YYABORT;
1315 | TRIM '(' TRAILING expr FROM expr ')'
1317 - $$= new (YYTHD->mem_root) Item_func_rtrim($6,$4);
1318 + $$= new (thd->mem_root) Item_func_rtrim($6,$4);
1319 if ($$ == NULL)
1320 MYSQL_YYABORT;
1322 | TRIM '(' BOTH expr FROM expr ')'
1324 - $$= new (YYTHD->mem_root) Item_func_trim($6,$4);
1325 + $$= new (thd->mem_root) Item_func_trim($6,$4);
1326 if ($$ == NULL)
1327 MYSQL_YYABORT;
1329 | TRIM '(' LEADING FROM expr ')'
1331 - $$= new (YYTHD->mem_root) Item_func_ltrim($5);
1332 + $$= new (thd->mem_root) Item_func_ltrim($5);
1333 if ($$ == NULL)
1334 MYSQL_YYABORT;
1336 | TRIM '(' TRAILING FROM expr ')'
1338 - $$= new (YYTHD->mem_root) Item_func_rtrim($5);
1339 + $$= new (thd->mem_root) Item_func_rtrim($5);
1340 if ($$ == NULL)
1341 MYSQL_YYABORT;
1343 | TRIM '(' BOTH FROM expr ')'
1345 - $$= new (YYTHD->mem_root) Item_func_trim($5);
1346 + $$= new (thd->mem_root) Item_func_trim($5);
1347 if ($$ == NULL)
1348 MYSQL_YYABORT;
1350 | TRIM '(' expr FROM expr ')'
1352 - $$= new (YYTHD->mem_root) Item_func_trim($5,$3);
1353 + $$= new (thd->mem_root) Item_func_trim($5,$3);
1354 if ($$ == NULL)
1355 MYSQL_YYABORT;
1357 | USER '(' ')'
1359 - $$= new (YYTHD->mem_root) Item_func_user();
1360 + $$= new (thd->mem_root) Item_func_user();
1361 if ($$ == NULL)
1362 MYSQL_YYABORT;
1363 Lex->set_stmt_unsafe();
1364 @@ -7628,7 +7600,7 @@
1366 | YEAR_SYM '(' expr ')'
1368 - $$= new (YYTHD->mem_root) Item_func_year($3);
1369 + $$= new (thd->mem_root) Item_func_year($3);
1370 if ($$ == NULL)
1371 MYSQL_YYABORT;
1373 @@ -7649,34 +7621,34 @@
1374 function_call_nonkeyword:
1375 ADDDATE_SYM '(' expr ',' expr ')'
1377 - $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5,
1378 + $$= new (thd->mem_root) Item_date_add_interval($3, $5,
1379 INTERVAL_DAY, 0);
1380 if ($$ == NULL)
1381 MYSQL_YYABORT;
1383 | ADDDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')'
1385 - $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 0);
1386 + $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 0);
1387 if ($$ == NULL)
1388 MYSQL_YYABORT;
1390 | CURDATE optional_braces
1392 - $$= new (YYTHD->mem_root) Item_func_curdate_local();
1393 + $$= new (thd->mem_root) Item_func_curdate_local();
1394 if ($$ == NULL)
1395 MYSQL_YYABORT;
1396 Lex->safe_to_cache_query=0;
1398 | CURTIME optional_braces
1400 - $$= new (YYTHD->mem_root) Item_func_curtime_local();
1401 + $$= new (thd->mem_root) Item_func_curtime_local();
1402 if ($$ == NULL)
1403 MYSQL_YYABORT;
1404 Lex->safe_to_cache_query=0;
1406 | CURTIME '(' expr ')'
1408 - $$= new (YYTHD->mem_root) Item_func_curtime_local($3);
1409 + $$= new (thd->mem_root) Item_func_curtime_local($3);
1410 if ($$ == NULL)
1411 MYSQL_YYABORT;
1412 Lex->safe_to_cache_query=0;
1413 @@ -7684,83 +7656,83 @@
1414 | DATE_ADD_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')'
1415 %prec INTERVAL_SYM
1417 - $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,0);
1418 + $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,0);
1419 if ($$ == NULL)
1420 MYSQL_YYABORT;
1422 | DATE_SUB_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')'
1423 %prec INTERVAL_SYM
1425 - $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,1);
1426 + $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,1);
1427 if ($$ == NULL)
1428 MYSQL_YYABORT;
1430 | EXTRACT_SYM '(' interval FROM expr ')'
1432 - $$=new (YYTHD->mem_root) Item_extract( $3, $5);
1433 + $$=new (thd->mem_root) Item_extract( $3, $5);
1434 if ($$ == NULL)
1435 MYSQL_YYABORT;
1437 | GET_FORMAT '(' date_time_type ',' expr ')'
1439 - $$= new (YYTHD->mem_root) Item_func_get_format($3, $5);
1440 + $$= new (thd->mem_root) Item_func_get_format($3, $5);
1441 if ($$ == NULL)
1442 MYSQL_YYABORT;
1444 | NOW_SYM optional_braces
1446 - $$= new (YYTHD->mem_root) Item_func_now_local();
1447 + $$= new (thd->mem_root) Item_func_now_local();
1448 if ($$ == NULL)
1449 MYSQL_YYABORT;
1450 Lex->safe_to_cache_query=0;
1452 | NOW_SYM '(' expr ')'
1454 - $$= new (YYTHD->mem_root) Item_func_now_local($3);
1455 + $$= new (thd->mem_root) Item_func_now_local($3);
1456 if ($$ == NULL)
1457 MYSQL_YYABORT;
1458 Lex->safe_to_cache_query=0;
1460 | POSITION_SYM '(' bit_expr IN_SYM expr ')'
1462 - $$ = new (YYTHD->mem_root) Item_func_locate($5,$3);
1463 + $$ = new (thd->mem_root) Item_func_locate($5,$3);
1464 if ($$ == NULL)
1465 MYSQL_YYABORT;
1467 | SUBDATE_SYM '(' expr ',' expr ')'
1469 - $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5,
1470 + $$= new (thd->mem_root) Item_date_add_interval($3, $5,
1471 INTERVAL_DAY, 1);
1472 if ($$ == NULL)
1473 MYSQL_YYABORT;
1475 | SUBDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')'
1477 - $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 1);
1478 + $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 1);
1479 if ($$ == NULL)
1480 MYSQL_YYABORT;
1482 | SUBSTRING '(' expr ',' expr ',' expr ')'
1484 - $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7);
1485 + $$= new (thd->mem_root) Item_func_substr($3,$5,$7);
1486 if ($$ == NULL)
1487 MYSQL_YYABORT;
1489 | SUBSTRING '(' expr ',' expr ')'
1491 - $$= new (YYTHD->mem_root) Item_func_substr($3,$5);
1492 + $$= new (thd->mem_root) Item_func_substr($3,$5);
1493 if ($$ == NULL)
1494 MYSQL_YYABORT;
1496 | SUBSTRING '(' expr FROM expr FOR_SYM expr ')'
1498 - $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7);
1499 + $$= new (thd->mem_root) Item_func_substr($3,$5,$7);
1500 if ($$ == NULL)
1501 MYSQL_YYABORT;
1503 | SUBSTRING '(' expr FROM expr ')'
1505 - $$= new (YYTHD->mem_root) Item_func_substr($3,$5);
1506 + $$= new (thd->mem_root) Item_func_substr($3,$5);
1507 if ($$ == NULL)
1508 MYSQL_YYABORT;
1510 @@ -7775,9 +7747,9 @@
1512 Lex->set_stmt_unsafe();
1513 if (global_system_variables.sysdate_is_now == 0)
1514 - $$= new (YYTHD->mem_root) Item_func_sysdate_local();
1515 + $$= new (thd->mem_root) Item_func_sysdate_local();
1516 else
1517 - $$= new (YYTHD->mem_root) Item_func_now_local();
1518 + $$= new (thd->mem_root) Item_func_now_local();
1519 if ($$ == NULL)
1520 MYSQL_YYABORT;
1521 Lex->safe_to_cache_query=0;
1522 @@ -7785,42 +7757,42 @@
1523 | SYSDATE '(' expr ')'
1525 if (global_system_variables.sysdate_is_now == 0)
1526 - $$= new (YYTHD->mem_root) Item_func_sysdate_local($3);
1527 + $$= new (thd->mem_root) Item_func_sysdate_local($3);
1528 else
1529 - $$= new (YYTHD->mem_root) Item_func_now_local($3);
1530 + $$= new (thd->mem_root) Item_func_now_local($3);
1531 if ($$ == NULL)
1532 MYSQL_YYABORT;
1533 Lex->safe_to_cache_query=0;
1535 | TIMESTAMP_ADD '(' interval_time_stamp ',' expr ',' expr ')'
1537 - $$= new (YYTHD->mem_root) Item_date_add_interval($7,$5,$3,0);
1538 + $$= new (thd->mem_root) Item_date_add_interval($7,$5,$3,0);
1539 if ($$ == NULL)
1540 MYSQL_YYABORT;
1542 | TIMESTAMP_DIFF '(' interval_time_stamp ',' expr ',' expr ')'
1544 - $$= new (YYTHD->mem_root) Item_func_timestamp_diff($5,$7,$3);
1545 + $$= new (thd->mem_root) Item_func_timestamp_diff($5,$7,$3);
1546 if ($$ == NULL)
1547 MYSQL_YYABORT;
1549 | UTC_DATE_SYM optional_braces
1551 - $$= new (YYTHD->mem_root) Item_func_curdate_utc();
1552 + $$= new (thd->mem_root) Item_func_curdate_utc();
1553 if ($$ == NULL)
1554 MYSQL_YYABORT;
1555 Lex->safe_to_cache_query=0;
1557 | UTC_TIME_SYM optional_braces
1559 - $$= new (YYTHD->mem_root) Item_func_curtime_utc();
1560 + $$= new (thd->mem_root) Item_func_curtime_utc();
1561 if ($$ == NULL)
1562 MYSQL_YYABORT;
1563 Lex->safe_to_cache_query=0;
1565 | UTC_TIMESTAMP_SYM optional_braces
1567 - $$= new (YYTHD->mem_root) Item_func_now_utc();
1568 + $$= new (thd->mem_root) Item_func_now_utc();
1569 if ($$ == NULL)
1570 MYSQL_YYABORT;
1571 Lex->safe_to_cache_query=0;
1572 @@ -7835,62 +7807,61 @@
1573 function_call_conflict:
1574 ASCII_SYM '(' expr ')'
1576 - $$= new (YYTHD->mem_root) Item_func_ascii($3);
1577 + $$= new (thd->mem_root) Item_func_ascii($3);
1578 if ($$ == NULL)
1579 MYSQL_YYABORT;
1581 | CHARSET '(' expr ')'
1583 - $$= new (YYTHD->mem_root) Item_func_charset($3);
1584 + $$= new (thd->mem_root) Item_func_charset($3);
1585 if ($$ == NULL)
1586 MYSQL_YYABORT;
1588 | COALESCE '(' expr_list ')'
1590 - $$= new (YYTHD->mem_root) Item_func_coalesce(* $3);
1591 + $$= new (thd->mem_root) Item_func_coalesce(* $3);
1592 if ($$ == NULL)
1593 MYSQL_YYABORT;
1595 | COLLATION_SYM '(' expr ')'
1597 - $$= new (YYTHD->mem_root) Item_func_collation($3);
1598 + $$= new (thd->mem_root) Item_func_collation($3);
1599 if ($$ == NULL)
1600 MYSQL_YYABORT;
1602 | DATABASE '(' ')'
1604 - $$= new (YYTHD->mem_root) Item_func_database();
1605 + $$= new (thd->mem_root) Item_func_database();
1606 if ($$ == NULL)
1607 MYSQL_YYABORT;
1608 Lex->safe_to_cache_query=0;
1610 | IF '(' expr ',' expr ',' expr ')'
1612 - $$= new (YYTHD->mem_root) Item_func_if($3,$5,$7);
1613 + $$= new (thd->mem_root) Item_func_if($3,$5,$7);
1614 if ($$ == NULL)
1615 MYSQL_YYABORT;
1617 | MICROSECOND_SYM '(' expr ')'
1619 - $$= new (YYTHD->mem_root) Item_func_microsecond($3);
1620 + $$= new (thd->mem_root) Item_func_microsecond($3);
1621 if ($$ == NULL)
1622 MYSQL_YYABORT;
1624 | MOD_SYM '(' expr ',' expr ')'
1626 - $$ = new (YYTHD->mem_root) Item_func_mod($3, $5);
1627 + $$ = new (thd->mem_root) Item_func_mod($3, $5);
1628 if ($$ == NULL)
1629 MYSQL_YYABORT;
1631 | OLD_PASSWORD '(' expr ')'
1633 - $$= new (YYTHD->mem_root) Item_func_old_password($3);
1634 + $$= new (thd->mem_root) Item_func_old_password($3);
1635 if ($$ == NULL)
1636 MYSQL_YYABORT;
1638 | PASSWORD '(' expr ')'
1640 - THD *thd= YYTHD;
1641 Item* i1;
1642 if (thd->variables.old_passwords)
1643 i1= new (thd->mem_root) Item_func_old_password($3);
1644 @@ -7902,31 +7873,30 @@
1646 | QUARTER_SYM '(' expr ')'
1648 - $$ = new (YYTHD->mem_root) Item_func_quarter($3);
1649 + $$ = new (thd->mem_root) Item_func_quarter($3);
1650 if ($$ == NULL)
1651 MYSQL_YYABORT;
1653 | REPEAT_SYM '(' expr ',' expr ')'
1655 - $$= new (YYTHD->mem_root) Item_func_repeat($3,$5);
1656 + $$= new (thd->mem_root) Item_func_repeat($3,$5);
1657 if ($$ == NULL)
1658 MYSQL_YYABORT;
1660 | REPLACE '(' expr ',' expr ',' expr ')'
1662 - $$= new (YYTHD->mem_root) Item_func_replace($3,$5,$7);
1663 + $$= new (thd->mem_root) Item_func_replace($3,$5,$7);
1664 if ($$ == NULL)
1665 MYSQL_YYABORT;
1667 | TRUNCATE_SYM '(' expr ',' expr ')'
1669 - $$= new (YYTHD->mem_root) Item_func_round($3,$5,1);
1670 + $$= new (thd->mem_root) Item_func_round($3,$5,1);
1671 if ($$ == NULL)
1672 MYSQL_YYABORT;
1674 | WEEK_SYM '(' expr ')'
1676 - THD *thd= YYTHD;
1677 Item *i1= new (thd->mem_root) Item_int((char*) "0",
1678 thd->variables.default_week_format,
1680 @@ -7938,7 +7908,7 @@
1682 | WEEK_SYM '(' expr ',' expr ')'
1684 - $$= new (YYTHD->mem_root) Item_func_week($3,$5);
1685 + $$= new (thd->mem_root) Item_func_week($3,$5);
1686 if ($$ == NULL)
1687 MYSQL_YYABORT;
1689 @@ -7960,52 +7930,52 @@
1690 geometry_function:
1691 CONTAINS_SYM '(' expr ',' expr ')'
1693 - $$= GEOM_NEW(YYTHD,
1694 + $$= GEOM_NEW(thd,
1695 Item_func_spatial_rel($3, $5,
1696 Item_func::SP_CONTAINS_FUNC));
1698 | GEOMETRYCOLLECTION '(' expr_list ')'
1700 - $$= GEOM_NEW(YYTHD,
1701 + $$= GEOM_NEW(thd,
1702 Item_func_spatial_collection(* $3,
1703 Geometry::wkb_geometrycollection,
1704 Geometry::wkb_point));
1706 | LINESTRING '(' expr_list ')'
1708 - $$= GEOM_NEW(YYTHD,
1709 + $$= GEOM_NEW(thd,
1710 Item_func_spatial_collection(* $3,
1711 Geometry::wkb_linestring,
1712 Geometry::wkb_point));
1714 | MULTILINESTRING '(' expr_list ')'
1716 - $$= GEOM_NEW(YYTHD,
1717 + $$= GEOM_NEW(thd,
1718 Item_func_spatial_collection(* $3,
1719 Geometry::wkb_multilinestring,
1720 Geometry::wkb_linestring));
1722 | MULTIPOINT '(' expr_list ')'
1724 - $$= GEOM_NEW(YYTHD,
1725 + $$= GEOM_NEW(thd,
1726 Item_func_spatial_collection(* $3,
1727 Geometry::wkb_multipoint,
1728 Geometry::wkb_point));
1730 | MULTIPOLYGON '(' expr_list ')'
1732 - $$= GEOM_NEW(YYTHD,
1733 + $$= GEOM_NEW(thd,
1734 Item_func_spatial_collection(* $3,
1735 Geometry::wkb_multipolygon,
1736 Geometry::wkb_polygon));
1738 | POINT_SYM '(' expr ',' expr ')'
1740 - $$= GEOM_NEW(YYTHD, Item_func_point($3,$5));
1741 + $$= GEOM_NEW(thd, Item_func_point($3,$5));
1743 | POLYGON '(' expr_list ')'
1745 - $$= GEOM_NEW(YYTHD,
1746 + $$= GEOM_NEW(thd,
1747 Item_func_spatial_collection(* $3,
1748 Geometry::wkb_polygon,
1749 Geometry::wkb_linestring));
1750 @@ -8043,7 +8013,6 @@
1752 opt_udf_expr_list ')'
1754 - THD *thd= YYTHD;
1755 Create_func *builder;
1756 Item *item= NULL;
1758 @@ -8097,7 +8066,6 @@
1760 | ident '.' ident '(' opt_expr_list ')'
1762 - THD *thd= YYTHD;
1763 Create_qfunc *builder;
1764 Item *item= NULL;
1766 @@ -8161,7 +8129,7 @@
1767 udf_expr_list:
1768 udf_expr
1770 - $$= new (YYTHD->mem_root) List<Item>;
1771 + $$= new (thd->mem_root) List<Item>;
1772 if ($$ == NULL)
1773 MYSQL_YYABORT;
1774 $$->push_back($1);
1775 @@ -8194,7 +8162,7 @@
1776 remember_name we may get quoted or escaped names.
1778 else if ($2->type() != Item::FIELD_ITEM)
1779 - $2->set_name($1, (uint) ($3 - $1), YYTHD->charset());
1780 + $2->set_name($1, (uint) ($3 - $1), thd->charset());
1781 $$= $2;
1784 @@ -8202,46 +8170,46 @@
1785 sum_expr:
1786 AVG_SYM '(' in_sum_expr ')'
1788 - $$= new (YYTHD->mem_root) Item_sum_avg($3);
1789 + $$= new (thd->mem_root) Item_sum_avg($3);
1790 if ($$ == NULL)
1791 MYSQL_YYABORT;
1793 | AVG_SYM '(' DISTINCT in_sum_expr ')'
1795 - $$= new (YYTHD->mem_root) Item_sum_avg_distinct($4);
1796 + $$= new (thd->mem_root) Item_sum_avg_distinct($4);
1797 if ($$ == NULL)
1798 MYSQL_YYABORT;
1800 | BIT_AND '(' in_sum_expr ')'
1802 - $$= new (YYTHD->mem_root) Item_sum_and($3);
1803 + $$= new (thd->mem_root) Item_sum_and($3);
1804 if ($$ == NULL)
1805 MYSQL_YYABORT;
1807 | BIT_OR '(' in_sum_expr ')'
1809 - $$= new (YYTHD->mem_root) Item_sum_or($3);
1810 + $$= new (thd->mem_root) Item_sum_or($3);
1811 if ($$ == NULL)
1812 MYSQL_YYABORT;
1814 | BIT_XOR '(' in_sum_expr ')'
1816 - $$= new (YYTHD->mem_root) Item_sum_xor($3);
1817 + $$= new (thd->mem_root) Item_sum_xor($3);
1818 if ($$ == NULL)
1819 MYSQL_YYABORT;
1821 | COUNT_SYM '(' opt_all '*' ')'
1823 - Item *item= new (YYTHD->mem_root) Item_int((int32) 0L,1);
1824 + Item *item= new (thd->mem_root) Item_int((int32) 0L,1);
1825 if (item == NULL)
1826 MYSQL_YYABORT;
1827 - $$= new (YYTHD->mem_root) Item_sum_count(item);
1828 + $$= new (thd->mem_root) Item_sum_count(item);
1829 if ($$ == NULL)
1830 MYSQL_YYABORT;
1832 | COUNT_SYM '(' in_sum_expr ')'
1834 - $$= new (YYTHD->mem_root) Item_sum_count($3);
1835 + $$= new (thd->mem_root) Item_sum_count($3);
1836 if ($$ == NULL)
1837 MYSQL_YYABORT;
1839 @@ -8251,13 +8219,13 @@
1840 { Select->in_sum_expr--; }
1843 - $$= new (YYTHD->mem_root) Item_sum_count_distinct(* $5);
1844 + $$= new (thd->mem_root) Item_sum_count_distinct(* $5);
1845 if ($$ == NULL)
1846 MYSQL_YYABORT;
1848 | MIN_SYM '(' in_sum_expr ')'
1850 - $$= new (YYTHD->mem_root) Item_sum_min($3);
1851 + $$= new (thd->mem_root) Item_sum_min($3);
1852 if ($$ == NULL)
1853 MYSQL_YYABORT;
1855 @@ -8268,55 +8236,55 @@
1857 | MIN_SYM '(' DISTINCT in_sum_expr ')'
1859 - $$= new (YYTHD->mem_root) Item_sum_min($4);
1860 + $$= new (thd->mem_root) Item_sum_min($4);
1861 if ($$ == NULL)
1862 MYSQL_YYABORT;
1864 | MAX_SYM '(' in_sum_expr ')'
1866 - $$= new (YYTHD->mem_root) Item_sum_max($3);
1867 + $$= new (thd->mem_root) Item_sum_max($3);
1868 if ($$ == NULL)
1869 MYSQL_YYABORT;
1871 | MAX_SYM '(' DISTINCT in_sum_expr ')'
1873 - $$= new (YYTHD->mem_root) Item_sum_max($4);
1874 + $$= new (thd->mem_root) Item_sum_max($4);
1875 if ($$ == NULL)
1876 MYSQL_YYABORT;
1878 | STD_SYM '(' in_sum_expr ')'
1880 - $$= new (YYTHD->mem_root) Item_sum_std($3, 0);
1881 + $$= new (thd->mem_root) Item_sum_std($3, 0);
1882 if ($$ == NULL)
1883 MYSQL_YYABORT;
1885 | VARIANCE_SYM '(' in_sum_expr ')'
1887 - $$= new (YYTHD->mem_root) Item_sum_variance($3, 0);
1888 + $$= new (thd->mem_root) Item_sum_variance($3, 0);
1889 if ($$ == NULL)
1890 MYSQL_YYABORT;
1892 | STDDEV_SAMP_SYM '(' in_sum_expr ')'
1894 - $$= new (YYTHD->mem_root) Item_sum_std($3, 1);
1895 + $$= new (thd->mem_root) Item_sum_std($3, 1);
1896 if ($$ == NULL)
1897 MYSQL_YYABORT;
1899 | VAR_SAMP_SYM '(' in_sum_expr ')'
1901 - $$= new (YYTHD->mem_root) Item_sum_variance($3, 1);
1902 + $$= new (thd->mem_root) Item_sum_variance($3, 1);
1903 if ($$ == NULL)
1904 MYSQL_YYABORT;
1906 | SUM_SYM '(' in_sum_expr ')'
1908 - $$= new (YYTHD->mem_root) Item_sum_sum($3);
1909 + $$= new (thd->mem_root) Item_sum_sum($3);
1910 if ($$ == NULL)
1911 MYSQL_YYABORT;
1913 | SUM_SYM '(' DISTINCT in_sum_expr ')'
1915 - $$= new (YYTHD->mem_root) Item_sum_sum_distinct($4);
1916 + $$= new (thd->mem_root) Item_sum_sum_distinct($4);
1917 if ($$ == NULL)
1918 MYSQL_YYABORT;
1920 @@ -8328,7 +8296,7 @@
1922 SELECT_LEX *sel= Select;
1923 sel->in_sum_expr--;
1924 - $$= new (YYTHD->mem_root)
1925 + $$= new (thd->mem_root)
1926 Item_func_group_concat(Lex->current_context(), $3, $5,
1927 sel->gorder_list, $7);
1928 if ($$ == NULL)
1929 @@ -8357,7 +8325,7 @@
1930 ident_or_text SET_VAR expr
1932 Item_func_set_user_var *item;
1933 - $$= item= new (YYTHD->mem_root) Item_func_set_user_var($1, $3);
1934 + $$= item= new (thd->mem_root) Item_func_set_user_var($1, $3);
1935 if ($$ == NULL)
1936 MYSQL_YYABORT;
1937 LEX *lex= Lex;
1938 @@ -8366,7 +8334,7 @@
1940 | ident_or_text
1942 - $$= new (YYTHD->mem_root) Item_func_get_user_var($1);
1943 + $$= new (thd->mem_root) Item_func_get_user_var($1);
1944 if ($$ == NULL)
1945 MYSQL_YYABORT;
1946 LEX *lex= Lex;
1947 @@ -8380,7 +8348,7 @@
1948 my_parse_error(ER(ER_SYNTAX_ERROR));
1949 MYSQL_YYABORT;
1951 - if (!($$= get_system_var(YYTHD, $2, $3, $4)))
1952 + if (!($$= get_system_var(thd, $2, $3, $4)))
1953 MYSQL_YYABORT;
1954 if (!((Item_func_get_system_var*) $$)->is_written_to_binlog())
1955 Lex->set_stmt_unsafe();
1956 @@ -8395,7 +8363,7 @@
1957 opt_gconcat_separator:
1958 /* empty */
1960 - $$= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1);
1961 + $$= new (thd->mem_root) String(",", 1, &my_charset_latin1);
1962 if ($$ == NULL)
1963 MYSQL_YYABORT;
1965 @@ -8422,9 +8390,9 @@
1967 gorder_list:
1968 gorder_list ',' order_ident order_dir
1969 - { if (add_gorder_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
1970 + { if (add_gorder_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
1971 | order_ident order_dir
1972 - { if (add_gorder_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
1973 + { if (add_gorder_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
1976 in_sum_expr:
1977 @@ -8477,7 +8445,7 @@
1978 expr_list:
1979 expr
1981 - $$= new (YYTHD->mem_root) List<Item>;
1982 + $$= new (thd->mem_root) List<Item>;
1983 if ($$ == NULL)
1984 MYSQL_YYABORT;
1985 $$->push_back($1);
1986 @@ -8497,7 +8465,7 @@
1987 ident_list:
1988 simple_ident
1990 - $$= new (YYTHD->mem_root) List<Item>;
1991 + $$= new (thd->mem_root) List<Item>;
1992 if ($$ == NULL)
1993 MYSQL_YYABORT;
1994 $$->push_back($1);
1995 @@ -8595,7 +8563,7 @@
1997 MYSQL_YYABORT_UNLESS($1 && $3);
1998 /* Change the current name resolution context to a local context. */
1999 - if (push_new_name_resolution_context(YYTHD, $1, $3))
2000 + if (push_new_name_resolution_context(thd, $1, $3))
2001 MYSQL_YYABORT;
2002 Select->parsing_place= IN_ON;
2004 @@ -8610,7 +8578,7 @@
2006 MYSQL_YYABORT_UNLESS($1 && $3);
2007 /* Change the current name resolution context to a local context. */
2008 - if (push_new_name_resolution_context(YYTHD, $1, $3))
2009 + if (push_new_name_resolution_context(thd, $1, $3))
2010 MYSQL_YYABORT;
2011 Select->parsing_place= IN_ON;
2013 @@ -8640,7 +8608,7 @@
2015 MYSQL_YYABORT_UNLESS($1 && $5);
2016 /* Change the current name resolution context to a local context. */
2017 - if (push_new_name_resolution_context(YYTHD, $1, $5))
2018 + if (push_new_name_resolution_context(thd, $1, $5))
2019 MYSQL_YYABORT;
2020 Select->parsing_place= IN_ON;
2022 @@ -8676,7 +8644,7 @@
2024 MYSQL_YYABORT_UNLESS($1 && $5);
2025 /* Change the current name resolution context to a local context. */
2026 - if (push_new_name_resolution_context(YYTHD, $1, $5))
2027 + if (push_new_name_resolution_context(thd, $1, $5))
2028 MYSQL_YYABORT;
2029 Select->parsing_place= IN_ON;
2031 @@ -8724,7 +8692,7 @@
2033 table_ident opt_table_alias opt_key_definition
2035 - if (!($$= Select->add_table_to_list(YYTHD, $2, $3,
2036 + if (!($$= Select->add_table_to_list(thd, $2, $3,
2037 Select->get_table_join_options(),
2038 Lex->lock_option,
2039 Select->pop_index_hints())))
2040 @@ -8922,7 +8890,7 @@
2042 opt_index_hints_list:
2043 /* empty */
2044 - | { Select->alloc_index_hints(YYTHD); } index_hints_list
2045 + | { Select->alloc_index_hints(thd); } index_hints_list
2048 opt_key_definition:
2049 @@ -8931,15 +8899,15 @@
2052 opt_key_usage_list:
2053 - /* empty */ { Select->add_index_hint(YYTHD, NULL, 0); }
2054 + /* empty */ { Select->add_index_hint(thd, NULL, 0); }
2055 | key_usage_list {}
2058 key_usage_element:
2059 ident
2060 - { Select->add_index_hint(YYTHD, $1.str, $1.length); }
2061 + { Select->add_index_hint(thd, $1.str, $1.length); }
2062 | PRIMARY_SYM
2063 - { Select->add_index_hint(YYTHD, (char *)"PRIMARY", 7); }
2064 + { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
2067 key_usage_list:
2068 @@ -8952,7 +8920,7 @@
2070 if (!($$= new List<String>))
2071 MYSQL_YYABORT;
2072 - String *s= new (YYTHD->mem_root) String((const char *) $1.str,
2073 + String *s= new (thd->mem_root) String((const char *) $1.str,
2074 $1.length,
2075 system_charset_info);
2076 if (s == NULL)
2077 @@ -8961,7 +8929,7 @@
2079 | using_list ',' ident
2081 - String *s= new (YYTHD->mem_root) String((const char *) $3.str,
2082 + String *s= new (thd->mem_root) String((const char *) $3.str,
2083 $3.length,
2084 system_charset_info);
2085 if (s == NULL)
2086 @@ -9002,7 +8970,7 @@
2087 implementation without changing its
2088 resolution.
2090 - WARN_DEPRECATED(yythd, VER_CELOSIA, "FRAC_SECOND", "MICROSECOND");
2091 + WARN_DEPRECATED(thd, VER_CELOSIA, "FRAC_SECOND", "MICROSECOND");
2095 @@ -9086,7 +9054,6 @@
2097 | /* empty */
2099 - THD *thd= YYTHD;
2100 Lex->escape_used= FALSE;
2101 $$= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
2102 new (thd->mem_root) Item_string("", 0, &my_charset_latin1) :
2103 @@ -9107,9 +9074,9 @@
2105 group_list:
2106 group_list ',' order_ident order_dir
2107 - { if (add_group_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
2108 + { if (add_group_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
2109 | order_ident order_dir
2110 - { if (add_group_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
2111 + { if (add_group_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
2114 olap_opt:
2115 @@ -9156,7 +9123,6 @@
2116 alter_order_item:
2117 simple_ident_nospvar order_dir
2119 - THD *thd= YYTHD;
2120 bool ascending= ($2 == 1) ? true : false;
2121 if (add_order_to_list(thd, $1, ascending))
2122 MYSQL_YYABORT;
2123 @@ -9209,9 +9175,9 @@
2125 order_list:
2126 order_list ',' order_ident order_dir
2127 - { if (add_order_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; }
2128 + { if (add_order_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; }
2129 | order_ident order_dir
2130 - { if (add_order_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; }
2131 + { if (add_order_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; }
2134 order_dir:
2135 @@ -9271,19 +9237,19 @@
2137 | ULONGLONG_NUM
2139 - $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
2140 + $$= new (thd->mem_root) Item_uint($1.str, $1.length);
2141 if ($$ == NULL)
2142 MYSQL_YYABORT;
2144 | LONG_NUM
2146 - $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
2147 + $$= new (thd->mem_root) Item_uint($1.str, $1.length);
2148 if ($$ == NULL)
2149 MYSQL_YYABORT;
2151 | NUM
2153 - $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
2154 + $$= new (thd->mem_root) Item_uint($1.str, $1.length);
2155 if ($$ == NULL)
2156 MYSQL_YYABORT;
2158 @@ -9365,7 +9331,7 @@
2159 lex->proc_list.elements=0;
2160 lex->proc_list.first=0;
2161 lex->proc_list.next= &lex->proc_list.first;
2162 - Item_field *item= new (YYTHD->mem_root)
2163 + Item_field *item= new (thd->mem_root)
2164 Item_field(&lex->current_select->context,
2165 NULL, NULL, $2.str);
2166 if (item == NULL)
2167 @@ -9390,8 +9356,7 @@
2168 procedure_item:
2169 remember_name expr remember_end
2171 - THD *thd= YYTHD;
2174 if (add_proc_to_list(thd, $2))
2175 MYSQL_YYABORT;
2176 if (!$2->name)
2177 @@ -9560,7 +9525,6 @@
2179 | DROP FUNCTION_SYM if_exists ident '.' ident
2181 - THD *thd= YYTHD;
2182 LEX *lex= thd->lex;
2183 sp_name *spname;
2184 if ($4.str && check_db_name(&$4))
2185 @@ -9583,7 +9547,6 @@
2187 | DROP FUNCTION_SYM if_exists ident
2189 - THD *thd= YYTHD;
2190 LEX *lex= thd->lex;
2191 LEX_STRING db= {0, 0};
2192 sp_name *spname;
2193 @@ -9664,7 +9627,7 @@
2194 table_name:
2195 table_ident
2197 - if (!Select->add_table_to_list(YYTHD, $1, NULL, TL_OPTION_UPDATING))
2198 + if (!Select->add_table_to_list(thd, $1, NULL, TL_OPTION_UPDATING))
2199 MYSQL_YYABORT;
2202 @@ -9677,7 +9640,7 @@
2203 table_alias_ref:
2204 table_ident_opt_wild
2206 - if (!Select->add_table_to_list(YYTHD, $1, NULL,
2207 + if (!Select->add_table_to_list(thd, $1, NULL,
2208 TL_OPTION_UPDATING | TL_OPTION_ALIAS,
2209 Lex->lock_option ))
2210 MYSQL_YYABORT;
2211 @@ -9868,7 +9831,7 @@
2212 expr { $$= $1;}
2213 | DEFAULT
2215 - $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context());
2216 + $$= new (thd->mem_root) Item_default_value(Lex->current_context());
2217 if ($$ == NULL)
2218 MYSQL_YYABORT;
2220 @@ -9922,7 +9885,7 @@
2221 update_elem:
2222 simple_ident_nospvar equal expr_or_default
2224 - if (add_item_to_list(YYTHD, $1) || add_value_to_list(YYTHD, $3))
2225 + if (add_item_to_list(thd, $1) || add_value_to_list(thd, $3))
2226 MYSQL_YYABORT;
2229 @@ -9965,7 +9928,7 @@
2230 single_multi:
2231 FROM table_ident
2233 - if (!Select->add_table_to_list(YYTHD, $2, NULL, TL_OPTION_UPDATING,
2234 + if (!Select->add_table_to_list(thd, $2, NULL, TL_OPTION_UPDATING,
2235 Lex->lock_option))
2236 MYSQL_YYABORT;
2238 @@ -9998,7 +9961,7 @@
2239 Table_ident *ti= new Table_ident($1);
2240 if (ti == NULL)
2241 MYSQL_YYABORT;
2242 - if (!Select->add_table_to_list(YYTHD,
2243 + if (!Select->add_table_to_list(thd,
2246 TL_OPTION_UPDATING | TL_OPTION_ALIAS,
2247 @@ -10007,10 +9970,10 @@
2249 | ident '.' ident opt_wild opt_table_alias
2251 - Table_ident *ti= new Table_ident(YYTHD, $1, $3, 0);
2252 + Table_ident *ti= new Table_ident(thd, $1, $3, 0);
2253 if (ti == NULL)
2254 MYSQL_YYABORT;
2255 - if (!Select->add_table_to_list(YYTHD,
2256 + if (!Select->add_table_to_list(thd,
2258 $5,
2259 TL_OPTION_UPDATING | TL_OPTION_ALIAS,
2260 @@ -10130,7 +10093,7 @@
2262 LEX *lex= Lex;
2263 lex->sql_command= SQLCOM_SHOW_DATABASES;
2264 - if (prepare_schema_table(YYTHD, lex, 0, SCH_SCHEMATA))
2265 + if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
2266 MYSQL_YYABORT;
2268 | opt_full TABLES opt_db wild_and_where
2269 @@ -10138,7 +10101,7 @@
2270 LEX *lex= Lex;
2271 lex->sql_command= SQLCOM_SHOW_TABLES;
2272 lex->select_lex.db= $3;
2273 - if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_NAMES))
2274 + if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
2275 MYSQL_YYABORT;
2277 | opt_full TRIGGERS_SYM opt_db wild_and_where
2278 @@ -10146,7 +10109,7 @@
2279 LEX *lex= Lex;
2280 lex->sql_command= SQLCOM_SHOW_TRIGGERS;
2281 lex->select_lex.db= $3;
2282 - if (prepare_schema_table(YYTHD, lex, 0, SCH_TRIGGERS))
2283 + if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
2284 MYSQL_YYABORT;
2286 | EVENTS_SYM opt_db wild_and_where
2287 @@ -10154,7 +10117,7 @@
2288 LEX *lex= Lex;
2289 lex->sql_command= SQLCOM_SHOW_EVENTS;
2290 lex->select_lex.db= $2;
2291 - if (prepare_schema_table(YYTHD, lex, 0, SCH_EVENTS))
2292 + if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
2293 MYSQL_YYABORT;
2295 | TABLE_SYM STATUS_SYM opt_db wild_and_where
2296 @@ -10162,7 +10125,7 @@
2297 LEX *lex= Lex;
2298 lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
2299 lex->select_lex.db= $3;
2300 - if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLES))
2301 + if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
2302 MYSQL_YYABORT;
2304 | OPEN_SYM TABLES opt_db wild_and_where
2305 @@ -10170,22 +10133,22 @@
2306 LEX *lex= Lex;
2307 lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
2308 lex->select_lex.db= $3;
2309 - if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES))
2310 + if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
2311 MYSQL_YYABORT;
2313 | opt_full PLUGIN_SYM
2315 LEX *lex= Lex;
2316 - WARN_DEPRECATED(yythd, "6.0", "SHOW PLUGIN", "'SHOW PLUGINS'");
2317 + WARN_DEPRECATED(thd, "6.0", "SHOW PLUGIN", "'SHOW PLUGINS'");
2318 lex->sql_command= SQLCOM_SHOW_PLUGINS;
2319 - if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS))
2320 + if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
2321 MYSQL_YYABORT;
2323 | PLUGINS_SYM
2325 LEX *lex= Lex;
2326 lex->sql_command= SQLCOM_SHOW_PLUGINS;
2327 - if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS))
2328 + if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
2329 MYSQL_YYABORT;
2331 | ENGINE_SYM known_storage_engines show_engine_param
2332 @@ -10198,7 +10161,7 @@
2333 lex->sql_command= SQLCOM_SHOW_FIELDS;
2334 if ($5)
2335 $4->change_db($5);
2336 - if (prepare_schema_table(YYTHD, lex, $4, SCH_COLUMNS))
2337 + if (prepare_schema_table(thd, lex, $4, SCH_COLUMNS))
2338 MYSQL_YYABORT;
2340 | NEW_SYM MASTER_SYM FOR_SYM SLAVE
2341 @@ -10233,7 +10196,7 @@
2342 lex->sql_command= SQLCOM_SHOW_KEYS;
2343 if ($4)
2344 $3->change_db($4);
2345 - if (prepare_schema_table(YYTHD, lex, $3, SCH_STATISTICS))
2346 + if (prepare_schema_table(thd, lex, $3, SCH_STATISTICS))
2347 MYSQL_YYABORT;
2349 | COLUMN_SYM TYPES_SYM
2350 @@ -10245,15 +10208,15 @@
2352 LEX *lex=Lex;
2353 lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
2354 - WARN_DEPRECATED(yythd, "6.0", "SHOW TABLE TYPES", "'SHOW [STORAGE] ENGINES'");
2355 - if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES))
2356 + WARN_DEPRECATED(thd, "6.0", "SHOW TABLE TYPES", "'SHOW [STORAGE] ENGINES'");
2357 + if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
2358 MYSQL_YYABORT;
2360 | opt_storage ENGINES_SYM
2362 LEX *lex=Lex;
2363 lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
2364 - if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES))
2365 + if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
2366 MYSQL_YYABORT;
2368 | AUTHORS_SYM
2369 @@ -10285,7 +10248,7 @@
2371 LEX *lex= Lex;
2372 lex->sql_command= SQLCOM_SHOW_PROFILE;
2373 - if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0)
2374 + if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
2375 YYABORT;
2377 | opt_var_type STATUS_SYM wild_and_where
2378 @@ -10293,7 +10256,7 @@
2379 LEX *lex= Lex;
2380 lex->sql_command= SQLCOM_SHOW_STATUS;
2381 lex->option_type= $1;
2382 - if (prepare_schema_table(YYTHD, lex, 0, SCH_STATUS))
2383 + if (prepare_schema_table(thd, lex, 0, SCH_STATUS))
2384 MYSQL_YYABORT;
2386 | INNOBASE_SYM STATUS_SYM
2387 @@ -10301,24 +10264,24 @@
2388 LEX *lex= Lex;
2389 lex->sql_command = SQLCOM_SHOW_ENGINE_STATUS;
2390 if (!(lex->create_info.db_type=
2391 - ha_resolve_by_legacy_type(YYTHD, DB_TYPE_INNODB)))
2392 + ha_resolve_by_legacy_type(thd, DB_TYPE_INNODB)))
2394 my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), "InnoDB");
2395 MYSQL_YYABORT;
2397 - WARN_DEPRECATED(yythd, "6.0", "SHOW INNODB STATUS", "'SHOW ENGINE INNODB STATUS'");
2398 + WARN_DEPRECATED(thd, "6.0", "SHOW INNODB STATUS", "'SHOW ENGINE INNODB STATUS'");
2400 | MUTEX_SYM STATUS_SYM
2402 LEX *lex= Lex;
2403 lex->sql_command = SQLCOM_SHOW_ENGINE_MUTEX;
2404 if (!(lex->create_info.db_type=
2405 - ha_resolve_by_legacy_type(YYTHD, DB_TYPE_INNODB)))
2406 + ha_resolve_by_legacy_type(thd, DB_TYPE_INNODB)))
2408 my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), "InnoDB");
2409 MYSQL_YYABORT;
2411 - WARN_DEPRECATED(yythd, "6.0", "SHOW MUTEX STATUS", "'SHOW ENGINE INNODB MUTEX'");
2412 + WARN_DEPRECATED(thd, "6.0", "SHOW MUTEX STATUS", "'SHOW ENGINE INNODB MUTEX'");
2414 | opt_full PROCESSLIST_SYM
2415 { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
2416 @@ -10327,21 +10290,21 @@
2417 LEX *lex= Lex;
2418 lex->sql_command= SQLCOM_SHOW_VARIABLES;
2419 lex->option_type= $1;
2420 - if (prepare_schema_table(YYTHD, lex, 0, SCH_VARIABLES))
2421 + if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES))
2422 MYSQL_YYABORT;
2424 | charset wild_and_where
2426 LEX *lex= Lex;
2427 lex->sql_command= SQLCOM_SHOW_CHARSETS;
2428 - if (prepare_schema_table(YYTHD, lex, 0, SCH_CHARSETS))
2429 + if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
2430 MYSQL_YYABORT;
2432 | COLLATION_SYM wild_and_where
2434 LEX *lex= Lex;
2435 lex->sql_command= SQLCOM_SHOW_COLLATIONS;
2436 - if (prepare_schema_table(YYTHD, lex, 0, SCH_COLLATIONS))
2437 + if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
2438 MYSQL_YYABORT;
2440 | GRANTS
2441 @@ -10371,7 +10334,7 @@
2443 LEX *lex= Lex;
2444 lex->sql_command = SQLCOM_SHOW_CREATE;
2445 - if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL,0))
2446 + if (!lex->select_lex.add_table_to_list(thd, $3, NULL,0))
2447 MYSQL_YYABORT;
2448 lex->only_view= 0;
2449 lex->create_info.storage_media= HA_SM_DEFAULT;
2450 @@ -10380,7 +10343,7 @@
2452 LEX *lex= Lex;
2453 lex->sql_command = SQLCOM_SHOW_CREATE;
2454 - if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL, 0))
2455 + if (!lex->select_lex.add_table_to_list(thd, $3, NULL, 0))
2456 MYSQL_YYABORT;
2457 lex->only_view= 1;
2459 @@ -10416,14 +10379,14 @@
2461 LEX *lex= Lex;
2462 lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
2463 - if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES))
2464 + if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
2465 MYSQL_YYABORT;
2467 | FUNCTION_SYM STATUS_SYM wild_and_where
2469 LEX *lex= Lex;
2470 lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
2471 - if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES))
2472 + if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
2473 MYSQL_YYABORT;
2475 | PROCEDURE CODE_SYM sp_name
2476 @@ -10501,7 +10464,7 @@
2477 /* empty */
2478 | LIKE TEXT_STRING_sys
2480 - Lex->wild= new (YYTHD->mem_root) String($2.str, $2.length,
2481 + Lex->wild= new (thd->mem_root) String($2.str, $2.length,
2482 system_charset_info);
2483 if (Lex->wild == NULL)
2484 MYSQL_YYABORT;
2485 @@ -10525,7 +10488,7 @@
2486 lex->sql_command= SQLCOM_SHOW_FIELDS;
2487 lex->select_lex.db= 0;
2488 lex->verbose= 0;
2489 - if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS))
2490 + if (prepare_schema_table(thd, lex, $2, SCH_COLUMNS))
2491 MYSQL_YYABORT;
2493 opt_describe_column {}
2494 @@ -10554,7 +10517,7 @@
2495 | text_string { Lex->wild= $1; }
2496 | ident
2498 - Lex->wild= new (YYTHD->mem_root) String((const char*) $1.str,
2499 + Lex->wild= new (thd->mem_root) String((const char*) $1.str,
2500 $1.length,
2501 system_charset_info);
2502 if (Lex->wild == NULL)
2503 @@ -10697,7 +10660,6 @@
2504 load:
2505 LOAD DATA_SYM
2507 - THD *thd= YYTHD;
2508 LEX *lex= thd->lex;
2510 if (lex->sphead)
2511 @@ -10711,7 +10673,7 @@
2512 | LOAD TABLE_SYM table_ident FROM MASTER_SYM
2514 LEX *lex=Lex;
2515 - WARN_DEPRECATED(yythd, "6.0", "LOAD TABLE FROM MASTER",
2516 + WARN_DEPRECATED(thd, "6.0", "LOAD TABLE FROM MASTER",
2517 "MySQL Administrator (mysqldump, mysql)");
2518 if (lex->sphead)
2520 @@ -10719,7 +10681,7 @@
2521 MYSQL_YYABORT;
2523 lex->sql_command = SQLCOM_LOAD_MASTER_TABLE;
2524 - if (!Select->add_table_to_list(YYTHD, $3, NULL, TL_OPTION_UPDATING))
2525 + if (!Select->add_table_to_list(thd, $3, NULL, TL_OPTION_UPDATING))
2526 MYSQL_YYABORT;
2529 @@ -10739,7 +10701,7 @@
2530 opt_duplicate INTO TABLE_SYM table_ident
2532 LEX *lex=Lex;
2533 - if (!Select->add_table_to_list(YYTHD, $9, NULL, TL_OPTION_UPDATING,
2534 + if (!Select->add_table_to_list(thd, $9, NULL, TL_OPTION_UPDATING,
2535 lex->lock_option))
2536 MYSQL_YYABORT;
2537 lex->field_list.empty();
2538 @@ -10754,7 +10716,7 @@
2539 | FROM MASTER_SYM
2541 Lex->sql_command = SQLCOM_LOAD_MASTER_DATA;
2542 - WARN_DEPRECATED(yythd, "6.0", "LOAD DATA FROM MASTER",
2543 + WARN_DEPRECATED(thd, "6.0", "LOAD DATA FROM MASTER",
2544 "mysqldump or future "
2545 "BACKUP/RESTORE DATABASE facility");
2547 @@ -10872,7 +10834,7 @@
2548 simple_ident_nospvar {$$= $1;}
2549 | '@' ident_or_text
2551 - $$= new (YYTHD->mem_root) Item_user_var_as_out_param($2);
2552 + $$= new (thd->mem_root) Item_user_var_as_out_param($2);
2553 if ($$ == NULL)
2554 MYSQL_YYABORT;
2556 @@ -10889,7 +10851,6 @@
2557 TEXT_STRING
2559 LEX_STRING tmp;
2560 - THD *thd= YYTHD;
2561 CHARSET_INFO *cs_con= thd->variables.collation_connection;
2562 CHARSET_INFO *cs_cli= thd->variables.character_set_client;
2563 uint repertoire= thd->lex->text_string_is_7bit &&
2564 @@ -10915,7 +10876,7 @@
2565 uint repertoire= Lex->text_string_is_7bit ?
2566 MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
2567 DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info));
2568 - $$= new (YYTHD->mem_root) Item_string($1.str, $1.length,
2569 + $$= new (thd->mem_root) Item_string($1.str, $1.length,
2570 national_charset_info,
2571 DERIVATION_COERCIBLE,
2572 repertoire);
2573 @@ -10924,7 +10885,7 @@
2575 | UNDERSCORE_CHARSET TEXT_STRING
2577 - Item_string *str= new (YYTHD->mem_root) Item_string($2.str,
2578 + Item_string *str= new (thd->mem_root) Item_string($2.str,
2579 $2.length, $1);
2580 if (str == NULL)
2581 MYSQL_YYABORT;
2582 @@ -10943,7 +10904,7 @@
2583 If the string has been pure ASCII so far,
2584 check the new part.
2586 - CHARSET_INFO *cs= YYTHD->variables.collation_connection;
2587 + CHARSET_INFO *cs= thd->variables.collation_connection;
2588 item->collation.repertoire|= my_string_repertoire(cs,
2589 $2.str,
2590 $2.length);
2591 @@ -10954,15 +10915,15 @@
2592 text_string:
2593 TEXT_STRING_literal
2595 - $$= new (YYTHD->mem_root) String($1.str,
2596 + $$= new (thd->mem_root) String($1.str,
2597 $1.length,
2598 - YYTHD->variables.collation_connection);
2599 + thd->variables.collation_connection);
2600 if ($$ == NULL)
2601 MYSQL_YYABORT;
2603 | HEX_NUM
2605 - Item *tmp= new (YYTHD->mem_root) Item_hex_string($1.str, $1.length);
2606 + Item *tmp= new (thd->mem_root) Item_hex_string($1.str, $1.length);
2607 if (tmp == NULL)
2608 MYSQL_YYABORT;
2610 @@ -10974,7 +10935,7 @@
2612 | BIN_NUM
2614 - Item *tmp= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length);
2615 + Item *tmp= new (thd->mem_root) Item_bin_string($1.str, $1.length);
2616 if (tmp == NULL)
2617 MYSQL_YYABORT;
2619 @@ -10989,7 +10950,6 @@
2620 param_marker:
2621 PARAM_MARKER
2623 - THD *thd= YYTHD;
2624 LEX *lex= thd->lex;
2625 Lex_input_stream *lip= YYLIP;
2626 Item_param *item;
2627 @@ -11022,38 +10982,38 @@
2628 | NUM_literal { $$ = $1; }
2629 | NULL_SYM
2631 - $$ = new (YYTHD->mem_root) Item_null();
2632 + $$ = new (thd->mem_root) Item_null();
2633 if ($$ == NULL)
2634 MYSQL_YYABORT;
2635 YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
2637 | FALSE_SYM
2639 - $$= new (YYTHD->mem_root) Item_int((char*) "FALSE",0,1);
2640 + $$= new (thd->mem_root) Item_int((char*) "FALSE",0,1);
2641 if ($$ == NULL)
2642 MYSQL_YYABORT;
2644 | TRUE_SYM
2646 - $$= new (YYTHD->mem_root) Item_int((char*) "TRUE",1,1);
2647 + $$= new (thd->mem_root) Item_int((char*) "TRUE",1,1);
2648 if ($$ == NULL)
2649 MYSQL_YYABORT;
2651 | HEX_NUM
2653 - $$ = new (YYTHD->mem_root) Item_hex_string($1.str, $1.length);
2654 + $$ = new (thd->mem_root) Item_hex_string($1.str, $1.length);
2655 if ($$ == NULL)
2656 MYSQL_YYABORT;
2658 | BIN_NUM
2660 - $$= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length);
2661 + $$= new (thd->mem_root) Item_bin_string($1.str, $1.length);
2662 if ($$ == NULL)
2663 MYSQL_YYABORT;
2665 | UNDERSCORE_CHARSET HEX_NUM
2667 - Item *tmp= new (YYTHD->mem_root) Item_hex_string($2.str, $2.length);
2668 + Item *tmp= new (thd->mem_root) Item_hex_string($2.str, $2.length);
2669 if (tmp == NULL)
2670 MYSQL_YYABORT;
2672 @@ -11064,7 +11024,7 @@
2673 String *str= tmp->val_str((String*) 0);
2675 Item_string *item_str;
2676 - item_str= new (YYTHD->mem_root)
2677 + item_str= new (thd->mem_root)
2678 Item_string(NULL, /* name will be set in select_item */
2679 str ? str->ptr() : "",
2680 str ? str->length() : 0,
2681 @@ -11082,7 +11042,7 @@
2683 | UNDERSCORE_CHARSET BIN_NUM
2685 - Item *tmp= new (YYTHD->mem_root) Item_bin_string($2.str, $2.length);
2686 + Item *tmp= new (thd->mem_root) Item_bin_string($2.str, $2.length);
2687 if (tmp == NULL)
2688 MYSQL_YYABORT;
2690 @@ -11093,7 +11053,7 @@
2691 String *str= tmp->val_str((String*) 0);
2693 Item_string *item_str;
2694 - item_str= new (YYTHD->mem_root)
2695 + item_str= new (thd->mem_root)
2696 Item_string(NULL, /* name will be set in select_item */
2697 str ? str->ptr() : "",
2698 str ? str->length() : 0,
2699 @@ -11117,7 +11077,7 @@
2702 int error;
2703 - $$= new (YYTHD->mem_root)
2704 + $$= new (thd->mem_root)
2705 Item_int($1.str,
2706 (longlong) my_strtoll10($1.str, NULL, &error),
2707 $1.length);
2708 @@ -11127,7 +11087,7 @@
2709 | LONG_NUM
2711 int error;
2712 - $$= new (YYTHD->mem_root)
2713 + $$= new (thd->mem_root)
2714 Item_int($1.str,
2715 (longlong) my_strtoll10($1.str, NULL, &error),
2716 $1.length);
2717 @@ -11136,23 +11096,23 @@
2719 | ULONGLONG_NUM
2721 - $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length);
2722 + $$= new (thd->mem_root) Item_uint($1.str, $1.length);
2723 if ($$ == NULL)
2724 MYSQL_YYABORT;
2726 | DECIMAL_NUM
2728 - $$= new (YYTHD->mem_root) Item_decimal($1.str, $1.length,
2729 - YYTHD->charset());
2730 - if (($$ == NULL) || (YYTHD->is_error()))
2731 + $$= new (thd->mem_root) Item_decimal($1.str, $1.length,
2732 + thd->charset());
2733 + if (($$ == NULL) || (thd->is_error()))
2735 MYSQL_YYABORT;
2738 | FLOAT_NUM
2740 - $$= new (YYTHD->mem_root) Item_float($1.str, $1.length);
2741 - if (($$ == NULL) || (YYTHD->is_error()))
2742 + $$= new (thd->mem_root) Item_float($1.str, $1.length);
2743 + if (($$ == NULL) || (thd->is_error()))
2745 MYSQL_YYABORT;
2747 @@ -11172,7 +11132,7 @@
2748 ident '.' '*'
2750 SELECT_LEX *sel= Select;
2751 - $$= new (YYTHD->mem_root) Item_field(Lex->current_context(),
2752 + $$= new (thd->mem_root) Item_field(Lex->current_context(),
2753 NullS, $1.str, "*");
2754 if ($$ == NULL)
2755 MYSQL_YYABORT;
2756 @@ -11180,7 +11140,6 @@
2758 | ident '.' ident '.' '*'
2760 - THD *thd= YYTHD;
2761 SELECT_LEX *sel= Select;
2762 const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
2763 NullS : $1.str;
2764 @@ -11200,7 +11159,6 @@
2765 simple_ident:
2766 ident
2768 - THD *thd= YYTHD;
2769 LEX *lex= thd->lex;
2770 Lex_input_stream *lip= YYLIP;
2771 sp_variable_t *spv;
2772 @@ -11251,7 +11209,6 @@
2773 simple_ident_nospvar:
2774 ident
2776 - THD *thd= YYTHD;
2777 SELECT_LEX *sel=Select;
2778 if ((sel->parsing_place != IN_HAVING) ||
2779 (sel->get_in_sum_expr() > 0))
2780 @@ -11273,7 +11230,6 @@
2781 simple_ident_q:
2782 ident '.' ident
2784 - THD *thd= YYTHD;
2785 LEX *lex= thd->lex;
2788 @@ -11352,7 +11308,6 @@
2790 | '.' ident '.' ident
2792 - THD *thd= YYTHD;
2793 LEX *lex= thd->lex;
2794 SELECT_LEX *sel= lex->current_select;
2795 if (sel->no_table_names_allowed)
2796 @@ -11377,7 +11332,6 @@
2798 | ident '.' ident '.' ident
2800 - THD *thd= YYTHD;
2801 LEX *lex= thd->lex;
2802 SELECT_LEX *sel= lex->current_select;
2803 const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ?
2804 @@ -11445,7 +11399,7 @@
2806 | ident '.' ident
2808 - $$= new Table_ident(YYTHD, $1,$3,0);
2809 + $$= new Table_ident(thd, $1,$3,0);
2810 if ($$ == NULL)
2811 MYSQL_YYABORT;
2813 @@ -11467,7 +11421,7 @@
2815 | ident '.' ident opt_wild
2817 - $$= new Table_ident(YYTHD, $1,$3,0);
2818 + $$= new Table_ident(thd, $1,$3,0);
2819 if ($$ == NULL)
2820 MYSQL_YYABORT;
2822 @@ -11477,7 +11431,7 @@
2823 ident
2825 LEX_STRING db={(char*) any_db,3};
2826 - $$= new Table_ident(YYTHD, db,$1,0);
2827 + $$= new Table_ident(thd, db,$1,0);
2828 if ($$ == NULL)
2829 MYSQL_YYABORT;
2831 @@ -11487,8 +11441,7 @@
2832 IDENT { $$= $1; }
2833 | IDENT_QUOTED
2835 - THD *thd= YYTHD;
2838 if (thd->charset_is_system_charset)
2840 CHARSET_INFO *cs= system_charset_info;
2841 @@ -11516,8 +11469,6 @@
2842 TEXT_STRING_sys:
2843 TEXT_STRING
2845 - THD *thd= YYTHD;
2847 if (thd->charset_is_system_charset)
2848 $$= $1;
2849 else
2850 @@ -11532,8 +11483,6 @@
2851 TEXT_STRING_literal:
2852 TEXT_STRING
2854 - THD *thd= YYTHD;
2856 if (thd->charset_is_collation_connection)
2857 $$= $1;
2858 else
2859 @@ -11548,8 +11497,6 @@
2860 TEXT_STRING_filesystem:
2861 TEXT_STRING
2863 - THD *thd= YYTHD;
2865 if (thd->charset_is_character_set_filesystem)
2866 $$= $1;
2867 else
2868 @@ -11566,7 +11513,6 @@
2869 IDENT_sys { $$=$1; }
2870 | keyword
2872 - THD *thd= YYTHD;
2873 $$.str= thd->strmake($1.str, $1.length);
2874 if ($$.str == NULL)
2875 MYSQL_YYABORT;
2876 @@ -11578,7 +11524,6 @@
2877 IDENT_sys { $$=$1; }
2878 | keyword_sp
2880 - THD *thd= YYTHD;
2881 $$.str= thd->strmake($1.str, $1.length);
2882 if ($$.str == NULL)
2883 MYSQL_YYABORT;
2884 @@ -11595,7 +11540,6 @@
2885 user:
2886 ident_or_text
2888 - THD *thd= YYTHD;
2889 if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
2890 MYSQL_YYABORT;
2891 $$->user = $1;
2892 @@ -11609,7 +11553,6 @@
2894 | ident_or_text '@' ident_or_text
2896 - THD *thd= YYTHD;
2897 if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
2898 MYSQL_YYABORT;
2899 $$->user = $1; $$->host=$3;
2900 @@ -11628,7 +11571,7 @@
2902 | CURRENT_USER optional_braces
2904 - if (!($$=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user))))
2905 + if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
2906 MYSQL_YYABORT;
2908 empty LEX_USER means current_user and
2909 @@ -11991,7 +11934,6 @@
2911 option_type_value:
2913 - THD *thd= YYTHD;
2914 LEX *lex= thd->lex;
2915 Lex_input_stream *lip= YYLIP;
2917 @@ -12022,7 +11964,6 @@
2919 ext_option_value
2921 - THD *thd= YYTHD;
2922 LEX *lex= thd->lex;
2923 Lex_input_stream *lip= YYLIP;
2925 @@ -12105,7 +12046,6 @@
2926 sys_option_value:
2927 option_type internal_variable_name equal set_expr_or_default
2929 - THD *thd= YYTHD;
2930 LEX *lex= Lex;
2931 LEX_STRING *name= &$2.base_name;
2933 @@ -12117,7 +12057,7 @@
2934 my_parse_error(ER(ER_SYNTAX_ERROR));
2935 MYSQL_YYABORT;
2937 - if (set_trigger_new_row(YYTHD, name, $4))
2938 + if (set_trigger_new_row(thd, name, $4))
2939 MYSQL_YYABORT;
2941 else if ($2.var)
2942 @@ -12147,7 +12087,6 @@
2944 | option_type TRANSACTION_SYM ISOLATION LEVEL_SYM isolation_types
2946 - THD *thd= YYTHD;
2947 LEX *lex=Lex;
2948 lex->option_type= $1;
2949 Item *item= new (thd->mem_root) Item_int((int32) $5);
2950 @@ -12167,7 +12106,7 @@
2951 '@' ident_or_text equal expr
2953 Item_func_set_user_var *item;
2954 - item= new (YYTHD->mem_root) Item_func_set_user_var($2, $4);
2955 + item= new (thd->mem_root) Item_func_set_user_var($2, $4);
2956 if (item == NULL)
2957 MYSQL_YYABORT;
2958 set_var_user *var= new set_var_user(item);
2959 @@ -12177,7 +12116,6 @@
2961 | '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default
2963 - THD *thd= YYTHD;
2964 struct sys_var_with_base tmp= $4;
2965 /* Lookup if necessary: must be a system variable. */
2966 if (tmp.var == NULL)
2967 @@ -12190,7 +12128,6 @@
2969 | charset old_or_new_charset_name_or_default
2971 - THD *thd= YYTHD;
2972 LEX *lex= thd->lex;
2973 CHARSET_INFO *cs2;
2974 cs2= $2 ? $2: global_system_variables.character_set_client;
2975 @@ -12238,7 +12175,6 @@
2977 | PASSWORD equal text_or_password
2979 - THD *thd= YYTHD;
2980 LEX *lex= thd->lex;
2981 LEX_USER *user;
2982 sp_pcontext *spc= lex->spcont;
2983 @@ -12278,7 +12214,6 @@
2984 internal_variable_name:
2985 ident
2987 - THD *thd= YYTHD;
2988 sp_pcontext *spc= thd->lex->spcont;
2989 sp_variable_t *spv;
2991 @@ -12337,7 +12272,7 @@
2993 else
2995 - sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length);
2996 + sys_var *tmp=find_sys_var(thd, $3.str, $3.length);
2997 if (!tmp)
2998 MYSQL_YYABORT;
2999 if (!tmp->is_struct())
3000 @@ -12348,7 +12283,7 @@
3002 | DEFAULT '.' ident
3004 - sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length);
3005 + sys_var *tmp=find_sys_var(thd, $3.str, $3.length);
3006 if (!tmp)
3007 MYSQL_YYABORT;
3008 if (!tmp->is_struct())
3009 @@ -12370,16 +12305,16 @@
3010 TEXT_STRING { $$=$1.str;}
3011 | PASSWORD '(' TEXT_STRING ')'
3013 - $$= $3.length ? YYTHD->variables.old_passwords ?
3014 - Item_func_old_password::alloc(YYTHD, $3.str, $3.length) :
3015 - Item_func_password::alloc(YYTHD, $3.str, $3.length) :
3016 + $$= $3.length ? thd->variables.old_passwords ?
3017 + Item_func_old_password::alloc(thd, $3.str, $3.length) :
3018 + Item_func_password::alloc(thd, $3.str, $3.length) :
3019 $3.str;
3020 if ($$ == NULL)
3021 MYSQL_YYABORT;
3023 | OLD_PASSWORD '(' TEXT_STRING ')'
3025 - $$= $3.length ? Item_func_old_password::alloc(YYTHD, $3.str,
3026 + $$= $3.length ? Item_func_old_password::alloc(thd, $3.str,
3027 $3.length) :
3028 $3.str;
3029 if ($$ == NULL)
3030 @@ -12393,19 +12328,19 @@
3031 | DEFAULT { $$=0; }
3032 | ON
3034 - $$=new (YYTHD->mem_root) Item_string("ON", 2, system_charset_info);
3035 + $$=new (thd->mem_root) Item_string("ON", 2, system_charset_info);
3036 if ($$ == NULL)
3037 MYSQL_YYABORT;
3039 | ALL
3041 - $$=new (YYTHD->mem_root) Item_string("ALL", 3, system_charset_info);
3042 + $$=new (thd->mem_root) Item_string("ALL", 3, system_charset_info);
3043 if ($$ == NULL)
3044 MYSQL_YYABORT;
3046 | BINARY
3048 - $$=new (YYTHD->mem_root) Item_string("binary", 6, system_charset_info);
3049 + $$=new (thd->mem_root) Item_string("binary", 6, system_charset_info);
3050 if ($$ == NULL)
3051 MYSQL_YYABORT;
3053 @@ -12443,7 +12378,7 @@
3054 table_ident opt_table_alias lock_option
3056 thr_lock_type lock_type= (thr_lock_type) $3;
3057 - if (!Select->add_table_to_list(YYTHD, $1, $2, 0, lock_type))
3058 + if (!Select->add_table_to_list(thd, $1, $2, 0, lock_type))
3059 MYSQL_YYABORT;
3060 /* If table is to be write locked, protect from a impending GRL. */
3061 if (lock_type >= TL_WRITE_ALLOW_WRITE)
3062 @@ -12514,7 +12449,7 @@
3063 lex->expr_allows_subselect= FALSE;
3064 lex->sql_command = SQLCOM_HA_READ;
3065 lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */
3066 - Item *one= new (YYTHD->mem_root) Item_int((int32) 1);
3067 + Item *one= new (thd->mem_root) Item_int((int32) 1);
3068 if (one == NULL)
3069 MYSQL_YYABORT;
3070 lex->current_select->select_limit= one;
3071 @@ -12836,10 +12771,10 @@
3072 $$=$1; $1->password=$4;
3073 if ($4.length)
3075 - if (YYTHD->variables.old_passwords)
3076 + if (thd->variables.old_passwords)
3078 char *buff=
3079 - (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
3080 + (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
3081 if (buff == NULL)
3082 MYSQL_YYABORT;
3083 my_make_scrambled_password_323(buff, $4.str, $4.length);
3084 @@ -12849,7 +12784,7 @@
3085 else
3087 char *buff=
3088 - (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
3089 + (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
3090 if (buff == NULL)
3091 MYSQL_YYABORT;
3092 my_make_scrambled_password(buff, $4.str, $4.length);
3093 @@ -12881,7 +12816,7 @@
3094 column_list_id:
3095 ident
3097 - String *new_str = new (YYTHD->mem_root) String((const char*) $1.str,$1.length,system_charset_info);
3098 + String *new_str = new (thd->mem_root) String((const char*) $1.str,$1.length,system_charset_info);
3099 if (new_str == NULL)
3100 MYSQL_YYABORT;
3101 List_iterator <LEX_COLUMN> iter(Lex->columns);
3102 @@ -12981,14 +12916,14 @@
3104 opt_chain:
3105 /* empty */
3106 - { $$= (YYTHD->variables.completion_type == 1); }
3107 + { $$= (thd->variables.completion_type == 1); }
3108 | AND_SYM NO_SYM CHAIN_SYM { $$=0; }
3109 | AND_SYM CHAIN_SYM { $$=1; }
3112 opt_release:
3113 /* empty */
3114 - { $$= (YYTHD->variables.completion_type == 2); }
3115 + { $$= (thd->variables.completion_type == 2); }
3116 | RELEASE_SYM { $$=1; }
3117 | NO_SYM RELEASE_SYM { $$=0; }
3119 @@ -13102,7 +13037,6 @@
3121 union_order_or_limit:
3123 - THD *thd= YYTHD;
3124 LEX *lex= thd->lex;
3125 DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
3126 SELECT_LEX *sel= lex->current_select;
3127 @@ -13118,7 +13052,6 @@
3129 order_or_limit
3131 - THD *thd= YYTHD;
3132 thd->lex->current_select->no_table_names_allowed= 0;
3133 thd->where= "";
3135 @@ -13255,14 +13188,14 @@
3136 from older master servers (i.e. to create non-suid trigger in this
3137 case).
3139 - YYTHD->lex->definer= 0;
3140 + thd->lex->definer= 0;
3144 definer:
3145 DEFINER_SYM EQ user
3147 - YYTHD->lex->definer= get_current_user(YYTHD, $3);
3148 + thd->lex->definer= get_current_user(thd, $3);
3152 @@ -13307,7 +13240,6 @@
3153 view_tail:
3154 view_suid VIEW_SYM table_ident
3156 - THD *thd= YYTHD;
3157 LEX *lex= thd->lex;
3158 lex->sql_command= SQLCOM_CREATE_VIEW;
3159 /* first table in list is target VIEW name */
3160 @@ -13347,7 +13279,6 @@
3162 view_select_aux view_check_option
3164 - THD *thd= YYTHD;
3165 LEX *lex= Lex;
3166 uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
3167 void *create_view_select= thd->memdup(lex->create_view_select.str, len);
3168 @@ -13403,7 +13334,6 @@
3169 EACH_SYM
3170 ROW_SYM
3171 { /* $15 */
3172 - THD *thd= YYTHD;
3173 LEX *lex= thd->lex;
3174 Lex_input_stream *lip= YYLIP;
3175 sp_head *sp;
3176 @@ -13437,8 +13367,8 @@
3177 sp_head *sp= lex->sphead;
3179 lex->sql_command= SQLCOM_CREATE_TRIGGER;
3180 - sp->set_stmt_end(YYTHD);
3181 - sp->restore_thd_mem_root(YYTHD);
3182 + sp->set_stmt_end(thd);
3183 + sp->restore_thd_mem_root(thd);
3185 if (sp->is_not_allowed_in_function("trigger"))
3186 MYSQL_YYABORT;
3187 @@ -13448,7 +13378,7 @@
3188 sp_proc_stmt alternatives are not saving/restoring LEX, so
3189 lex->query_tables can be wiped out.
3191 - if (!lex->select_lex.add_table_to_list(YYTHD, $9,
3192 + if (!lex->select_lex.add_table_to_list(thd, $9,
3193 (LEX_STRING*) 0,
3194 TL_OPTION_UPDATING,
3195 TL_IGNORE))
3196 @@ -13466,7 +13396,6 @@
3197 AGGREGATE_SYM remember_name FUNCTION_SYM ident
3198 RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys
3200 - THD *thd= YYTHD;
3201 LEX *lex= thd->lex;
3202 if (is_native_function(thd, & $4))
3204 @@ -13484,7 +13413,6 @@
3205 | remember_name FUNCTION_SYM ident
3206 RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys
3208 - THD *thd= YYTHD;
3209 LEX *lex= thd->lex;
3210 if (is_native_function(thd, & $3))
3212 @@ -13507,7 +13435,6 @@
3213 sp_name /* $3 */
3214 '(' /* $4 */
3215 { /* $5 */
3216 - THD *thd= YYTHD;
3217 LEX *lex= thd->lex;
3218 Lex_input_stream *lip= YYLIP;
3219 sp_head *sp;
3220 @@ -13565,7 +13492,7 @@
3221 MYSQL_YYABORT;
3224 - if (sp->fill_field_definition(YYTHD, lex,
3225 + if (sp->fill_field_definition(thd, lex,
3226 (enum enum_field_types) $11,
3227 &sp->m_return_field_def))
3228 MYSQL_YYABORT;
3229 @@ -13574,7 +13501,6 @@
3231 sp_c_chistics /* $13 */
3232 { /* $14 */
3233 - THD *thd= YYTHD;
3234 LEX *lex= thd->lex;
3235 Lex_input_stream *lip= YYLIP;
3237 @@ -13583,7 +13509,6 @@
3239 sp_proc_stmt /* $15 */
3241 - THD *thd= YYTHD;
3242 LEX *lex= thd->lex;
3243 sp_head *sp= lex->sphead;
3245 @@ -13654,10 +13579,10 @@
3246 sp= new sp_head();
3247 if (sp == NULL)
3248 MYSQL_YYABORT;
3249 - sp->reset_thd_mem_root(YYTHD);
3250 + sp->reset_thd_mem_root(thd);
3251 sp->init(lex);
3252 sp->m_type= TYPE_ENUM_PROCEDURE;
3253 - sp->init_sp_name(YYTHD, $3);
3254 + sp->init_sp_name(thd, $3);
3256 lex->sphead= sp;
3258 @@ -13672,7 +13597,6 @@
3259 sp_pdparam_list
3262 - THD *thd= YYTHD;
3263 LEX *lex= thd->lex;
3265 lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
3266 @@ -13680,7 +13604,6 @@
3268 sp_c_chistics
3270 - THD *thd= YYTHD;
3271 LEX *lex= thd->lex;
3273 lex->sphead->m_chistics= &lex->sp_chistics;
3274 @@ -13691,9 +13614,9 @@
3275 LEX *lex= Lex;
3276 sp_head *sp= lex->sphead;
3278 - sp->set_stmt_end(YYTHD);
3279 + sp->set_stmt_end(thd);
3280 lex->sql_command= SQLCOM_CREATE_PROCEDURE;
3281 - sp->restore_thd_mem_root(YYTHD);
3282 + sp->restore_thd_mem_root(thd);
3286 @@ -13730,21 +13653,21 @@
3287 text_string
3289 MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE);
3290 - if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
3291 + if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
3292 MYSQL_YYABORT;
3293 Lex->xid->set(1L, $1->ptr(), $1->length(), 0, 0);
3295 | text_string ',' text_string
3297 MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE);
3298 - if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
3299 + if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
3300 MYSQL_YYABORT;
3301 Lex->xid->set(1L, $1->ptr(), $1->length(), $3->ptr(), $3->length());
3303 | text_string ',' text_string ',' ulong_num
3305 MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE);
3306 - if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID))))
3307 + if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
3308 MYSQL_YYABORT;
3309 Lex->xid->set($5, $1->ptr(), $1->length(), $3->ptr(), $3->length());