zhangzengfei
2021-11-12 d7485b186f72742ee0a1bf34e7fc818b53f20870
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
      })
   }