Skip to content

Commit 3c59920

Browse files
committed
Execute dbMarkAsActivelyScheduled in a DB transaction
1 parent 9688d32 commit 3c59920

File tree

1 file changed

+18
-16
lines changed
  • pkg/code/data/fulfillment/postgres

1 file changed

+18
-16
lines changed

pkg/code/data/fulfillment/postgres/model.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -478,25 +478,27 @@ func dbPutAllInTx(ctx context.Context, tx *sqlx.Tx, models []*fulfillmentModel)
478478
}
479479

480480
func dbMarkAsActivelyScheduled(ctx context.Context, db *sqlx.DB, id uint64) error {
481-
if id == 0 {
482-
return fulfillment.ErrFulfillmentNotFound
483-
}
481+
return pgutil.ExecuteInTx(ctx, db, sql.LevelDefault, func(tx *sqlx.Tx) error {
482+
if id == 0 {
483+
return fulfillment.ErrFulfillmentNotFound
484+
}
484485

485-
query := `UPDATE ` + fulfillmentTableName + ` SET disable_active_scheduling = false WHERE id = $1`
486-
res, err := db.ExecContext(ctx, query, id)
487-
if err != nil {
488-
return err
489-
}
486+
query := `UPDATE ` + fulfillmentTableName + ` SET disable_active_scheduling = false WHERE id = $1`
487+
res, err := db.ExecContext(ctx, query, id)
488+
if err != nil {
489+
return err
490+
}
490491

491-
rowsAffected, err := res.RowsAffected()
492-
if err != nil {
493-
return err
494-
}
492+
rowsAffected, err := res.RowsAffected()
493+
if err != nil {
494+
return err
495+
}
495496

496-
if rowsAffected == 0 {
497-
return fulfillment.ErrFulfillmentNotFound
498-
}
499-
return nil
497+
if rowsAffected == 0 {
498+
return fulfillment.ErrFulfillmentNotFound
499+
}
500+
return nil
501+
})
500502
}
501503

502504
func dbGetById(ctx context.Context, db *sqlx.DB, id uint64) (*fulfillmentModel, error) {

0 commit comments

Comments
 (0)