FirebirdSQL/firebird

Conflict resolution code uses constraint name instead of index name

aafemt opened this issue · 5 comments

https://github.com/FirebirdSQL/firebird/blame/95442bdfff76d22aafb57b58894047be2a89c6ea/src/jrd/replication/Applier.cpp#L637

If these names are different debug build consistently throw assertion error during execution of test_blob_not_found_in_rw_replica_if_target_row_exists.py.

Where do you see uninitialized variables ?

Oops, my bad, sorry. I looked at wrong MET_lookup_index_name() overload.

The issue makes no real problem: if code can't find index - it works as before #8042.
The only visible problem is assertions in DEBUG build.

Anyway, I'll look how to better handle the case when index and constraint names are not the same.

Read the code and stop speculate:

It was the reply on (lost, deleted ?) comment by aafemt: "I wonder what could happen if there is index with name matched constraint's one but on different table..."