rocksdb/table
Aaron Gao c7004840d2 store prefix_extractor_name in table
Summary:
Make sure prefix extractor name is stored in SST files and if DB is opened with a prefix extractor of a different name, prefix bloom is skipped when read the file.
Also add unit tests for that.

Test Plan:
before change:
```
Note: Google Test filter = BlockBasedTableTest.SkipPrefixBloomFilter
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from BlockBasedTableTest
[ RUN      ] BlockBasedTableTest.SkipPrefixBloomFilter
table/table_test.cc:1421: Failure
Value of: db_iter->Valid()
Actual: false
Expected: true
[  FAILED  ] BlockBasedTableTest.SkipPrefixBloomFilter (1 ms)
[----------] 1 test from BlockBasedTableTest (1 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] BlockBasedTableTest.SkipPrefixBloomFilter

1 FAILED TEST
```
after:
```
Note: Google Test filter = BlockBasedTableTest.SkipPrefixBloomFilter
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from BlockBasedTableTest
[ RUN      ] BlockBasedTableTest.SkipPrefixBloomFilter
[       OK ] BlockBasedTableTest.SkipPrefixBloomFilter (0 ms)
[----------] 1 test from BlockBasedTableTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.
```

Reviewers: sdong, andrewkr, yiwu, IslamAbdelRahman

Reviewed By: IslamAbdelRahman

Subscribers: andrewkr, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D61215
2016-08-26 11:46:32 -07:00
..
adaptive_table_factory.cc Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
adaptive_table_factory.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
block_based_filter_block_test.cc Add statistics field to show total size of index and filter blocks in block cache 2016-06-03 10:47:47 -07:00
block_based_filter_block.cc BlockBasedTable::FullFilterKeyMayMatch() Should skip prefix bloom if full key bloom exists 2016-06-10 16:27:56 -07:00
block_based_filter_block.h BlockBasedTable::FullFilterKeyMayMatch() Should skip prefix bloom if full key bloom exists 2016-06-10 16:27:56 -07:00
block_based_table_builder.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
block_based_table_builder.h Experiments on column-aware encodings 2016-08-01 14:50:19 -07:00
block_based_table_factory.cc Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
block_based_table_factory.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
block_based_table_reader.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
block_based_table_reader.h TableBuilder / TableReader support for range deletion 2016-08-19 15:10:31 -07:00
block_builder.cc Miscellaneous performance improvements 2016-07-12 14:15:32 -07:00
block_builder.h TableBuilder / TableReader support for range deletion 2016-08-19 15:10:31 -07:00
block_prefix_index.cc Fix clang analyzer errors 2016-07-08 17:50:51 -07:00
block_prefix_index.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
block_test.cc Deprecate BlockBasedTableOptions.hash_index_allow_collision=false. 2016-05-20 17:52:27 -07:00
block.cc Fix clang analyzer errors 2016-07-08 17:50:51 -07:00
block.h Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
bloom_block.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
bloom_block.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
cuckoo_table_builder_test.cc New Statistics to track Compression/Decompression (#1197) 2016-07-19 09:44:03 -07:00
cuckoo_table_builder.cc Embed column family name in SST file 2016-04-06 23:10:32 -07:00
cuckoo_table_builder.h Embed column family name in SST file 2016-04-06 23:10:32 -07:00
cuckoo_table_factory.cc Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
cuckoo_table_factory.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
cuckoo_table_reader_test.cc Embed column family name in SST file 2016-04-06 23:10:32 -07:00
cuckoo_table_reader.cc New Statistics to track Compression/Decompression (#1197) 2016-07-19 09:44:03 -07:00
cuckoo_table_reader.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
filter_block.h BlockBasedTable::FullFilterKeyMayMatch() Should skip prefix bloom if full key bloom exists 2016-06-10 16:27:56 -07:00
flush_block_policy.cc Miscellaneous performance improvements 2016-07-12 14:15:32 -07:00
format.cc New Statistics to track Compression/Decompression (#1197) 2016-07-19 09:44:03 -07:00
format.h New Statistics to track Compression/Decompression (#1197) 2016-07-19 09:44:03 -07:00
full_filter_block_test.cc Add statistics field to show total size of index and filter blocks in block cache 2016-06-03 10:47:47 -07:00
full_filter_block.cc BlockBasedTable::FullFilterKeyMayMatch() Should skip prefix bloom if full key bloom exists 2016-06-10 16:27:56 -07:00
full_filter_block.h BlockBasedTable::FullFilterKeyMayMatch() Should skip prefix bloom if full key bloom exists 2016-06-10 16:27:56 -07:00
get_context.cc Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
get_context.h Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
internal_iterator.h Minor PinnedIteratorsManager Refactoring 2016-08-11 11:54:17 -07:00
iter_heap.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
iterator_wrapper.h Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
iterator.cc Rename iterator property "rocksdb.iterator.is.key.pinned" => "rocksdb.iterator.is-key-pinned" 2016-03-01 13:47:12 -08:00
merger_test.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
merger.cc Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
merger.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
meta_blocks.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
meta_blocks.h New Statistics to track Compression/Decompression (#1197) 2016-07-19 09:44:03 -07:00
mock_table.cc Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
mock_table.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
persistent_cache_helper.cc Added PersistentCache abstraction 2016-05-15 22:17:18 -07:00
persistent_cache_helper.h Added PersistentCache abstraction 2016-05-15 22:17:18 -07:00
plain_table_builder.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
plain_table_builder.h Embed column family name in SST file 2016-04-06 23:10:32 -07:00
plain_table_factory.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
plain_table_factory.h Only cache level 0 indexes and filter when opening table reader 2016-07-20 11:23:31 -07:00
plain_table_index.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
plain_table_index.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
plain_table_key_coding.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
plain_table_key_coding.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
plain_table_reader.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
plain_table_reader.h Skip bottom-level filter block caching when hit-optimized 2015-12-23 10:15:07 -08:00
scoped_arena_iterator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_file_writer.cc Add TablePropertiesCollector support in SstFileWriter 2016-08-19 16:17:56 -07:00
table_builder.h Shared dictionary compression using reference block 2016-04-27 17:36:03 -07:00
table_properties_internal.h TableBuilder / TableReader support for range deletion 2016-08-19 15:10:31 -07:00
table_properties.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
table_reader_bench.cc Shared dictionary compression using reference block 2016-04-27 17:36:03 -07:00
table_reader.h TableBuilder / TableReader support for range deletion 2016-08-19 15:10:31 -07:00
table_test.cc store prefix_extractor_name in table 2016-08-26 11:46:32 -07:00
two_level_iterator.cc Minor PinnedIteratorsManager Refactoring 2016-08-11 11:54:17 -07:00
two_level_iterator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00