rocksdb/tools
Mark Rambacher cfcf045acc The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293)
Summary:
The ObjectRegistry class replaces the Registrar and NewCustomObjects.  Objects are registered with the registry by Type (the class must implement the static const char *Type() method).

This change is necessary for a few reasons:
- By having a class (rather than static template instances), the class can be passed between compilation units, meaning that objects could be registered and shared from a dynamic library with an executable.
- By having a class with instances, different units could have different objects registered.  This could be useful if, for example, one Option allowed for a dynamic library and one did not.

When combined with some other PRs (being able to load shared libraries, a Configurable interface to configure objects to/from string), this code will allow objects in external shared libraries to be added to a RocksDB image at run-time, rather than requiring every new extension to be built into the main library and called explicitly by every program.

Test plan (on riversand963's  devserver)
```
$COMPILE_WITH_ASAN=1 make -j32 all && sleep 1 && make check
```
All tests pass.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5293

Differential Revision: D16363396

Pulled By: riversand963

fbshipit-source-id: fbe4acb615bfc11103eef40a0b288845791c0180
2019-07-23 17:13:05 -07:00
..
advisor Rules Advisor: some fixes to support fetching stats from ODS (#4223) 2018-08-02 15:42:42 -07:00
dump simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
rdb Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
CMakeLists.txt cmake support for linux and osx (#1358) 2016-09-28 11:53:15 -07:00
Dockerfile adding docker build script and dockerfile 2015-05-22 16:03:39 -07:00
analyze_txn_stress_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
auto_sanity_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
benchmark.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
benchmark_leveldb.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
blob_dump.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
block_cache_trace_analyzer.cc The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
block_cache_trace_analyzer.h Block cache analyzer: Compute correlation of features and human readable trace file. (#5596) 2019-07-22 17:51:34 -07:00
block_cache_trace_analyzer_plot.py A python script to plot graphs for cvs files generated by block_cache_trace_analyzer 2019-07-12 18:56:20 -07:00
block_cache_trace_analyzer_test.cc Block cache analyzer: Compute correlation of features and human readable trace file. (#5596) 2019-07-22 17:51:34 -07:00
block_cache_trace_analyzer_tool.cc Support computing miss ratio curves using sim_cache. (#5449) 2019-06-17 16:41:12 -07:00
check_format_compatible.sh Add more release versions to tools/check_format_compatible.sh (#5518) 2019-06-28 17:41:58 -07:00
db_bench.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
db_bench_tool.cc The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
db_bench_tool_test.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
db_crashtest.py Temporarily disable snapshot list refresh for atomic flush stress test (#5581) 2019-07-22 14:38:16 -07:00
db_repl_stress.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
db_sanity_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
db_stress.cc Temporarily disable snapshot list refresh for atomic flush stress test (#5581) 2019-07-22 14:38:16 -07:00
dbench_monitor Fix /bin/bash shebangs 2017-08-03 15:56:46 -07:00
generate_random_db.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
ingest_external_sst.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
ldb.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
ldb_cmd.cc The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
ldb_cmd_impl.h add create_column_family and drop_column_family cmd to ldb tool (#5503) 2019-06-27 11:11:48 -07:00
ldb_cmd_test.cc Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -07:00
ldb_test.py Fix interpreter lines for files with python2-only syntax. 2019-07-09 10:51:37 -07:00
ldb_tool.cc add create_column_family and drop_column_family cmd to ldb tool (#5503) 2019-06-27 11:11:48 -07:00
pflag Fix /bin/bash shebangs 2017-08-03 15:56:46 -07:00
reduce_levels_test.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
regression_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
report_lite_binary_size.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
rocksdb_dump_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
run_flash_bench.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
run_leveldb.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
sample-dump.dmp First version of rocksdb_dump and rocksdb_undump. 2015-06-19 16:24:36 -07:00
sst_dump.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
sst_dump_test.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
sst_dump_tool.cc Move the filter readers out of the block cache (#5504) 2019-07-16 13:14:58 -07:00
sst_dump_tool_imp.h tools: use provided options instead of the default (#4839) 2019-01-03 11:23:49 -08:00
trace_analyzer.cc RocksDB Trace Analyzer (#4091) 2018-08-13 11:44:02 -07:00
trace_analyzer_test.cc Move util/trace_replay.* to trace_replay/ (#5376) 2019-06-03 13:25:26 -07:00
trace_analyzer_tool.cc replace sprintf with its safe version snprintf (#5475) 2019-06-18 16:42:26 -07:00
trace_analyzer_tool.h Move util/trace_replay.* to trace_replay/ (#5376) 2019-06-03 13:25:26 -07:00
verify_random_db.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
write_external_sst.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
write_stress.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
write_stress_runner.py Fix interpreter lines for files with python2-only syntax. 2019-07-09 10:51:37 -07:00