rocksdb/table
Igor Canadi b06840aa7d [CF] Rethinking ColumnFamilyHandle and fix to dropping column families
Summary:
The change to the public behavior:
* When opening a DB or creating new column family client gets a ColumnFamilyHandle.
* As long as column family handle is alive, client can do whatever he wants with it, even drop it
* Dropped column family can still be read from (using the column family handle)
* Added a new call CloseColumnFamily(). Client has to close all column families that he has opened before deleting the DB
* As soon as column family is closed, any calls to DB using that column family handle will fail (also any outstanding calls)

Internally:
* Ref-counting ColumnFamilyData
* New thread-safety for ColumnFamilySet
* Dropped column families are now completely dropped and their memory cleaned-up

Test Plan: added some tests to column_family_test

Reviewers: dhruba, haobo, kailiu, sdong

CC: leveldb

Differential Revision: https://reviews.facebook.net/D16101
2014-02-12 13:47:09 -08:00
..
block_based_table_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_based_table_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_based_table_factory.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_based_table_factory.h Put table factory back to public api 2014-02-03 19:51:20 -08:00
block_based_table_reader.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_based_table_reader.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_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_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
block.cc Implement a compressed block cache. 2013-11-01 14:31:35 -07:00
block.h Implement a compressed block cache. 2013-11-01 14:31:35 -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 Merge branch 'master' into performance 2014-02-05 21:21:00 -08: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 Don't not suggest flushing data when data block is still empty 2013-11-11 21:05:16 -08:00
format.cc Add support for plain table format to sst_dump. 2014-02-07 11:15:00 -08:00
format.h Add support for plain table format to sst_dump. 2014-02-07 11:15:00 -08: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 Revert "Allow users to profile a query and see bottleneck of the query" 2013-11-21 17:40:39 -08:00
merger.h Merge branch 'master' into performance 2014-01-28 10:35:55 -08:00
meta_blocks.cc Add support for plain table format to sst_dump. 2014-02-07 11:15:00 -08:00
meta_blocks.h Add support for plain table format to sst_dump. 2014-02-07 11:15:00 -08:00
plain_table_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
plain_table_builder.h First phase API clean up 2014-02-03 00:30:43 -08:00
plain_table_factory.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
plain_table_factory.h Put table factory back to public api 2014-02-03 19:51:20 -08:00
plain_table_reader.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
plain_table_reader.h [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08: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 [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
table_reader.h Put table factory back to public api 2014-02-03 19:51:20 -08:00
table_test.cc Merge branch 'master' into columnfamilies 2014-02-07 11:42:56 -08: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