Add virtual func IsDeleteRangeSupported
Summary: this modify allows third-party tables able to support delete range Closes https://github.com/facebook/rocksdb/pull/2035 Differential Revision: D5407973 Pulled By: ajkr fbshipit-source-id: 82e364b7dd5a198660788d59543f15b8f95cc418
This commit is contained in:
parent
7550255c54
commit
70440f7a63
@ -355,8 +355,8 @@ ColumnFamilyData::ColumnFamilyData(
|
|||||||
initial_cf_options_(SanitizeOptions(db_options, cf_options)),
|
initial_cf_options_(SanitizeOptions(db_options, cf_options)),
|
||||||
ioptions_(db_options, initial_cf_options_),
|
ioptions_(db_options, initial_cf_options_),
|
||||||
mutable_cf_options_(initial_cf_options_),
|
mutable_cf_options_(initial_cf_options_),
|
||||||
is_delete_range_supported_(strcmp(cf_options.table_factory->Name(),
|
is_delete_range_supported_(
|
||||||
BlockBasedTableFactory().Name()) == 0),
|
cf_options.table_factory->IsDeleteRangeSupported()),
|
||||||
write_buffer_manager_(write_buffer_manager),
|
write_buffer_manager_(write_buffer_manager),
|
||||||
mem_(nullptr),
|
mem_(nullptr),
|
||||||
imm_(ioptions_.min_write_buffer_number_to_merge,
|
imm_(ioptions_.min_write_buffer_number_to_merge,
|
||||||
|
@ -482,6 +482,9 @@ class TableFactory {
|
|||||||
// Developers should use DB::SetOption() instead to dynamically change
|
// Developers should use DB::SetOption() instead to dynamically change
|
||||||
// options while the DB is open.
|
// options while the DB is open.
|
||||||
virtual void* GetOptions() { return nullptr; }
|
virtual void* GetOptions() { return nullptr; }
|
||||||
|
|
||||||
|
// Return is delete range supported
|
||||||
|
virtual bool IsDeleteRangeSupported() const { return false; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef ROCKSDB_LITE
|
#ifndef ROCKSDB_LITE
|
||||||
|
@ -55,6 +55,8 @@ class BlockBasedTableFactory : public TableFactory {
|
|||||||
|
|
||||||
void* GetOptions() override { return &table_options_; }
|
void* GetOptions() override { return &table_options_; }
|
||||||
|
|
||||||
|
bool IsDeleteRangeSupported() const override { return true; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BlockBasedTableOptions table_options_;
|
BlockBasedTableOptions table_options_;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user