505be0d8bc
This commit adds the compaction feature of the bbolt compact to our bolt backend. This will try to open the DB in read-only mode and create a compacted copy in a temporary file. Once the compaction was successful, the temporary file and the old source file are swapped atomically.
41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package channeldb
|
|
|
|
import (
|
|
"github.com/btcsuite/btclog"
|
|
"github.com/lightningnetwork/lnd/build"
|
|
"github.com/lightningnetwork/lnd/channeldb/kvdb"
|
|
mig "github.com/lightningnetwork/lnd/channeldb/migration"
|
|
"github.com/lightningnetwork/lnd/channeldb/migration12"
|
|
"github.com/lightningnetwork/lnd/channeldb/migration13"
|
|
"github.com/lightningnetwork/lnd/channeldb/migration16"
|
|
"github.com/lightningnetwork/lnd/channeldb/migration_01_to_11"
|
|
)
|
|
|
|
// log is a logger that is initialized with no output filters. This
|
|
// means the package will not perform any logging by default until the caller
|
|
// requests it.
|
|
var log btclog.Logger
|
|
|
|
func init() {
|
|
UseLogger(build.NewSubLogger("CHDB", nil))
|
|
}
|
|
|
|
// DisableLog disables all library log output. Logging output is disabled
|
|
// by default until UseLogger is called.
|
|
func DisableLog() {
|
|
UseLogger(btclog.Disabled)
|
|
}
|
|
|
|
// UseLogger uses a specified Logger to output package logging info.
|
|
// This should be used in preference to SetLogWriter if the caller is also
|
|
// using btclog.
|
|
func UseLogger(logger btclog.Logger) {
|
|
log = logger
|
|
mig.UseLogger(logger)
|
|
migration_01_to_11.UseLogger(logger)
|
|
migration12.UseLogger(logger)
|
|
migration13.UseLogger(logger)
|
|
migration16.UseLogger(logger)
|
|
kvdb.UseLogger(logger)
|
|
}
|