@@ -293,7 +293,9 @@ func (d *Database) Has(key []byte) (bool, error) {
293
293
} else if err != nil {
294
294
return false , err
295
295
}
296
- closer .Close ()
296
+ if err = closer .Close (); err != nil {
297
+ return false , err
298
+ }
297
299
return true , nil
298
300
}
299
301
@@ -310,7 +312,9 @@ func (d *Database) Get(key []byte) ([]byte, error) {
310
312
}
311
313
ret := make ([]byte , len (dat ))
312
314
copy (ret , dat )
313
- closer .Close ()
315
+ if err = closer .Close (); err != nil {
316
+ return nil , err
317
+ }
314
318
return ret , nil
315
319
}
316
320
@@ -519,14 +523,18 @@ type batch struct {
519
523
520
524
// Put inserts the given value into the batch for later committing.
521
525
func (b * batch ) Put (key , value []byte ) error {
522
- b .b .Set (key , value , nil )
526
+ if err := b .b .Set (key , value , nil ); err != nil {
527
+ return err
528
+ }
523
529
b .size += len (key ) + len (value )
524
530
return nil
525
531
}
526
532
527
533
// Delete inserts the key removal into the batch for later committing.
528
534
func (b * batch ) Delete (key []byte ) error {
529
- b .b .Delete (key , nil )
535
+ if err := b .b .Delete (key , nil ); err != nil {
536
+ return err
537
+ }
530
538
b .size += len (key )
531
539
return nil
532
540
}
@@ -558,19 +566,22 @@ func (b *batch) Replay(w ethdb.KeyValueWriter) error {
558
566
for {
559
567
kind , k , v , ok , err := reader .Next ()
560
568
if ! ok || err != nil {
561
- break
569
+ return err
562
570
}
563
571
// The (k,v) slices might be overwritten if the batch is reset/reused,
564
572
// and the receiver should copy them if they are to be retained long-term.
565
573
if kind == pebble .InternalKeyKindSet {
566
- w .Put (k , v )
574
+ if err = w .Put (k , v ); err != nil {
575
+ return err
576
+ }
567
577
} else if kind == pebble .InternalKeyKindDelete {
568
- w .Delete (k )
578
+ if err = w .Delete (k ); err != nil {
579
+ return err
580
+ }
569
581
} else {
570
582
return fmt .Errorf ("unhandled operation, keytype: %v" , kind )
571
583
}
572
584
}
573
- return nil
574
585
}
575
586
576
587
// pebbleIterator is a wrapper of underlying iterator in storage engine.
0 commit comments