rocksdb/db/wide
Levi Tamasi 7867a1112b Handle Merges correctly in GetEntity (#10894)
Summary:
The PR fixes the handling of `Merge`s in `GetEntity`. Note that `Merge` is not yet
supported for wide-column entities written using `PutEntity`; this change is
about returning correct (i.e. consistent with `Get`) results in cases like when the
base value is a plain old key-value written using `Put` or when there is no real base
value because we hit either a tombstone or the beginning of history.

Implementation-wise, the patch introduces a new wrapper around the existing
`MergeHelper::TimedFullMerge` that can store the merge result in either a string
(for the purposes of `Get`) or a `PinnableWideColumns` instance (for `GetEntity`).

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10894

Test Plan: `make check`

Reviewed By: riversand963

Differential Revision: D40782708

Pulled By: ltamasi

fbshipit-source-id: 3d700d56b2ef81f02ba1e2d93f6481bf13abcc90
2022-10-28 10:48:51 -07:00
..
db_wide_basic_test.cc Handle Merges correctly in GetEntity (#10894) 2022-10-28 10:48:51 -07:00
wide_column_serialization.cc Support providing the default column separately when serializing columns (#10839) 2022-10-20 16:00:58 -07:00
wide_column_serialization.h Support providing the default column separately when serializing columns (#10839) 2022-10-20 16:00:58 -07:00
wide_column_serialization_test.cc Support providing the default column separately when serializing columns (#10839) 2022-10-20 16:00:58 -07:00
wide_columns.cc Verify columns in NonBatchedOpsStressTest::VerifyDb (#10783) 2022-10-06 15:07:16 -07:00