diff options
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 6ee1164806d..122ceeedc54 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -146,8 +146,9 @@ LEX *lex_start(THD *thd, uchar *buf,uint length) lex->length=0; lex->select_lex.in_sum_expr=0; lex->select_lex.expr_list.empty(); - lex->select_lex.ftfunc_list.empty(); - lex->convert_set=(lex->thd=thd)->variables.convert_set; + lex->select_lex.ftfunc_list_alloc.empty(); + lex->select_lex.ftfunc_list= &lex->select->ftfunc_list_alloc; + lex->convert_set= (lex->thd= thd)->variables.convert_set; lex->yacc_yyss=lex->yacc_yyvs=0; lex->ignore_space=test(thd->sql_mode & MODE_IGNORE_SPACE); lex->slave_thd_opt=0; @@ -943,6 +944,8 @@ void st_select_lex_unit::init_query() global_parameters= this; select_limit_cnt= HA_POS_ERROR; offset_limit_cnt= 0; + optimized= 0; + item= 0; } void st_select_lex::init_query() @@ -966,9 +969,11 @@ void st_select_lex::init_select() expr_list.empty(); interval_list.empty(); use_index.empty(); - ftfunc_list.empty(); + ftfunc_list_alloc.empty(); + ftfunc_list= &ftfunc_list_alloc; linkage= UNSPECIFIED_TYPE; depended= having_fix_field= 0; + } /* |