rocksdb/db
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
..
builder.cc Put table factory back to public api 2014-02-03 19:51:20 -08:00
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
c.cc C API: add rocksdb_env_set_high_priority_background_threads 2013-12-31 15:14:18 -08:00
c_test.c Rename leveldb to rocksdb in C api 2013-12-10 10:48:35 +02:00
column_family.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
column_family.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
column_family_test.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
compaction.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
compaction.h Compacting column families 2014-01-31 19:54:03 -08:00
compaction_picker.cc [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
compaction_picker.h [CF] Split SanitizeOptions into two 2014-02-04 17:26:51 -08:00
corruption_test.cc Fix corruption_test failure caused by auto-enablement of checksum verification. 2014-01-31 17:16:38 -08:00
db_bench.cc Readrandom with tailing iterator 2014-02-07 09:47:47 -08:00
db_filesnapshot.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_impl.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_impl.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_impl_readonly.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_impl_readonly.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_iter.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
db_iter.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
db_stats_logger.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_test.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
dbformat.cc [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
dbformat.h Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
dbformat_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
deletefile_test.cc Start DeleteFileTest with clean plate 2013-11-15 16:30:23 -08:00
filename.cc Unify DeleteFile and DeleteWalFiles 2013-10-25 08:32:14 -07:00
filename.h Unify DeleteFile and DeleteWalFiles 2013-10-25 08:32:14 -07:00
filename_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
internal_stats.cc Move compaction picker and internal key comparator to ColumnFamilyData 2014-01-31 16:06:55 -08:00
internal_stats.h Move compaction picker and internal key comparator to ColumnFamilyData 2014-01-31 16:06:55 -08:00
log_format.h Some minor refactoring on the code 2014-01-02 16:32:31 -08:00
log_reader.cc Fix UnmarkEOF for partial blocks 2014-01-27 14:49:10 -08:00
log_reader.h Fix UnmarkEOF for partial blocks 2014-01-27 14:49:10 -08:00
log_test.cc Fix UnmarkEOF for partial blocks 2014-01-27 14:49:10 -08:00
log_writer.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
log_writer.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
memtable.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
memtable.h Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
memtable_list.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
memtable_list.h Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
merge_context.h Introduce MergeContext to Lazily Initialize merge operand list 2013-12-11 11:37:28 -08:00
merge_helper.cc Statistics code cleanup 2014-01-17 12:46:06 -08:00
merge_helper.h [RocksDB] Use raw pointer instead of shared pointer when passing Statistics object internally 2013-11-25 10:38:15 -08:00
merge_operator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
merge_test.cc Use ASSERT_EQ() instead of assert() in merge_test 2014-01-11 09:25:47 -08:00
perf_context_test.cc Merge branch 'master' into performance 2013-12-06 14:15:42 -08:00
plain_table_db_test.cc First phase API clean up 2014-02-03 00:30:43 -08:00
prefix_filter_iterator.h Moving Some includes from options.h to forward declaration 2014-01-24 17:16:22 -08:00
prefix_test.cc [Performance Branch] Fix memory leak in HashLinkListRep.GetIterator() 2014-01-10 12:12:28 -08:00
repair.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
simple_table_db_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
skiplist.h Clean up arena API 2014-01-30 22:10:10 -08:00
skiplist_test.cc Clean up arena API 2014-01-30 22:10:10 -08:00
snapshot.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
table_cache.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
table_cache.h Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
table_properties_collector.cc Extract metaindex block from block-based table 2013-12-05 16:34:16 -08:00
table_properties_collector.h Extract metaindex block from block-based table 2013-12-05 16:34:16 -08:00
table_properties_collector_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
tailing_iter.cc [column families] Iterator and MultiGet 2014-02-03 17:44:40 -08:00
tailing_iter.h [column families] Iterator and MultiGet 2014-02-03 17:44:40 -08:00
transaction_log_impl.cc [CF] Options -> DBOptions 2014-02-05 14:56:09 -08:00
transaction_log_impl.h [CF] Options -> DBOptions 2014-02-05 14:56:09 -08:00
version_edit.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
version_edit.h Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00
version_edit_test.cc Merge branch 'master' into columnfamilies 2014-01-21 17:01:52 -08:00
version_set.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
version_set.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
version_set_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
write_batch.cc [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
write_batch_internal.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
write_batch_test.cc Merge branch 'master' into columnfamilies 2014-02-06 15:58:20 -08:00