func DeleteSubscription(db *pgx.ConnPool, userID, feedID int32) error { if _, err := db.Prepare("deleteSubscription", deleteSubscriptionSQL); err != nil { return err } if _, err := db.Prepare("deleteFeedIfOrphaned", deleteFeedIfOrphanedSQL); err != nil { return err } tx, err := db.BeginIso(pgx.Serializable) if err != nil { return err } defer tx.Rollback() _, err = tx.Exec("deleteSubscription", userID, feedID) if err != nil { return err } _, err = tx.Exec("deleteFeedIfOrphaned", feedID) if err != nil { return err } return tx.Commit() }