db backend.
This commit is contained in:
parent
d690c9ea5a
commit
aaafe6eeb7
@ -11,10 +11,26 @@ var db = {};
|
|||||||
module.exports = function ldb(name, options) {
|
module.exports = function ldb(name, options) {
|
||||||
var levelup = require('levelup');
|
var levelup = require('levelup');
|
||||||
var file = bcoin.prefix + '/' + name + '-' + network.type + '.db';
|
var file = bcoin.prefix + '/' + name + '-' + network.type + '.db';
|
||||||
|
var backend = process.env.BCOIN_DB;
|
||||||
|
|
||||||
bcoin.ensurePrefix();
|
bcoin.ensurePrefix();
|
||||||
|
|
||||||
if (!db[file]) {
|
if (!db[file]) {
|
||||||
|
if (bcoin.isBrowser) {
|
||||||
|
backend = 'level-js';
|
||||||
|
} else {
|
||||||
|
if (!backend || backend === 'rocksdb')
|
||||||
|
backend = 'rocksdown';
|
||||||
|
else if (backend === 'leveldb')
|
||||||
|
backend = 'leveldown';
|
||||||
|
else if (backend === 'lmdb')
|
||||||
|
backend = 'lmdb';
|
||||||
|
else if (backend === 'tree')
|
||||||
|
backend = 'tree';
|
||||||
|
else
|
||||||
|
assert(false, 'Bad DB.');
|
||||||
|
}
|
||||||
|
|
||||||
db[file] = new levelup(file, {
|
db[file] = new levelup(file, {
|
||||||
keyEncoding: 'ascii',
|
keyEncoding: 'ascii',
|
||||||
valueEncoding: 'binary',
|
valueEncoding: 'binary',
|
||||||
@ -30,9 +46,7 @@ module.exports = function ldb(name, options) {
|
|||||||
mapSize: options.mapSize || 150 * (1024 << 20),
|
mapSize: options.mapSize || 150 * (1024 << 20),
|
||||||
writeMap: options.writeMap || false,
|
writeMap: options.writeMap || false,
|
||||||
|
|
||||||
db: bcoin.isBrowser
|
db: require(backend)
|
||||||
? require('level-js')
|
|
||||||
: require('level' + 'down')
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user