Hi, Ramil!
On Sep 22, Ramil Kalimullin wrote:
> #At file:///home/ram/mysql/b39182.5.0/
>
> 2687 Ramil Kalimullin 2008-09-22
> Fix for bug#39182: Binary log producing incompatible character set query
> from stored procedure.
>
> Problem: we replace all references to local variables in stored procedures
>
> with NAME_CONST(name, value) logging to the binary log. However, if the
> value's collation differs we might get an 'illegal mix of collation'
>
> error as we don't pass the collation to the function.
>
> Fix: pass the value's collation to NAME_CONST().
>
> Note: actually we should pass to NAME_CONST() the value's derivation as well.
> It's impossible without the parser modifying. Now we always set the
> derivation to DERIVATION_IMPLICIT, the same as local variables have.
The fix looks ok.
But please add a test case for the real life situation - not an
artificial NAME_CONST with COLLATE, but something like from the
bugreport.
Regards / Mit vielen Grüßen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Engineer/Server Architect
/_/ /_/\_, /___/\___\_\___/ Sun Microsystems GmbH, HRB München 161028
<___/ Sonnenallee 1, 85551 Kirchheim-Heimstetten
Geschäftsführer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Häring