Monorepo for Tangled tangled.org

appview: move tx rollback logic out of db.UpsertProfile() #994

open opened by boltless.me targeting master from sl/sqkrqopzkvoo
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:xasnlahkri4ewmbuzly2rlc5/sh.tangled.repo.pull/3mcsfwwhtki22
+22 -22
Interdiff #0 #1
+5 -5
appview/db/profile.go
··· 108 } 109 110 func UpsertProfile(tx *sql.Tx, profile *models.Profile) error { 111 // update links 112 _, err := tx.Exec(`delete from profile_links where did = ?`, profile.Did) 113 if err != nil { ··· 129 } 130 131 func UpsertProfile(tx *sql.Tx, profile *models.Profile) error { 132 - defer tx.Rollback() 133 - 134 // update links 135 _, err := tx.Exec(`delete from profile_links where did = ?`, profile.Did) 136 if err != nil { ··· 201 return err 202 } 203 } 204 - return nil 205 } 206 207 func GetProfiles(e Execer, filters ...orm.Filter) (map[string]*models.Profile, error) { ··· 225 return err 226 } 227 } 228 - 229 - return tx.Commit() 230 } 231 232 func GetProfiles(e Execer, filters ...orm.Filter) (map[string]*models.Profile, error) {
··· 108 } 109 110 func UpsertProfile(tx *sql.Tx, profile *models.Profile) error { 111 + defer tx.Rollback() 112 + 113 // update links 114 _, err := tx.Exec(`delete from profile_links where did = ?`, profile.Did) 115 if err != nil { ··· 131 } 132 133 func UpsertProfile(tx *sql.Tx, profile *models.Profile) error { 134 // update links 135 _, err := tx.Exec(`delete from profile_links where did = ?`, profile.Did) 136 if err != nil { ··· 201 return err 202 } 203 } 204 + 205 + return tx.Commit() 206 } 207 208 func GetProfiles(e Execer, filters ...orm.Filter) (map[string]*models.Profile, error) { ··· 226 return err 227 } 228 } 229 + return nil 230 } 231 232 func GetProfiles(e Execer, filters ...orm.Filter) (map[string]*models.Profile, error) {
appview/ingester.go

This patch was likely rebased, as context lines do not match.

+17 -17
appview/state/profile.go
··· 613 s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 614 return 615 } 616 617 client, err := s.oauth.AuthorizedClient(r) 618 if err != nil { ··· 624 s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 625 return 626 } 627 - defer tx.Rollback() 628 - 629 - err = db.UpsertProfile(tx, profile) 630 - if err != nil { 631 - log.Println("failed to update profile", err) 632 - s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 633 - return 634 - } 635 636 client, err := s.oauth.AuthorizedClient(r) 637 if err != nil { ··· 669 return 670 } 671 672 - err = db.UpsertProfile(tx, profile) 673 - if err != nil { 674 - log.Println("failed to update profile", err) 675 - s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 676 - return 677 } 678 679 s.notifier.UpdateProfile(r.Context(), profile) 680 return 681 } 682 683 - if err := tx.Commit(); err != nil { 684 - s.logger.Error("failed to commit transaction", "err", err) 685 - // db failed, but PDS operation succeed. 686 - // log error and continue 687 } 688 689 s.notifier.UpdateProfile(r.Context(), profile)
··· 613 s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 614 return 615 } 616 + defer tx.Rollback() 617 + 618 + err = db.UpsertProfile(tx, profile) 619 + if err != nil { 620 + log.Println("failed to update profile", err) 621 + s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 622 + return 623 + } 624 625 client, err := s.oauth.AuthorizedClient(r) 626 if err != nil { ··· 632 s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 633 return 634 } 635 636 client, err := s.oauth.AuthorizedClient(r) 637 if err != nil { ··· 669 return 670 } 671 672 + if err := tx.Commit(); err != nil { 673 + s.logger.Error("failed to commit transaction", "err", err) 674 + // db failed, but PDS operation succeed. 675 + // log error and continue 676 } 677 678 s.notifier.UpdateProfile(r.Context(), profile) 679 return 680 } 681 682 + err = db.UpsertProfile(tx, profile) 683 + if err != nil { 684 + log.Println("failed to update profile", err) 685 + s.pages.Notice(w, "update-profile", "Failed to update profile, try again later.") 686 + return 687 } 688 689 s.notifier.UpdateProfile(r.Context(), profile)

History

2 rounds 0 comments
sign up or login to add to the discussion
1 commit
expand
appview: move tx rollback logic out of db.UpsertProfile()
2/3 failed, 1/3 success
expand
merge conflicts detected
expand
  • appview/issues/issues.go:27
  • appview/labels/labels.go:15
  • appview/pages/markup/markdown.go:47
  • appview/pages/markup/sanitizer.go:10
  • appview/pages/pages.go:57
  • appview/pulls/pulls.go:27
  • appview/repo/repo.go:49
  • appview/repo/settings.go:4
  • appview/state/router.go:313
  • appview/state/state.go:23
  • appview/validator/label.go:1
expand 0 comments
1 commit
expand
appview: move tx rollback logic out of db.UpsertProfile()
1/3 timeout, 2/3 success
expand
expand 0 comments