• unknown's avatar
    Fix of LP BUG#780386. · 8b062c1f
    unknown authored
      
      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.
    8b062c1f
subselect.test 135 KB