Andres Notzli 1d20fa9d0f Fixed and simplified merge_helper
Summary:
MergeUntil was not reporting a success when merging an operand with
a Value/Deletion despite the comments in MergeHelper and CompactionJob
indicating otherwise. This lead to operands being written to the compaction
output unnecessarily:

M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M2 M3 M4 M5 (before the diff)
M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M4 M5 (after the diff)

In addition, the code handling Values/Deletion was basically identical.
This patch unifies the code. Finally, this patch also adds testing for
merge_helper.

Test Plan: make && make check

Reviewers: sdong, rven, yhchiang, tnovak, igor

Reviewed By: igor

Subscribers: tnovak, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D42351
2015-07-17 09:27:24 -07:00
..
2015-04-23 21:33:44 -07:00
2014-09-04 09:10:13 +08:00
2014-10-31 11:59:54 -07:00
2015-03-17 14:08:00 -07:00
2015-03-24 16:27:24 -07:00
2015-04-23 21:33:44 -07:00
2015-07-13 13:50:18 -07:00
2014-11-06 11:14:28 -08:00
2015-02-26 11:28:41 -08:00
2014-09-06 23:21:26 +08:00
2015-07-01 16:13:56 -07:00
2015-05-29 14:36:35 -07:00