rocksdb/tools
Andrew Kryczka 17c1180603 Generalize Env registration framework
Summary:
The Env registration framework supports registering client Envs and selecting which one to instantiate according to a text field. This enabled things like adding the -env_uri argument to db_bench, so the same binary could be reused with different Envs just by changing CLI config.

Now this problem has come up again in a non-Env context, as I want to instantiate a client Statistics implementation from db_bench, which is configured entirely via text parameters. Also, in the future we may wish to use it for deserializing client objects when loading OPTIONS file.

This diff generalizes the Env registration logic to work with arbitrary types.

- Generalized registration and instantiation code by templating them
- The entire implementation is in a header file as that's Google style guide's recommendation for template definitions
- Pattern match with std::regex_match rather than checking prefix, which was the previous behavior
- Rename functions/files to be non-Env-specific
Closes https://github.com/facebook/rocksdb/pull/1776

Differential Revision: D4421933

Pulled By: ajkr

fbshipit-source-id: 34647d1
2017-01-25 16:09:14 -08:00
..
dump Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
rdb fix typos in comments 2015-12-11 01:54:48 +09:00
auto_sanity_test.sh fix typos in comments 2015-12-11 01:54:48 +09:00
benchmark_leveldb.sh Add scripts to run leveldb benchmark 2015-04-27 19:32:56 -07:00
benchmark.sh Initial script for the new regression test 2016-05-09 13:32:57 -07:00
check_format_compatible.sh check_format_compatible.sh to use some branch which allows to run with GCC 4.8 (#1393) 2016-10-13 16:15:55 -07:00
CMakeLists.txt cmake support for linux and osx (#1358) 2016-09-28 11:53:15 -07:00
db_bench_tool_test.cc direct io write support 2016-12-22 13:09:19 -08:00
db_bench_tool.cc Generalize Env registration framework 2017-01-25 16:09:14 -08:00
db_bench.cc Initial script for the new regression test 2016-05-09 13:32:57 -07:00
db_crashtest.py Disable ClockCache db_crashtest 2016-08-24 14:19:05 -07:00
db_repl_stress.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db_sanity_test.cc Support ZSTD with finalized format 2016-09-06 12:22:16 -07:00
db_stress.cc db_stress support for range deletions 2016-12-07 13:09:24 -08:00
dbench_monitor Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
Dockerfile adding docker build script and dockerfile 2015-05-22 16:03:39 -07:00
generate_random_db.sh Script to check whether RocksDB can read DB generated by previous releases and vice versa 2015-04-08 16:04:59 -07:00
ldb_cmd_impl.h ldb support for range delete 2016-11-15 15:54:20 -08:00
ldb_cmd_test.cc cast to signed char in ldb_cmd_test for ppc64le 2016-12-12 14:39:18 -08:00
ldb_cmd.cc Generalize Env registration framework 2017-01-25 16:09:14 -08:00
ldb_test.py ldb to support --column_family option 2016-01-25 14:58:18 -08:00
ldb_tool.cc ldb support for range delete 2016-11-15 15:54:20 -08:00
ldb.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
pflag Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
reduce_levels_test.cc [ldb] Templatize the Selector 2016-05-13 12:12:39 -07:00
regression_test.sh Fix a bug that mistakenly disable regression_test.sh to update commit (#1415) 2016-10-21 17:26:24 -07:00
rocksdb_dump_test.sh Update dump_tool and undump_tool to accept Options 2015-10-05 19:49:48 -07:00
run_flash_bench.sh Update benchmarks used to measure subcompaction performance 2016-03-04 12:32:11 -08:00
run_leveldb.sh Add scripts to run leveldb benchmark 2015-04-27 19:32:56 -07:00
sample-dump.dmp First version of rocksdb_dump and rocksdb_undump. 2015-06-19 16:24:36 -07:00
sst_dump_test.cc Add TableBuilderOptions::level and relevant changes (#1335) 2016-09-17 22:30:43 -07:00
sst_dump_tool_imp.h Remove ImmutableCFOptions from public API 2016-09-02 14:16:31 -07:00
sst_dump_tool.cc Update db_bench and sst_dump to test with block cache mid-point inser? 2017-01-03 18:39:14 -08:00
sst_dump.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
verify_random_db.sh Script to check whether RocksDB can read DB generated by previous releases and vice versa 2015-04-08 16:04:59 -07:00
write_stress_runner.py Write stress test 2015-10-28 16:15:07 -07:00
write_stress.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00