fdf882ded2
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 |
||
---|---|---|
.. | ||
.gitignore | ||
API.md | ||
binding.gyp | ||
db_wrapper.cc | ||
db_wrapper.h | ||
rdb | ||
rdb.cc | ||
README.md | ||
unit_test.js |
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.
-
Make sure you have the static library (i.e. "librocksdb.a") in the root directory of your rocksdb installation. If not,
cd
there and runmake static_lib
. -
Run
node-gyp configure
to generate the build. -
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.