• Nikita Malyavin's avatar
    MDEV-29069 ER_KEY_NOT_FOUND on online autoinc addition + concurrent DELETE · 2be4c836
    Nikita Malyavin authored
    We can't rely on keys formed with columns that were added during this
    ALTER. These columns can be set with non-deterministic values, which can
    end up with broken or incorrect search.
    
    The same applies to the keys that contain reliable columns, but also have
    bogus ones. Using them can narrow the search, but they're also ignored.
    
    Also, added columns shouldn't be considered during the record match. To
    determine them, table->has_value_set bitmap is used.
    
    To fill has_value_set bitmap in the find_key call, extra unpack_row call
    has been added.
    
    For replication case, extra replica columns can be considered for this
    case. We try to ignore them, too.
    2be4c836
rpl_record.cc 16.8 KB