rocksdb/table
sdong 27d3bc184e Use a different approach to make sure BlockBasedTableReader can use hash index on older files
Summary:
A recent commit e37dd216f9 makes sure hash index can be used when reading existing files. This patch uses another way to achieve the approach:
(1) Currently, always writing kBinarySearch to files, despite of BlockBasedTableOptions.IndexType setting.
(2) When reading a file, read out the field, and make sure it is kBinarySearch, while always use index type by users.

The reason for doing it is, to reserve kHashSearch property on disk to future. If now we write out binary index for both of kHashSearch and kBinarySearch. We have to use a new flag in the future for hash index on disk, otherwise compatibility would break. Also, we want the real index type and type shown in properties block to be consistent.

Test Plan: make all check

Reviewers: haobo, kailiu

Reviewed By: kailiu

CC: igor, ljin, yhchiang, xjin, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D18009
2014-04-18 14:09:21 -07:00
..
block_based_table_builder.cc Use a different approach to make sure BlockBasedTableReader can use hash index on older files 2014-04-18 14:09:21 -07:00
block_based_table_builder.h Make the block-based table's index pluggable 2014-02-28 18:19:07 -08:00
block_based_table_factory.cc Make the block-based table's index pluggable 2014-02-28 18:19:07 -08:00
block_based_table_factory.h Remove the terrible hack in for flush_block_policy_factory 2014-02-28 16:39:27 -08:00
block_based_table_reader.cc Use a different approach to make sure BlockBasedTableReader can use hash index on older files 2014-04-18 14:09:21 -07:00
block_based_table_reader.h RocksDB 2.8 to be able to read files generated by 2.6 2014-04-17 09:51:43 -07:00
block_builder.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
block_builder.h [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
block_hash_index_test.cc Add a hash-index component for block 2014-03-03 21:11:49 -08:00
block_hash_index.cc Add a hash-index component for block 2014-03-03 21:11:49 -08:00
block_hash_index.h Add a hash-index component for block 2014-03-03 21:11:49 -08:00
block_test.cc Enable hash index for block-based table 2014-04-10 14:19:43 -07:00
block.cc Enable hash index for block-based table 2014-04-10 14:19:43 -07:00
block.h Enable hash index for block-based table 2014-04-10 14:19:43 -07:00
filter_block_test.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
filter_block.cc Consolidate SliceTransform object ownership 2014-03-10 12:56:46 -07:00
filter_block.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
flush_block_policy.cc Remove the terrible hack in for flush_block_policy_factory 2014-02-28 16:39:27 -08:00
format.cc macros for perf_context 2014-04-08 10:58:07 -07:00
format.h Fix two bugs in talbe format 2014-03-19 16:18:33 -07:00
iter_heap.h Turn on -Wmissing-prototypes 2014-04-09 21:17:14 -07:00
iterator_wrapper.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
iterator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
merger.cc Turn on -Wmissing-prototypes 2014-04-09 21:17:14 -07:00
merger.h Remove env_ from MergingIterator 2014-04-08 13:40:42 -07:00
meta_blocks.cc RocksDB 2.8 to be able to read files generated by 2.6 2014-04-17 09:51:43 -07:00
meta_blocks.h Expose the table properties to application 2014-02-13 16:28:21 -08:00
plain_table_builder.cc RocksDBLite 2014-04-15 13:39:26 -07:00
plain_table_builder.h RocksDBLite 2014-04-15 13:39:26 -07:00
plain_table_factory.cc RocksDBLite 2014-04-15 13:39:26 -07:00
plain_table_factory.h RocksDBLite 2014-04-15 13:39:26 -07:00
plain_table_reader.cc RocksDBLite 2014-04-15 13:39:26 -07:00
plain_table_reader.h RocksDBLite 2014-04-15 13:39:26 -07:00
table_builder.h First phase API clean up 2014-02-03 00:30:43 -08:00
table_properties.cc RocksDB 2.8 to be able to read files generated by 2.6 2014-04-17 09:51:43 -07:00
table_reader_bench.cc Turn on -Wmissing-prototypes 2014-04-09 21:17:14 -07:00
table_reader.h Make table properties shareable 2014-02-07 19:26:49 -08:00
table_test.cc Enable hash index for block-based table 2014-04-10 14:19:43 -07:00
two_level_iterator.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
two_level_iterator.h [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00