• Sergei Petrunia's avatar
    MDEV-21610 Different query results from 10.4.11 to 10.4.12 · e6373551
    Sergei Petrunia authored
    Part#2: cleanup:
    
    In the part 1 of the fix, DS-MRR implementation would peek into
    the JOIN_TAB to get the rowid filter from
    
      table->reginfo.join_tab->rowid_filter
    
    This doesn't look good from code isolation standpoint (why should a
    storage engine assume it is used through a JOIN_TAB?).
    
    Fixed this by storing the 'un-pushed' rowid_filter in the DsMrr_impl
    structure. The filter survives across multi_range_read_init() calls.
    
    It is discarded when somebody calls index_end() or rnd_end() and cleans
    up the DsMrr_impl.
    e6373551
multi_range_read.h 22.5 KB