diff --git a/pkg/cmd/cmd.go b/pkg/cmd/cmd.go index fb7ad2b..a6afeb2 100644 --- a/pkg/cmd/cmd.go +++ b/pkg/cmd/cmd.go @@ -142,7 +142,7 @@ func Run(version string) { stdlog.Fatal("dump: ", err) } } - DB, err := db.New(config) + DB, err := db.NewPlain(config) if err != nil { stdlog.Fatal("dump: ", err) } @@ -175,7 +175,7 @@ func Run(version string) { stdlog.Fatal("restore: ", err) } } - DB, err := db.New(config) + DB, err := db.NewPlain(config) if err != nil { stdlog.Fatal("restore: ", err) } @@ -199,7 +199,7 @@ func Run(version string) { if err = loadConfig(); err != nil { stdlog.Fatal("resetadmin: ", err) } - DB, err := db.New(config) + DB, err := db.NewPlain(config) if err != nil { stdlog.Fatal("resetadmin: ", err) } diff --git a/pkg/db/db.go b/pkg/db/db.go index 190c6ec..95b155c 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -34,7 +34,7 @@ type DB struct { indexPath string } -func New(cfg core.Config) (db *DB, err error) { +func NewPlain(cfg core.Config) (db *DB, err error) { db = &DB{admin: cfg.Admin, cache: cache.NewCache()} dbFile := filepath.Join(cfg.DataDir, storeFile) err = godrop.Unveil(dbFile, "rwc") @@ -42,6 +42,11 @@ func New(cfg core.Config) (db *DB, err error) { return } db.store, err = store.NewBoltStore(dbFile, nil) + return +} + +func New(cfg core.Config) (db *DB, err error) { + db, err = NewPlain(cfg) if err != nil { return } @@ -110,5 +115,8 @@ func (db *DB) Close() (err error) { if err != nil { return } - return db.Index.Close() + if db.Index != nil { + return db.Index.Close() + } + return nil }