mirror of
https://github.com/kaspanet/kaspad.git
synced 2026-02-16 08:34:17 +00:00
Add DB compaction following the deletion of a DB prefix (#2003)
This commit is contained in:
@@ -14,6 +14,9 @@ type Database interface {
|
||||
// Begin begins a new database transaction.
|
||||
Begin() (Transaction, error)
|
||||
|
||||
// Compact compacts the database instance.
|
||||
Compact() error
|
||||
|
||||
// Close closes the database.
|
||||
Close() error
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"github.com/syndtr/goleveldb/leveldb"
|
||||
ldbErrors "github.com/syndtr/goleveldb/leveldb/errors"
|
||||
"github.com/syndtr/goleveldb/leveldb/opt"
|
||||
"github.com/syndtr/goleveldb/leveldb/util"
|
||||
)
|
||||
|
||||
// LevelDB defines a thin wrapper around leveldb.
|
||||
@@ -47,6 +48,12 @@ func NewLevelDB(path string, cacheSizeMiB int) (*LevelDB, error) {
|
||||
return db, nil
|
||||
}
|
||||
|
||||
// Compact compacts the leveldb instance.
|
||||
func (db *LevelDB) Compact() error {
|
||||
err := db.ldb.CompactRange(util.Range{Start: nil, Limit: nil})
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
// Close closes the leveldb instance.
|
||||
func (db *LevelDB) Close() error {
|
||||
err := db.ldb.Close()
|
||||
|
||||
Reference in New Issue
Block a user