MDEV-29069 ER_KEY_NOT_FOUND on online autoinc addition + concurrent DELETE
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.
Showing
This diff is collapsed.
Please register or sign in to comment