rocksdb/include/rocksdb
sdong 8f2bee6747 Add ReadOptions.auto_prefix_mode (#6314)
Summary:
Add a new option ReadOptions.auto_prefix_mode. When set to true, iterator should return the same result as total order seek, but may choose to do prefix seek internally, based on iterator upper bounds. Also fix two previous bugs when handling prefix extrator changes: (1) reverse iterator should not rely on upper bound to determine prefix. Fix it with skipping prefix check. (2) block-based filter is not handled properly.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6314

Test Plan: (1) add a unit test; (2) add the check to stress test and run see whether it can pass at least one run.

Differential Revision: D19458717

fbshipit-source-id: 51c1bcc5cdd826c2469af201979a39600e779bce
2020-01-28 14:44:05 -08:00
..
utilities parallel occ (#6240) 2020-01-07 14:20:38 -08:00
advanced_options.h Make default value of options.ttl to be 30 days when it is supported. (#6073) 2019-11-26 10:00:32 -08:00
c.h Expose atomic flush option in C API (#6307) 2020-01-17 12:57:48 -08:00
cache.h Implement PinnableSlice::remove_prefix (#6330) 2020-01-24 13:04:53 -08:00
cleanable.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
compaction_filter.h Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
compaction_job_stats.h Add a new CPU time counter to compaction report (#4889) 2019-01-29 17:24:00 -08:00
comparator.h The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
concurrent_task_limiter.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
convenience.h Do readahead in VerifyChecksum() (#5713) 2019-08-16 16:42:56 -07:00
db_bench_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
db_dump_tool.h Fix some typos in comments and docs. 2018-03-08 10:27:25 -08:00
db_stress_tool.h Expose db stress tests (#5937) 2019-10-18 09:46:44 -07:00
db.h Add oldest snapshot sequence property (#6228) 2020-01-07 08:36:44 -08:00
env_encryption.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
env.h Implement PinnableSlice::remove_prefix (#6330) 2020-01-24 13:04:53 -08:00
experimental.h Change RocksDB License 2017-07-15 16:11:23 -07:00
file_system.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
filter_policy.h Log warning for high bits/key in legacy Bloom filter (#6312) 2020-01-17 19:37:35 -08:00
flush_block_policy.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
io_status.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
iostats_context.h Add a new CPU time counter to compaction report (#4889) 2019-01-29 17:24:00 -08:00
iterator.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
ldb_tool.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
listener.h Propagate SST and blob file numbers through the EventListener interface (#5962) 2019-10-24 14:44:15 -07:00
memory_allocator.h JemallocNodumpAllocator: option to limit tcache memory usage (#4736) 2018-11-29 17:33:40 -08:00
memtablerep.h Add insert hints for each writebatch (#5728) 2019-09-12 17:15:18 -07:00
merge_operator.h The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
metadata.h Support options.max_open_files = -1 with periodic_compaction_seconds (#6090) 2019-11-26 21:39:56 -08:00
options.h Add ReadOptions.auto_prefix_mode (#6314) 2020-01-28 14:44:05 -08:00
perf_context.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
perf_level.h Introduce a CPU time counter in perf_context (#4741) 2018-12-20 12:03:44 -08:00
persistent_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
rate_limiter.h Fix typos in comments (#4819) 2018-12-26 09:43:56 -08:00
slice_transform.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
slice.h Implement PinnableSlice::remove_prefix (#6330) 2020-01-24 13:04:53 -08:00
snapshot.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_dump_tool.h tools: use provided options instead of the default (#4839) 2019-01-03 11:23:49 -08:00
sst_file_manager.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
sst_file_reader.h Do readahead in VerifyChecksum() (#5713) 2019-08-16 16:42:56 -07:00
sst_file_writer.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
statistics.h Implement PinnableSlice::remove_prefix (#6330) 2020-01-24 13:04:53 -08:00
stats_history.h Persistent Stats: persist stats history to disk (#5046) 2019-06-17 15:21:50 -07:00
status.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
table_properties.h Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
table.h Update format_version comment for 6.6.0 2019-11-27 10:24:16 -08:00
thread_status.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
threadpool.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
trace_reader_writer.h Add the max trace file size limitation option to Tracing (#4610) 2018-11-27 14:27:05 -08:00
transaction_log.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
types.h WriteUnPrepared: less virtual in iterator callback (#5049) 2019-04-02 14:47:16 -07:00
universal_compaction.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
version.h Update version for next release, 6.7.0 (#6320) 2020-01-24 15:36:32 -08:00
wal_filter.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
write_batch_base.h Fix WriteBatchBase::DeleteRange API comment (#4935) 2019-01-31 14:43:40 -08:00
write_batch.h upgrade gtest 1.7.0 => 1.8.1 for json result writing 2019-09-09 11:24:11 -07:00
write_buffer_manager.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00