push
github
vinyl: disable tautological DELETE optimization for deferred DELETEs If the write iterator sees that one DELETE statement follows another, which isn't discarded because it's referenced by a read view, it drops the newer DELETE, see commit a6f45d870813b ("vinyl: discard tautological DELETEs on compaction"). This is incorrect if the older DELETE is a deferred DELETE statement (marked as SKIP READ) because such statements are dumped out of order, i.e. there may be a statement with the LSN lying between the two DELETEs in an older source not included into this compaction task. If we discarded the newer DELETE, we wouldn't overwrite this statement on major compaction, leaving garbage. Fix this issue by disabling this optimization for deferred DELETEs. Closes #10895 NO_DOC=bug fix (cherry picked from commit 2945a8c9f)
68621 of 121862 branches covered (56.31%)
1 of 1 new or added line in 1 file covered. (100.0%)
90 existing lines in 20 files now uncovered.101213 of 115964 relevant lines covered (87.28%)
2481579.12 hits per line