Hi Mattias,
I have no suggestions wrt this patch. Well, except for those that
were mentioned by Davi. Ok to push and thanks for this great effort.
Regards,
Sergey
On Fri, Mar 25, 2011 at 11:36:08AM -0000, Mattias Jonsson wrote:
> #At file:///C:/ade/mysql-bzr/b59316-5.1/ based on
> revid:build@stripped
>
> 3611 Mattias Jonsson 2011-03-25
> Bug#11766249 bug#59316: PARTITIONING AND INDEX_MERGE MEMORY LEAK
>
> When executing row-ordered-retrieval index merge,
> the handler was cloned, but it used the wrong
> memory root, so instead of allocating memory
> on the thread/query's mem_root, it used the table's
> mem_root, resulting in non released memory in the
> table object, and was not freed until the table was
> closed.
>
> Solution was to ensure that memory used during cloning
> of a handler was allocated from the correct memory root.
>
> This was implemented by fixing handler::clone() to also
> take a name argument, so it can be used with partitioning.
> And in ha_partition only allocate the ha_partition's ref, and
> call the original ha_partition partitions clone() and set at cloned
> partitions.
>
> Fix of .bzrignore on Windows with VS 2010
...skip...
--
Sergey Vojtovich <svoj@stripped>
MySQL AB, Software Engineer
Izhevsk, Russia, www.mysql.com