Hi Dmitry,
ok to push.
Regards,
Sergey
On Sun, Feb 13, 2011 at 07:47:56AM -0000, Dmitry Lenev wrote:
> #At file:///home/dlenev/src/bzr/mysql-5.1-59888/ based on
> revid:georgi.kodinov@stripped
>
> 3591 Dmitry Lenev 2011-02-13
> Fix for bug#11766714 (former bug @59888) "debug assertion when
> attempt to create spatial index on char > 31 bytes".
>
> Attempt to create spatial index on char field with length
> greater than 31 byte led to assertion failure on server
> compiled with safemutex support.
>
> The problem occurred in mi_create() function which was called
> to create a new version of table being altered. This function
> failed since it detected an attempt to create a spatial key
> on non-binary column and tried to return an error.
> On its error path it tried to unlock THR_LOCK_myisam mutex
> which has not been not locked at this point. Indeed such an
> incorrect behavior was caught by safemutex wrapper and caused
> assertion failure.
>
> This patch fixes the problem by ensuring that mi_create()
> doesn't releases THR_LOCK_myisam mutex on error path if it was
> not acquired.
...skip...
--
Sergey Vojtovich <svoj@stripped>
MySQL AB, Software Engineer
Izhevsk, Russia, www.mysql.com