1
0
Fork 0
mirror of https://git.sr.ht/~ashkeel/strimertul synced 2024-09-18 01:50:50 +00:00

fix: close iterator on finished backup

This commit is contained in:
Ash Keel 2023-02-15 13:46:56 +01:00
parent 6f6883886f
commit abe6ab7941
No known key found for this signature in database
GPG key ID: BAD8D93E7314ED3E

View file

@ -90,9 +90,14 @@ func (p *PebbleDatabase) Restore(file io.Reader) error {
func (p *PebbleDatabase) Backup(file io.Writer) error {
iter := p.db.NewSnapshot().NewIter(&pebble.IterOptions{})
defer iter.Close()
out := make(map[string]string)
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)
}