• unknown's avatar
    * Bug #20792: Incorrect results from aggregate subquery · 1f318e3c
    unknown authored
    When processing aggregate functions all tables values are reset
    to NULLs at the end of each group. 
    When doing that if there are no rows found for a group
    the const tables must not be reset as they are not recalculated 
    by do_select()/sub_select() for each group.
    
    
    mysql-test/r/subselect2.result:
      * Bug #20792: Incorrect results from aggregate subquery
       - test suite for the bug. This is dependent on InnoDB despite
         the fact that the bug and the fix are not InnoDB specific.
         This is because of the table flag HA_NOT_EXACT_COUNT.
         When this flag is off (as in MyISAM) both t2 and t3 become of
         join type 'system' as they are estimated to have 1 record and
         and this statistics can be trusted (according to the absence of
         HA_NOT_EXACT_COUNT).
    mysql-test/t/subselect2.test:
      * Bug #20792: Incorrect results from aggregate subquery
       - test suite for the bug
    sql/sql_select.cc:
      * Bug #20792: Incorrect results from aggregate subquery
       - when clearing results if there are not rows found for group
         the const tables must not be reset as they are not recalculated
         for each group.
    1f318e3c
subselect2.test 14.1 KB