0af157f9bf
Summary:
1. Make filter_block.h a base class. Derive block_based_filter_block and full_filter_block. The previous one is the traditional filter block. The full_filter_block is newly added. It would generate a filter block that contain all the keys in SST file.
2. When querying a key, table would first check if full_filter is available. If not, it would go to the exact data block and check using block_based filter.
3. User could choose to use full_filter or tradional(block_based_filter). They would be stored in SST file with different meta index name. "filter.filter_policy" or "full_filter.filter_policy". Then, Table reader is able to know the fllter block type.
4. Some optimizations have been done for full_filter_block, thus it requires a different interface compared to the original one in filter_policy.h.
5. Actual implementation of filter bits coding/decoding is placed in util/bloom_impl.cc
Benchmark: base commit
|
||
---|---|---|
.. | ||
builder.cc | ||
builder.h | ||
c_test.c | ||
c.cc | ||
column_family_test.cc | ||
column_family.cc | ||
column_family.h | ||
compaction_picker.cc | ||
compaction_picker.h | ||
compaction.cc | ||
compaction.h | ||
corruption_test.cc | ||
cuckoo_table_db_test.cc | ||
db_bench.cc | ||
db_filesnapshot.cc | ||
db_impl_debug.cc | ||
db_impl_readonly.cc | ||
db_impl_readonly.h | ||
db_impl.cc | ||
db_impl.h | ||
db_iter_test.cc | ||
db_iter.cc | ||
db_iter.h | ||
db_test.cc | ||
dbformat_test.cc | ||
dbformat.cc | ||
dbformat.h | ||
deletefile_test.cc | ||
file_indexer_test.cc | ||
file_indexer.cc | ||
file_indexer.h | ||
filename_test.cc | ||
filename.cc | ||
filename.h | ||
forward_iterator.cc | ||
forward_iterator.h | ||
internal_stats.cc | ||
internal_stats.h | ||
log_and_apply_bench.cc | ||
log_format.h | ||
log_reader.cc | ||
log_reader.h | ||
log_test.cc | ||
log_writer.cc | ||
log_writer.h | ||
memtable_list.cc | ||
memtable_list.h | ||
memtable.cc | ||
memtable.h | ||
merge_context.h | ||
merge_helper.cc | ||
merge_helper.h | ||
merge_operator.cc | ||
merge_test.cc | ||
perf_context_test.cc | ||
plain_table_db_test.cc | ||
prefix_test.cc | ||
repair.cc | ||
simple_table_db_test.cc | ||
skiplist_test.cc | ||
skiplist.h | ||
snapshot.h | ||
table_cache.cc | ||
table_cache.h | ||
table_properties_collector_test.cc | ||
table_properties_collector.cc | ||
table_properties_collector.h | ||
transaction_log_impl.cc | ||
transaction_log_impl.h | ||
version_edit_test.cc | ||
version_edit.cc | ||
version_edit.h | ||
version_set_test.cc | ||
version_set.cc | ||
version_set.h | ||
write_batch_internal.h | ||
write_batch_test.cc | ||
write_batch.cc |