@@ -3,6 +3,7 @@ package stats
33import (
44 "context"
55 "database/sql"
6+ "errors"
67 "runtime"
78 "time"
89
@@ -541,34 +542,39 @@ type ReadMarkerEntity struct {
541542 LatestRedeemedRC int64 `gorm:"column:latest_redeemed_rc"`
542543}
543544
544- func loadAllocReadMarkersStat (ctx context.Context , allocationID string ) (rms * ReadMarkersStat , err error ) {
545+ func loadAllocReadMarkersStat (ctx context.Context , allocationID string ) (* ReadMarkersStat , error ) {
545546 var (
546- db = datastore .GetStore ().GetTransaction ( ctx )
547+ db = datastore .GetStore ().GetDB ( )
547548 rme ReadMarkerEntity
548549 )
549550
550- err = db .Table ("read_markers" ).
551+ row : = db .Table ("read_markers" ).
551552 Select ("counter, latest_redeemed_rc" ).
552553 Where ("allocation_id = ?" , allocationID ).
553- Limit (1 ).
554- Row ().
555- Scan (& rme .ReadCounter , & rme .LatestRedeemedRC )
554+ Limit (1 ).Row ()
556555
557- if err != nil && err != sql .ErrNoRows {
558- return
556+ err := row .Err ()
557+ if err != nil {
558+ return nil , err
559559 }
560560
561- if err == sql .ErrNoRows {
562- return & ReadMarkersStat {}, nil // empty
561+ err = row .Scan (& rme .ReadCounter , & rme .LatestRedeemedRC )
562+
563+ rms := & ReadMarkersStat {}
564+
565+ if err != nil {
566+ if errors .Is (err , sql .ErrNoRows ) {
567+ return rms , nil // empty
568+ }
569+ return nil , err
563570 }
564571
565- rms = new (ReadMarkersStat )
566572 if rme .ReadCounter > rme .LatestRedeemedRC {
567573 rms .Pending = rme .ReadCounter - rme .LatestRedeemedRC // pending
568574 }
569575
570576 rms .Redeemed = rme .LatestRedeemedRC // already redeemed
571- return
577+ return rms , nil
572578}
573579
574580// copy pasted from writemarker package because of import cycle
0 commit comments