diff options
Diffstat (limited to 'models/pull.go')
-rw-r--r-- | models/pull.go | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/models/pull.go b/models/pull.go index 6bcc30e901..3bfebee118 100644 --- a/models/pull.go +++ b/models/pull.go @@ -394,11 +394,12 @@ func (pr *PullRequest) SetMerged() (bool, error) { pr.HasMerged = true - sess := db.NewSession(db.DefaultContext) - defer sess.Close() - if err := sess.Begin(); err != nil { + ctx, committer, err := db.TxContext() + if err != nil { return false, err } + defer committer.Close() + sess := db.GetEngine(ctx) if _, err := sess.Exec("UPDATE `issue` SET `repo_id` = `repo_id` WHERE `id` = ?", pr.IssueID); err != nil { return false, err @@ -432,7 +433,7 @@ func (pr *PullRequest) SetMerged() (bool, error) { return false, err } - if _, err := pr.Issue.changeStatus(sess, pr.Merger, true, true); err != nil { + if _, err := pr.Issue.changeStatus(ctx, pr.Merger, true, true); err != nil { return false, fmt.Errorf("Issue.changeStatus: %v", err) } @@ -441,7 +442,7 @@ func (pr *PullRequest) SetMerged() (bool, error) { return false, fmt.Errorf("Failed to update pr[%d]: %v", pr.ID, err) } - if err := sess.Commit(); err != nil { + if err := committer.Commit(); err != nil { return false, fmt.Errorf("Commit: %v", err) } return true, nil @@ -456,13 +457,13 @@ func NewPullRequest(repo *Repository, issue *Issue, labelIDs []int64, uuids []st issue.Index = idx - sess := db.NewSession(db.DefaultContext) - defer sess.Close() - if err = sess.Begin(); err != nil { + ctx, committer, err := db.TxContext() + if err != nil { return err } + defer committer.Close() - if err = newIssue(sess, issue.Poster, NewIssueOptions{ + if err = newIssue(ctx, issue.Poster, NewIssueOptions{ Repo: repo, Issue: issue, LabelIDs: labelIDs, @@ -478,11 +479,11 @@ func NewPullRequest(repo *Repository, issue *Issue, labelIDs []int64, uuids []st pr.Index = issue.Index pr.BaseRepo = repo pr.IssueID = issue.ID - if _, err = sess.Insert(pr); err != nil { + if err = db.Insert(ctx, pr); err != nil { return fmt.Errorf("insert pull repo: %v", err) } - if err = sess.Commit(); err != nil { + if err = committer.Commit(); err != nil { return fmt.Errorf("Commit: %v", err) } |