~maria-captains/maria/5.2

Viewing all changes in revision 3026.

  • Committer: sanja at askmonty
  • Date: 2011-09-05 06:29:49 UTC
  • Revision ID: sanja@askmonty.org-20110905062949-amp6t1hmu79dnvbj
Fix of LP BUG#780386.
  
  ALL subquery should return TRUE if subquery rowa set is empty independently
  of left part.  The problem was that Item_func_(eq,ne,gt,ge,lt,le) do not
  call execution of second argument if first is NULL no in this case subquery
  will not be executed and when Item_func_not_all calls any_value() of the
  subquery or aggregation function which report that there was rows. So for
  NULL < ALL (SELECT...) result was FALSE instead of TRUE.
  
  Fix is just swapping of arguments of Item_func_(eq,ne,gt,ge,lt,le) (with
  changing the operation if it is needed) so that result will be the same
  (for examole a < b is equal to b > a). This fix exploit the fact that
  first argument will be executed in any case.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: