• Gleb Shchepa's avatar
    Bug #44290: explain crashes for subquery with distinct in · bd596287
    Gleb Shchepa authored
                SQL_SELECT::test_quick_select
    
    The crash was caused by an incomplete cleanup of JOIN_TAB::select
    during the filesort of rows for GROUP BY clause inside a subquery.
    Queries where a quick index access is replaced with filesort was
    was affected. For example:
    
      SELECT 1 FROM
        (SELECT COUNT(DISTINCT c1) FROM t1
           WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x
    
    Quick index access related data in the SQL_SELECT::test_quick_select
    function was inconsistent after an incomplete cleanup.
    This function has been completed to prevent crashes in the
    SQL_SELECT::test_quick_select function.
    
    
    mysql-test/include/mix1.inc:
      Add test case for bug #44290.
    mysql-test/r/innodb_mysql.result:
      Add test case for bug #44290.
    sql/sql_select.cc:
      Bug #44290: explain crashes for subquery with distinct in
                  SQL_SELECT::test_quick_select
      
      Quick index access related data in the SQL_SELECT::test_quick_select
      function was inconsistent after an incomplete cleanup.
      This function has been completed to prevent crashes in the
      SQL_SELECT::test_quick_select function.
    bd596287
sql_select.cc 533 KB