• Sergey Petrunya's avatar
    # MDEV-3817: Wrong result with index_merge+index_merge_intersection, InnoDB... · be0be7af
    Sergey Petrunya authored
    # MDEV-3817: Wrong result with index_merge+index_merge_intersection, InnoDB table, join, AND and OR conditions
    Reconcile the fixes from:
    #
    # guilhem.bichot@oracle.com-20110805143029-ywrzuz15uzgontr0
    # Fix for BUG#12698916 - "JOIN QUERY GIVES WRONG RESULT AT 2ND EXEC. OR
    # AFTER FLUSH TABLES [-INT VS NULL]"
    #
    # guilhem.bichot@oracle.com-20111209150650-tzx3ldzxe1yfwji6
    # Fix for BUG#12912171 - ASSERTION FAILED: QUICK->HEAD->READ_SET == SAVE_READ_SET
    # and
    #
    and related fixes from: BUG#1006164, MDEV-376:
    
    Now, ROR-merged QUICK_RANGE_SELECT objects make no assumptions about the values
    of table->read_set and table->write_set.
    Each QUICK_ROR_SELECT has (and had before) its own column bitmap, but now, all 
    QUICK_ROR_SELECT's functions that care: reset(), init_ror_merged_scan(), and 
    get_next()  will set table->read_set when invoked and restore it back to what 
    it was before the call before they return.
    
    This allows to avoid the mess when somebody else modifies table->read_set for 
    some reason.
    
    
    be0be7af
innodb_mrr_cpk.test 4.98 KB