• unknown's avatar
    Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY · 3c5894ba
    unknown authored
      
    When swapping out heap I_S tables to disk, this is done after plan refinement.
    Thus, READ_RECORD::file will still point to the (deleted) heap handler at start
    of execution. This causes segmentation fault if join buffering is used and the 
    query is a star query where the result is found to be empty before accessing
    some table. In this case that table has not been initialized (i.e. had its 
    READ_RECORD re-initialized) before the cleanup routine tries to close the handler.
    Fixed by updating READ_RECORD::file when changing handler.
    
    
    mysql-test/r/information_schema.result:
      Bug#34529: Test result.
    mysql-test/t/information_schema.test:
      Bug#34529: Test case.
    sql/sql_show.cc:
      Bug#34529: The fix.
    3c5894ba
sql_show.cc 148 KB