rocksdb/table
Kai Liu 22f396798e Enable hash index for block-based table
Summary: Based on previous patches, this diff eventually provides the end-to-end mechanism for users to specify the hash-index.

Test Plan: Wrote several new unit tests.

Reviewers: sdong, haobo, dhruba

Reviewed By: sdong

CC: leveldb

Differential Revision: https://reviews.facebook.net/D16539

Use shorten index key for hash-index
Summary:
I was wrong about the "index builder", right now since we create index
by scanning both whole table and index, there is not need to preserve
the whole key as the index key.

I switch back to original way index which is both space efficient and
able to supprot in-fly construction of hash index.

IN this patch, I made minimal change since I'm not sure if we still need
the "pluggable index builder", under current circumstance it is of no use
and kind of over-engineered. But I'm not sure if we can still exploit its
usefulness in the future; otherwise I think I can just burn them with great
vengeance.

Test Plan: unit tests

Reviewers: sdong, haobo

CC: leveldb

Differential Revision: https://reviews.facebook.net/D17745

Conflicts:
	table/block_based_table_reader.cc
	table/block_based_table_reader.h
2014-04-15 20:13:34 -07:00
..
block_based_table_builder.cc Enable hash index for block-based table 2014-04-15 20:13:34 -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 Enable hash index for block-based table 2014-04-15 20:13:34 -07:00
block_based_table_reader.h Enable hash index for block-based table 2014-04-15 20:13:34 -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 Expose the table properties to application 2014-02-13 16:28:21 -08: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 Add support for plain table format to sst_dump. 2014-02-07 11:15:00 -08: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