Commit f130a5ea authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

MDEV-28266 Crash in Field_string::type_handler when calling procedures

on_table_fill_finished() should always be done at the end of open()
even if result is not Select_materialize but (for example)
Select_fetch_into_spvars.
parent e4835bf5
......@@ -80,19 +80,7 @@ class Select_materialize: public select_unit
Select_materialize(THD *thd_arg, select_result *result_arg):
select_unit(thd_arg), result(result_arg), materialized_cursor(0) {}
virtual bool send_result_set_metadata(List<Item> &list, uint flags);
bool send_eof()
{
if (materialized_cursor)
materialized_cursor->on_table_fill_finished();
return false;
}
void abort_result_set()
{
if (materialized_cursor)
materialized_cursor->on_table_fill_finished();
}
bool send_eof() { return false; }
bool view_structure_only() const
{
return result->view_structure_only();
......@@ -334,6 +322,8 @@ int Materialized_cursor::open(JOIN *join __attribute__((unused)))
result->abort_result_set();
}
on_table_fill_finished();
return rc;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment