mirror of
https://git.sr.ht/~ashkeel/strimertul
synced 2024-09-20 02:00:49 +00:00
fix: close iterator on finished backup
This commit is contained in:
parent
6f6883886f
commit
abe6ab7941
1 changed files with 6 additions and 1 deletions
|
@ -90,9 +90,14 @@ func (p *PebbleDatabase) Restore(file io.Reader) error {
|
||||||
|
|
||||||
func (p *PebbleDatabase) Backup(file io.Writer) error {
|
func (p *PebbleDatabase) Backup(file io.Writer) error {
|
||||||
iter := p.db.NewSnapshot().NewIter(&pebble.IterOptions{})
|
iter := p.db.NewSnapshot().NewIter(&pebble.IterOptions{})
|
||||||
|
defer iter.Close()
|
||||||
out := make(map[string]string)
|
out := make(map[string]string)
|
||||||
for iter.First(); iter.Valid(); iter.Next() {
|
for iter.First(); iter.Valid(); iter.Next() {
|
||||||
out[string(iter.Key())] = string(iter.Value())
|
val, err := iter.ValueAndErr()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
out[string(iter.Key())] = string(val)
|
||||||
}
|
}
|
||||||
return json.NewEncoder(file).Encode(out)
|
return json.NewEncoder(file).Encode(out)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue