rocksdb/tools/rdb
sdong fdf882ded2 Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433)
Summary:
When dynamically linking two binaries together, different builds of RocksDB from two sources might cause errors. To provide a tool for user to solve the problem, the RocksDB namespace is changed to a flag which can be overridden in build time.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6433

Test Plan: Build release, all and jtest. Try to build with ROCKSDB_NAMESPACE with another flag.

Differential Revision: D19977691

fbshipit-source-id: aa7f2d0972e1c31d75339ac48478f34f6cfcfb3e
2020-02-20 12:09:57 -08:00
..
.gitignore
API.md
binding.gyp
db_wrapper.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
db_wrapper.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
rdb
rdb.cc Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
README.md
unit_test.js Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00

RDB - RocksDB Shell

RDB is a NodeJS-based shell interface to RocksDB. It can also be used as a JavaScript binding for RocksDB within a Node application.

Setup/Compilation

Requirements

  • static RocksDB library (i.e. librocksdb.a)
  • libsnappy
  • node (tested onv0.10.33, no guarantees on anything else!)
  • node-gyp
  • python2 (for node-gyp; tested with 2.7.8)

Installation

NOTE: If your default python binary is not a version of python2, add the arguments --python /path/to/python2 to the node-gyp commands.

  1. Make sure you have the static library (i.e. "librocksdb.a") in the root directory of your rocksdb installation. If not, cd there and run make static_lib.

  2. Run node-gyp configure to generate the build.

  3. Run node-gyp build to compile RDB.

Usage

Running the shell

Assuming everything compiled correctly, you can run the rdb executable located in the root of the tools/rdb directory to start the shell. The file is just a shell script that runs the node shell and loads the constructor for the RDB object into the top-level function RDB.

JavaScript API

See API.md for how to use RocksDB from the shell.