diff options
author | Tor Didriksen <tor.didriksen@oracle.com> | 2013-03-19 15:08:19 +0100 |
---|---|---|
committer | Tor Didriksen <tor.didriksen@oracle.com> | 2013-03-19 15:08:19 +0100 |
commit | 57129a3a4b6c86a570d3e9d35ca643aa00db70b9 (patch) | |
tree | e5c90dd1296d8f3cf1981e1de364270f5a464e44 /sql/sql_yacc.yy | |
parent | d978016d93a9e607cf9f75458ca94d1326223597 (diff) | |
download | mariadb-git-57129a3a4b6c86a570d3e9d35ca643aa00db70b9.tar.gz |
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
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 3a76dbb310c..dc4aadea33a 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -10959,7 +10959,9 @@ show: bzero((char*) &lex->create_info,sizeof(lex->create_info)); } show_param - {} + { + Select->parsing_place= NO_MATTER; + } ; show_param: @@ -11309,7 +11311,10 @@ describe: if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS)) MYSQL_YYABORT; } - opt_describe_column {} + opt_describe_column + { + Select->parsing_place= NO_MATTER; + } | describe_command opt_extended_describe { Lex->describe|= DESCRIBE_NORMAL; } select |