diff --git a/sql/sp.cc b/sql/sp.cc index 81513cb3198..9a816f277ed 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -72,6 +72,9 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, DBUG_PRINT("enter", ("type: %d name: %*s", type, name->m_name.length, name->m_name.str)); + *opened= FALSE; + *tablep= 0; + /* Speed up things if mysql.proc doesn't exists. mysql_proc_table_exists is set when we create or read stored procedure or on flush privileges. @@ -88,9 +91,7 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, strcmp(table->s->table_name, "proc") == 0) break; } - if (table) - *opened= FALSE; - else + if (!table) { TABLE_LIST tables; @@ -99,7 +100,6 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, tables.table_name= tables.alias= (char*)"proc"; if (! (table= open_ltable(thd, &tables, ltype))) { - *tablep= NULL; /* Under explicit LOCK TABLES or in prelocked mode we should not say that mysql.proc table does not exist if we are unable to @@ -131,7 +131,6 @@ db_find_routine_aux(THD *thd, int type, sp_name *name, key, table->key_info->key_length, HA_READ_KEY_EXACT)) { - *tablep= NULL; DBUG_RETURN(SP_KEY_NOT_FOUND); } *tablep= table; diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 98e7475ea90..7c7939eaf60 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -1101,7 +1101,7 @@ void st_select_lex::init_query() embedding= leaf_tables= 0; item_list.empty(); join= 0; - where= prep_where= 0; + having= where= prep_where= 0; olap= UNSPECIFIED_OLAP_TYPE; having_fix_field= 0; resolve_mode= NOMATTER_MODE;