← Back to team overview

maria-developers team mailing list archive

Re: [Commits] Rev 3262: Fix bug lp:833702 in file:///home/tsk/mprog/src/5.3/

 

Hi!

01.11.2011 18:19, timour@xxxxxxxxxxxx пишет:
At file:///home/tsk/mprog/src/5.3/

------------------------------------------------------------
revno: 3262
revision-id: timour@xxxxxxxxxxxx-20111101161919-hukh3tipjms3lfzf
parent: sanja@xxxxxxxxxxxx-20111101112209-n4ghsy9hpliiassm
fixes bug(s): https://launchpad.net/bugs/833702
committer: timour@xxxxxxxxxxxx
branch nick: 5.3
timestamp: Tue 2011-11-01 18:19:19 +0200
message:
   Fix bug lp:833702

   Analysis:
   Equality propagation propagated the constant '7' into
   args[0] of the Item_in_optimizer that stands for the
   "<  ANY" predicate. At the same the min/max subquery
   rewrite swapped the order of the left and right operands
   of the "<" predicate, but used Item_in_subselect::left_expr.

   As a result, when the<ANY predicate is executed early in the
   execution phase as a contant condition, instead of a constant
   right (swapped) argument of the<  predicate, there was a field
   (t3.a). This field had no data, since the whole predicate is
   considered constant, and it is evaluated before any tables are
   read. Having junk in the field row buffer produced wrong result

   Solution:
   Fix create_swap to pick the correct Item_in_optimizer left
   argument.
OK to push.