From d7485b186f72742ee0a1bf34e7fc818b53f20870 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 12 十一月 2021 16:02:18 +0800 Subject: [PATCH] fix foreach --- bolt_store.go | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bolt_store.go b/bolt_store.go index be490ba..505e2ea 100644 --- a/bolt_store.go +++ b/bolt_store.go @@ -3,7 +3,6 @@ import ( "errors" "github.com/boltdb/bolt" - "strconv" "time" ) @@ -243,7 +242,7 @@ return tx.Commit() } -func (b *BoltStore) ForEach(f func(v []byte) error) { +func (b *BoltStore) ForEach(f func(lc *LogCon) error) { tx, err := b.conn.Begin(true) if err != nil { return @@ -254,7 +253,13 @@ end, _ := b.LastIndex(confBucket) for ; start <= end; start++ { - bucketName := bucketPre + strconv.Itoa(int(start)) + cLog := &confLog{} + err := b.GetConfLog(start, cLog) + if err != nil { + return + } + + bucketName := cLog.BucketName bucket := tx.Bucket([]byte(bucketName)) if bucket == nil { return @@ -263,7 +268,10 @@ bucket.ForEach(func(k, v []byte) error { log := &Log{} err := decodeMsgPack(v, log) - f(log.Data) + if err == nil { + f(&LogCon{cLog, log}) + } + return err }) } -- Gitblit v1.8.0