Fix setstringlist

This commit is contained in:
Brian Buller 2025-02-04 13:31:37 -06:00
parent e31f75cb63
commit 2c2d8424b3

View File

@ -576,6 +576,11 @@ func (b *DB) SetStringList(path, values []string) error {
defer b.CloseDB() defer b.CloseDB()
} }
// We remove the bucket, if it already exists
bktPth, bktNm := path[:len(path)-2], path[len(path)-1]
fmt.Println("Deleting Bucket:", bktPth, bktNm)
b.DeleteBucket(bktPth, bktNm)
err = b.MkBucketPath(path) err = b.MkBucketPath(path)
if err != nil { if err != nil {
return err return err
@ -593,10 +598,6 @@ func (b *DB) SetStringList(path, values []string) error {
} }
// bkt should have the last bucket in the path // bkt should have the last bucket in the path
// We need to get the sequence number, if it's greater than the length
// of 'values', we're going to have to delete values.
seq := bkt.Sequence()
bkt.SetSequence(0)
for _, v := range values { for _, v := range values {
id, _ := bkt.NextSequence() id, _ := bkt.NextSequence()
bId := make([]byte, 8) bId := make([]byte, 8)
@ -606,15 +607,6 @@ func (b *DB) SetStringList(path, values []string) error {
return err return err
} }
} }
currSeq := bkt.Sequence()
for ; seq < currSeq; seq++ {
bId := make([]byte, 8)
binary.BigEndian.PutUint64(bId, seq)
err = bkt.Delete(bId)
if err != nil {
return err
}
}
return nil return nil
}) })
return err return err