@@ -3,6 +3,7 @@ package stats
3
3
import (
4
4
"context"
5
5
"database/sql"
6
+ "errors"
6
7
"runtime"
7
8
"time"
8
9
@@ -541,34 +542,39 @@ type ReadMarkerEntity struct {
541
542
LatestRedeemedRC int64 `gorm:"column:latest_redeemed_rc"`
542
543
}
543
544
544
- func loadAllocReadMarkersStat (ctx context.Context , allocationID string ) (rms * ReadMarkersStat , err error ) {
545
+ func loadAllocReadMarkersStat (ctx context.Context , allocationID string ) (* ReadMarkersStat , error ) {
545
546
var (
546
- db = datastore .GetStore ().GetTransaction ( ctx )
547
+ db = datastore .GetStore ().GetDB ( )
547
548
rme ReadMarkerEntity
548
549
)
549
550
550
- err = db .Table ("read_markers" ).
551
+ row : = db .Table ("read_markers" ).
551
552
Select ("counter, latest_redeemed_rc" ).
552
553
Where ("allocation_id = ?" , allocationID ).
553
- Limit (1 ).
554
- Row ().
555
- Scan (& rme .ReadCounter , & rme .LatestRedeemedRC )
554
+ Limit (1 ).Row ()
556
555
557
- if err != nil && err != sql .ErrNoRows {
558
- return
556
+ err := row .Err ()
557
+ if err != nil {
558
+ return nil , err
559
559
}
560
560
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
563
570
}
564
571
565
- rms = new (ReadMarkersStat )
566
572
if rme .ReadCounter > rme .LatestRedeemedRC {
567
573
rms .Pending = rme .ReadCounter - rme .LatestRedeemedRC // pending
568
574
}
569
575
570
576
rms .Redeemed = rme .LatestRedeemedRC // already redeemed
571
- return
577
+ return rms , nil
572
578
}
573
579
574
580
// copy pasted from writemarker package because of import cycle
0 commit comments