rocksdb/table
sdong 13dc9c7f56 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

Conflicts:
	table/block_based_table_reader.cc
2014-04-18 14:46:44 -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:46:44 -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:46:44 -07:00
block_based_table_reader.h RocksDB 2.8 to be able to read files generated by 2.6 2014-04-17 10:17:12 -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-15 20:13:34 -07:00
block.cc Enable hash index for block-based table 2014-04-15 20:13:34 -07:00
block.h Enable hash index for block-based table 2014-04-15 20:13:34 -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 [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -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 Merge pull request #74 from alberts/lz4 2014-02-10 15:46:56 -08:00
format.h Fix two bugs in talbe format 2014-03-19 16:18:33 -07:00
iter_heap.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -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 Fix issue with iterator operations in this order: Prev(), Seek(), Prev() 2014-03-03 17:50:27 -08:00
merger.h Merge branch 'master' into performance 2014-01-28 10:35:55 -08:00
meta_blocks.cc RocksDB 2.8 to be able to read files generated by 2.6 2014-04-17 10:17:12 -07:00
meta_blocks.h Expose the table properties to application 2014-02-13 16:28:21 -08:00
plain_table_builder.cc PlainTableBuilder::Add() to use local char array instead of reused std::string as tmp buffer 2014-04-09 10:33:15 -07:00
plain_table_builder.h PlainTableBuilder::Add() to use local char array instead of reused std::string as tmp buffer 2014-04-09 10:33:15 -07:00
plain_table_factory.cc Add more black-box tests for PlainTable and explicitly support total order mode 2014-02-12 17:37:22 -08:00
plain_table_factory.h Add more black-box tests for PlainTable and explicitly support total order mode 2014-02-12 17:37:22 -08:00
plain_table_reader.cc PlainTableIterator not to store copied key in std::string 2014-04-07 22:18:09 -07:00
plain_table_reader.h PlainTableIterator::Seek() shouldn't check bloom filter in total order mode 2014-04-01 15:05:16 -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 10:17:12 -07:00
table_reader_bench.cc Consolidate SliceTransform object ownership 2014-03-10 12:56:46 -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-15 20:13:34 -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