mirror of https://github.com/facebook/rocksdb.git
1c7652fcef
Summary: introduce the class WBWIMemTable that implements ReadOnlyMemTable interface with data stored in a WriteBatchWithIndex object. This PR implements the main read path: Get, MultiGet and Iterator. It only supports Put, Delete and SingleDelete operations for now. All the keys in the WBWIMemTable will be assigned a global sequence number through WBWIMemTable::SetGlobalSequenceNumber(). Planned follow up PRs: - Create WBWIMemTable with a transaction's WBWI and ingest it into a DB during Transaction::Commit() - Support for Merge. This will be more complicated since we can have multiple updates with the same user key for Merge. - Support for other operations like WideColumn and other ReadOnlyMemTable methods. Pull Request resolved: https://github.com/facebook/rocksdb/pull/13123 Test Plan: * A mini-stress test for the read path is added as a new unit test Reviewed By: jowlyzhang Differential Revision: D65633419 Pulled By: cbi42 fbshipit-source-id: 0684fe47260b41f51ca39c300eb72ca5bc9c5a3b |
||
---|---|---|
.. | ||
alloc_tracker.cc | ||
hash_linklist_rep.cc | ||
hash_skiplist_rep.cc | ||
inlineskiplist.h | ||
inlineskiplist_test.cc | ||
memtablerep_bench.cc | ||
skiplist.h | ||
skiplist_test.cc | ||
skiplistrep.cc | ||
stl_wrappers.h | ||
vectorrep.cc | ||
wbwi_memtable.cc | ||
wbwi_memtable.h | ||
write_buffer_manager.cc | ||
write_buffer_manager_test.cc |