rocksdb/db
kailiu 161ab42a8a Make table properties shareable
Summary:
We are going to expose properties of all tables to end users through "some" db interface.
However, current design doesn't naturally fit for this need, which is because:

1. If a table presents in table cache, we cannot simply return the reference to its table properties, because the table may be destroy after compaction (and we don't want to hold the ref of the version).
2. Copy table properties is OK, but it's slow.

Thus in this diff, I change the table reader's interface to return a shared pointer (for const table properties), instead a const refernce.

Test Plan: `make check` passed

Reviewers: haobo, sdong, dhruba

Reviewed By: haobo

CC: leveldb

Differential Revision: https://reviews.facebook.net/D15999
2014-02-07 19:26:49 -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_test.c Rename leveldb to rocksdb in C api 2013-12-10 10:48:35 +02:00
c.cc C API: add rocksdb_env_set_high_priority_background_threads 2013-12-31 15:14:18 -08:00
compaction_picker.cc Fix printf format 2014-02-03 10:25:37 -08:00
compaction_picker.h Make VersionSet::ReduceNumberOfLevels() static 2014-01-24 14:57:04 -08:00
compaction.cc Unfriending classes 2014-01-22 10:55:16 -08:00
compaction.h Unfriending classes 2014-01-22 10:55:16 -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 Move functions from VersionSet to Version 2014-01-15 16:18:04 -08:00
db_impl_readonly.cc use super_version in NewIterator() and MultiGet() function 2014-02-03 13:13:36 -08:00
db_impl_readonly.h CompactRange() to return status 2014-01-23 16:41:46 -08:00
db_impl.cc Merge branch 'master' into performance 2014-02-05 21:21:00 -08:00
db_impl.h Merge branch 'master' into performance 2014-02-05 21:21:00 -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 Move functions from VersionSet to Version 2014-01-15 16:18:04 -08:00
db_test.cc Merge branch 'master' into performance 2014-02-05 21:21:00 -08:00
dbformat_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07: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 [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
deletefile_test.cc Start DeleteFileTest with clean plate 2013-11-15 16:30:23 -08:00
filename_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07: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
internal_stats.cc InternalStatistics 2014-01-29 20:40:41 -08:00
internal_stats.h InternalStatistics 2014-01-29 20:40:41 -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_list.cc Merge branch 'master' into performance 2014-01-28 10:35:55 -08:00
memtable_list.h Merge branch 'master' into performance 2014-01-28 10:35:55 -08:00
memtable.cc Merge branch 'master' into performance 2014-02-05 21:21:00 -08:00
memtable.h Clean up arena API 2014-01-30 22:10:10 -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 [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
simple_table_db_test.cc Make table properties shareable 2014-02-07 19:26:49 -08:00
skiplist_test.cc Clean up arena API 2014-01-30 22:10:10 -08:00
skiplist.h 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 [Performance Branch] PlainTable to encode rows with seqID 0, value type using 1 internal byte. 2014-02-03 12:19:30 -08:00
table_cache.h Put table factory back to public api 2014-02-03 19:51:20 -08:00
table_properties_collector_test.cc Make table properties shareable 2014-02-07 19:26:49 -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
tailing_iter.cc Moving Some includes from options.h to forward declaration 2014-01-24 17:16:22 -08:00
tailing_iter.h Tailing iterator 2014-01-23 16:26:08 -08:00
transaction_log_impl.cc Fix the string format issue 2013-11-12 21:05:39 -08:00
transaction_log_impl.h Making the transaction log iterator more robust 2013-11-04 20:49:03 -08:00
version_edit_test.cc Remove compaction pointers 2014-01-16 14:06:53 -08:00
version_edit.cc Merge branch 'master' into performance 2014-01-16 14:31:18 -08:00
version_edit.h Merge branch 'master' into performance 2014-01-16 14:31:18 -08:00
version_set_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
version_set.cc Merge branch 'master' into performance 2014-02-05 21:21:00 -08:00
version_set.h Merge branch 'master' into performance 2014-01-30 10:09:23 -08:00
write_batch_internal.h In-place updates for equal keys and similar sized values 2013-10-31 11:27:12 -07:00
write_batch_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
write_batch.cc Merge branch 'master' into performance 2014-01-23 16:32:49 -08:00