• Sergey Glukhov's avatar
    Bug#51494 crash with join, explain and 'sounds like' operator · bed09481
    Sergey Glukhov authored
    The crash happens because of discrepancy between values of
    conts_tables and join->const_table_map(make_join_statisctics).
    Calculation of conts_tables used condition with
    HA_STATS_RECORDS_IS_EXACT flag check. Calculation of
    join->const_table_map does not use this flag check.
    In case of MERGE table without union with index
    the table does not become const table and
    thus join_read_const_table() is not called
    for the table. join->const_table_map supposes
    this table is const and later in make_join_select
    this table is used for making&calculation const
    condition. As table record buffer is not populated
    it leads to crash.
    The fix is adding a check if an engine supports
    HA_STATS_RECORDS_IS_EXACT flag before updating
    join->const_table_map.
    bed09481
merge.test 52 KB