mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
Bug#16359402 CRASH WITH AGGREGATES: ASSERTION FAILED: N < M_SIZE
Post push fix: setup_ref_array() now uses n_sum_items to determine size of ref_pointer_array. The problem was that n_sum_items kept growing, it wasn't reset for each query. A similar memory leak was fixed with the patch for: Bug 14683676 ENDLESS MEMORY CONSUMPTION IN SETUP_REF_ARRAY WITH MAX IN SUBQUERY
This commit is contained in:
parent
d978016d93
commit
57129a3a4b
2 changed files with 8 additions and 2 deletions
|
@ -1761,6 +1761,7 @@ void st_select_lex::init_query()
|
||||||
ref_pointer_array_size= 0;
|
ref_pointer_array_size= 0;
|
||||||
select_n_where_fields= 0;
|
select_n_where_fields= 0;
|
||||||
select_n_having_items= 0;
|
select_n_having_items= 0;
|
||||||
|
n_sum_items= 0;
|
||||||
n_child_sum_items= 0;
|
n_child_sum_items= 0;
|
||||||
subquery_in_having= explicit_limit= 0;
|
subquery_in_having= explicit_limit= 0;
|
||||||
is_item_list_lookup= 0;
|
is_item_list_lookup= 0;
|
||||||
|
|
|
@ -10959,7 +10959,9 @@ show:
|
||||||
bzero((char*) &lex->create_info,sizeof(lex->create_info));
|
bzero((char*) &lex->create_info,sizeof(lex->create_info));
|
||||||
}
|
}
|
||||||
show_param
|
show_param
|
||||||
{}
|
{
|
||||||
|
Select->parsing_place= NO_MATTER;
|
||||||
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
show_param:
|
show_param:
|
||||||
|
@ -11309,7 +11311,10 @@ describe:
|
||||||
if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS))
|
if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS))
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
}
|
}
|
||||||
opt_describe_column {}
|
opt_describe_column
|
||||||
|
{
|
||||||
|
Select->parsing_place= NO_MATTER;
|
||||||
|
}
|
||||||
| describe_command opt_extended_describe
|
| describe_command opt_extended_describe
|
||||||
{ Lex->describe|= DESCRIBE_NORMAL; }
|
{ Lex->describe|= DESCRIBE_NORMAL; }
|
||||||
select
|
select
|
||||||
|
|
Loading…
Reference in a new issue