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-03-17 14:08:00 -07:00
2015-03-12 21:13:53 +03:00
2015-07-01 16:13:56 -07:00
2015-03-17 14:08:00 -07:00
2015-04-25 18:14:27 +09:00
2014-11-07 15:04:30 -08:00
2015-06-18 13:56:31 -07:00
2015-03-17 14:08:00 -07:00
2014-08-19 06:48:21 -07:00
2015-02-26 11:28:41 -08:00
2015-03-17 14:08:00 -07:00
2015-07-16 13:56:17 +08:00
2015-03-17 14:08:00 -07:00
2015-04-25 18:14:27 +09:00
2015-03-17 14:08:00 -07:00
2014-11-14 11:38:26 -08:00
2014-11-14 11:38:26 -08:00
2015-03-17 14:08:00 -07:00
2014-11-20 10:49:32 -08:00
2015-07-16 11:22:21 +02:00
2015-04-25 18:14:27 +09:00
2015-04-25 18:14:27 +09:00
2015-07-01 16:13:56 -07:00
2015-03-17 14:08:00 -07:00
2015-02-26 11:28:41 -08:00
2015-07-01 16:13:56 -07:00
2015-04-13 16:15:05 -07:00
2015-07-01 16:13:56 -07:00
2015-07-01 16:13:56 -07:00
2015-07-01 16:13:56 -07:00
2015-07-01 16:13:56 -07:00
2015-07-13 13:50:18 -07:00
2015-01-23 18:10:52 -08:00
2014-07-28 12:10:49 -07:00
2013-12-03 12:42:15 -08:00
2014-07-28 12:22:37 -07:00
2014-11-21 11:05:28 -05:00
2015-07-01 16:13:56 -07:00
2014-09-08 22:24:40 -07:00
2015-07-17 09:27:24 -07:00
2015-03-17 14:08:00 -07:00
2015-07-01 16:13:56 -07:00