@@ -85,22 +85,22 @@ func (m *Milestone) State() api.StateType {
8585
8686// NewMilestone creates new milestone of repository.
8787func NewMilestone (m * Milestone ) (err error ) {
88- sess := db .NewSession (db .DefaultContext )
89- defer sess .Close ()
90- if err = sess .Begin (); err != nil {
88+ ctx , committer , err := db .TxContext ()
89+ if err != nil {
9190 return err
9291 }
92+ defer committer .Close ()
9393
9494 m .Name = strings .TrimSpace (m .Name )
9595
96- if _ , err = sess .Insert (m ); err != nil {
96+ if err = db .Insert (ctx , m ); err != nil {
9797 return err
9898 }
9999
100- if _ , err = sess .Exec ("UPDATE `repository` SET num_milestones = num_milestones + 1 WHERE id = ?" , m .RepoID ); err != nil {
100+ if _ , err = db .Exec (ctx , "UPDATE `repository` SET num_milestones = num_milestones + 1 WHERE id = ?" , m .RepoID ); err != nil {
101101 return err
102102 }
103- return sess .Commit ()
103+ return committer .Commit ()
104104}
105105
106106func getMilestoneByRepoID (e db.Engine , repoID , id int64 ) (* Milestone , error ) {
@@ -150,11 +150,13 @@ func getMilestoneByID(e db.Engine, id int64) (*Milestone, error) {
150150
151151// UpdateMilestone updates information of given milestone.
152152func UpdateMilestone (m * Milestone , oldIsClosed bool ) error {
153- sess := db .NewSession (db .DefaultContext )
154- defer sess .Close ()
155- if err := sess .Begin (); err != nil {
153+ ctx , committer , err := db .TxContext ()
154+ if err != nil {
156155 return err
157156 }
157+ defer committer .Close ()
158+
159+ sess := db .GetEngine (ctx )
158160
159161 if m .IsClosed && ! oldIsClosed {
160162 m .ClosedDateUnix = timeutil .TimeStampNow ()
@@ -171,7 +173,7 @@ func UpdateMilestone(m *Milestone, oldIsClosed bool) error {
171173 }
172174 }
173175
174- return sess .Commit ()
176+ return committer .Commit ()
175177}
176178
177179func updateMilestone (e db.Engine , m * Milestone ) error {
@@ -207,11 +209,13 @@ func updateMilestoneCounters(e db.Engine, id int64) error {
207209
208210// ChangeMilestoneStatusByRepoIDAndID changes a milestone open/closed status if the milestone ID is in the repo.
209211func ChangeMilestoneStatusByRepoIDAndID (repoID , milestoneID int64 , isClosed bool ) error {
210- sess := db .NewSession (db .DefaultContext )
211- defer sess .Close ()
212- if err := sess .Begin (); err != nil {
212+ ctx , committer , err := db .TxContext ()
213+ if err != nil {
213214 return err
214215 }
216+ defer committer .Close ()
217+
218+ sess := db .GetEngine (ctx )
215219
216220 m := & Milestone {
217221 ID : milestoneID ,
@@ -229,22 +233,22 @@ func ChangeMilestoneStatusByRepoIDAndID(repoID, milestoneID int64, isClosed bool
229233 return err
230234 }
231235
232- return sess .Commit ()
236+ return committer .Commit ()
233237}
234238
235239// ChangeMilestoneStatus changes the milestone open/closed status.
236240func ChangeMilestoneStatus (m * Milestone , isClosed bool ) (err error ) {
237- sess := db .NewSession (db .DefaultContext )
238- defer sess .Close ()
239- if err = sess .Begin (); err != nil {
241+ ctx , committer , err := db .TxContext ()
242+ if err != nil {
240243 return err
241244 }
245+ defer committer .Close ()
242246
243- if err := changeMilestoneStatus (sess , m , isClosed ); err != nil {
247+ if err := changeMilestoneStatus (db . GetEngine ( ctx ) , m , isClosed ); err != nil {
244248 return err
245249 }
246250
247- return sess .Commit ()
251+ return committer .Commit ()
248252}
249253
250254func changeMilestoneStatus (e db.Engine , m * Milestone , isClosed bool ) error {
@@ -335,11 +339,13 @@ func DeleteMilestoneByRepoID(repoID, id int64) error {
335339 return err
336340 }
337341
338- sess := db .NewSession (db .DefaultContext )
339- defer sess .Close ()
340- if err = sess .Begin (); err != nil {
342+ ctx , committer , err := db .TxContext ()
343+ if err != nil {
341344 return err
342345 }
346+ defer committer .Close ()
347+
348+ sess := db .GetEngine (ctx )
343349
344350 if _ , err = sess .ID (m .ID ).Delete (new (Milestone )); err != nil {
345351 return err
@@ -360,10 +366,10 @@ func DeleteMilestoneByRepoID(repoID, id int64) error {
360366 return err
361367 }
362368
363- if _ , err = sess .Exec ("UPDATE `issue` SET milestone_id = 0 WHERE milestone_id = ?" , m .ID ); err != nil {
369+ if _ , err = db .Exec (ctx , "UPDATE `issue` SET milestone_id = 0 WHERE milestone_id = ?" , m .ID ); err != nil {
364370 return err
365371 }
366- return sess .Commit ()
372+ return committer .Commit ()
367373}
368374
369375// MilestoneList is a list of milestones offering additional functionality
0 commit comments