zhangzengfei
2021-12-01 0d1558fa7cabaf35f7da9adf0f5a5804c9404f2a
bolt_store.go
@@ -3,7 +3,6 @@
import (
   "errors"
   "github.com/boltdb/bolt"
   "strconv"
   "time"
)
@@ -243,10 +242,10 @@
   return tx.Commit()
}
func (b *BoltStore) ForEach(f func(v []byte) error) {
func (b *BoltStore) ForEach(f func(lc *LogCon) error) error {
   tx, err := b.conn.Begin(true)
   if err != nil {
      return
      return err
   }
   defer tx.Rollback()
@@ -254,19 +253,30 @@
   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 err
      }
      bucketName := cLog.BucketName
      bucket := tx.Bucket([]byte(bucketName))
      if bucket == nil {
         return
         return err
      }
      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
      })
   }
   return nil
}
func (b *BoltStore) Delete(lc *LogCon) error {