optionally open the leveldb in readonly mode
This commit is contained in:
@@ -25,8 +25,9 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type LevelDB2Store struct {
|
type LevelDB2Store struct {
|
||||||
dbs []*leveldb.DB
|
dbs []*leveldb.DB
|
||||||
dbCount int
|
dbCount int
|
||||||
|
ReadOnly bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (store *LevelDB2Store) GetName() string {
|
func (store *LevelDB2Store) GetName() string {
|
||||||
@@ -49,6 +50,7 @@ func (store *LevelDB2Store) initialize(dir string, dbCount int) (err error) {
|
|||||||
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
|
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
|
||||||
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
|
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
|
||||||
Filter: filter.NewBloomFilter(8), // false positive rate 0.02
|
Filter: filter.NewBloomFilter(8), // false positive rate 0.02
|
||||||
|
ReadOnly: store.ReadOnly,
|
||||||
}
|
}
|
||||||
|
|
||||||
for d := 0; d < dbCount; d++ {
|
for d := 0; d < dbCount; d++ {
|
||||||
|
|||||||
@@ -31,9 +31,10 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type LevelDB3Store struct {
|
type LevelDB3Store struct {
|
||||||
dir string
|
dir string
|
||||||
dbs map[string]*leveldb.DB
|
dbs map[string]*leveldb.DB
|
||||||
dbsLock sync.RWMutex
|
dbsLock sync.RWMutex
|
||||||
|
ReadOnly bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (store *LevelDB3Store) GetName() string {
|
func (store *LevelDB3Store) GetName() string {
|
||||||
@@ -69,12 +70,14 @@ func (store *LevelDB3Store) loadDB(name string) (*leveldb.DB, error) {
|
|||||||
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
|
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
|
||||||
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
|
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
|
||||||
Filter: bloom,
|
Filter: bloom,
|
||||||
|
ReadOnly: store.ReadOnly,
|
||||||
}
|
}
|
||||||
if name != DEFAULT {
|
if name != DEFAULT {
|
||||||
opts = &opt.Options{
|
opts = &opt.Options{
|
||||||
BlockCacheCapacity: 16 * 1024 * 1024, // default value is 8MiB
|
BlockCacheCapacity: 16 * 1024 * 1024, // default value is 8MiB
|
||||||
WriteBuffer: 8 * 1024 * 1024, // default value is 4MiB
|
WriteBuffer: 8 * 1024 * 1024, // default value is 4MiB
|
||||||
Filter: bloom,
|
Filter: bloom,
|
||||||
|
ReadOnly: store.ReadOnly,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user