zhangzengfei
2021-11-12 33cc2473a3d6ca941717c557f8e72b9904fbdc4f
bolt_store.go
@@ -3,6 +3,7 @@
import (
   "errors"
   "github.com/boltdb/bolt"
   "strconv"
   "time"
)
@@ -242,6 +243,32 @@
   return tx.Commit()
}
func (b *BoltStore) ForEach(f func(v []byte) error) {
   tx, err := b.conn.Begin(true)
   if err != nil {
      return
   }
   defer tx.Rollback()
   start, _ := b.FirstIndex(confBucket)
   end, _ := b.LastIndex(confBucket)
   for ; start <= end; start++ {
      bucketName := bucketPre + strconv.Itoa(int(start))
      bucket := tx.Bucket([]byte(bucketName))
      if bucket == nil {
         return
      }
      bucket.ForEach(func(k, v []byte) error {
         log := &Log{}
         err := decodeMsgPack(v, log)
         f(log.Data)
         return err
      })
   }
}
func (b *BoltStore) Delete(lc *LogCon) error {
   tx,err := b.conn.Begin(true)
   if err != nil {