Packages
rocksdb
0.21.0
3.1.2
3.1.1
3.1.0
3.0.0
2.6.2
2.6.1
retired
2.6.0
retired
2.5.0
2.4.1
2.4.0
2.3.0
2.2.0
2.1.0
2.0.0
1.9.0
1.8.0
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.1
1.1.0
1.0.0
0.26.2
0.26.1
0.26.0
0.25.0
0.24.0
0.23.3
0.23.2
0.23.1
0.23.0
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
RocksDB for Erlang
Current section
Files
Jump to
Current section
Files
deps/rocksdb/tools/rdb/db_wrapper.h
#ifndef DBWRAPPER_H
#define DBWRAPPER_H
#include <map>
#include <node.h>
#include "rocksdb/db.h"
#include "rocksdb/slice.h"
#include "rocksdb/options.h"
using namespace v8;
// Used to encapsulate a particular instance of an opened database.
//
// This object should not be used directly in C++; it exists solely to provide
// a mapping from a JavaScript object to a C++ code that can use the RocksDB
// API.
class DBWrapper : public node::ObjectWrap {
public:
static void Init(Handle<Object> exports);
private:
explicit DBWrapper();
~DBWrapper();
// Helper methods
static bool HasFamilyNamed(std::string& name, DBWrapper* db);
static bool AddToBatch(rocksdb::WriteBatch& batch, bool del,
Handle<Array> array);
static bool AddToBatch(rocksdb::WriteBatch& batch, bool del,
Handle<Array> array, DBWrapper* db_wrapper, std::string cf);
static Handle<Value> CompactRangeDefault(const v8::Arguments& args);
static Handle<Value> CompactColumnFamily(const Arguments& args);
static Handle<Value> CompactOptions(const Arguments& args);
static Handle<Value> CompactAll(const Arguments& args);
// C++ mappings of API methods
static Persistent<v8::Function> constructor;
static Handle<Value> Open(const Arguments& args);
static Handle<Value> New(const Arguments& args);
static Handle<Value> Get(const Arguments& args);
static Handle<Value> Put(const Arguments& args);
static Handle<Value> Delete(const Arguments& args);
static Handle<Value> Dump(const Arguments& args);
static Handle<Value> WriteBatch(const Arguments& args);
static Handle<Value> CreateColumnFamily(const Arguments& args);
static Handle<Value> CompactRange(const Arguments& args);
static Handle<Value> Close(const Arguments& args);
// Internal fields
rocksdb::Options options_;
rocksdb::Status status_;
rocksdb::DB* db_;
std::unordered_map<std::string, rocksdb::ColumnFamilyHandle*>
columnFamilies_;
};
#endif