@@ -191,7 +191,7 @@ func DeleteIssue(ctx context.Context, doer *user_model.User, gitRepo *git.Reposi
191191	}
192192
193193	// delete entries in database 
194- 	attachmentPaths , comments ,  err  :=  deleteIssue (ctx , issue )
194+ 	attachmentPaths , err  :=  deleteIssue (ctx , issue )
195195	if  err  !=  nil  {
196196		return  err 
197197	}
@@ -211,7 +211,7 @@ func DeleteIssue(ctx context.Context, doer *user_model.User, gitRepo *git.Reposi
211211		}
212212	}
213213
214- 	for  _ , comment  :=  range  comments  {
214+ 	for  _ , comment  :=  range  issue . Comments  {
215215		if  comment .Type  ==  issues_model .CommentTypeCode  {
216216			if  err  :=  git .RemoveRef (ctx , issue .Repo .RepoPath (), issues_model .GetCodeCommentRefName (issue .PullRequest .Index , comment .ID , "before" )); err  !=  nil  {
217217				log .Error ("Unable to remove ref %s in base repository for PR[%d] Error: %v" , issues_model .GetCodeCommentRefName (issue .PullRequest .Index , comment .ID , "before" ), issue .PullRequest .ID , err )
@@ -277,48 +277,48 @@ func GetRefEndNamesAndURLs(issues []*issues_model.Issue, repoLink string) (map[i
277277}
278278
279279// deleteIssue deletes the issue 
280- func  deleteIssue (ctx  context.Context , issue  * issues_model.Issue ) ([]string , []* issues_model.Comment , error ) {
281- 	var  attachmentPaths  []string 
282- 	if  err  :=  db .WithTx (ctx , func (ctx  context.Context ) error  {
280+ func  deleteIssue (ctx  context.Context , issue  * issues_model.Issue ) ([]string , error ) {
281+ 	return  db .WithTx2 (ctx , func (ctx  context.Context ) ([]string , error ) {
283282		// update the total issue numbers 
284283		if  err  :=  repo_model .UpdateRepoIssueNumbers (ctx , issue .RepoID , issue .IsPull , false ); err  !=  nil  {
285- 			return  err 
284+ 			return  nil ,  err 
286285		}
287286		// if the issue is closed, update the closed issue numbers 
288287		if  issue .IsClosed  {
289288			if  err  :=  repo_model .UpdateRepoIssueNumbers (ctx , issue .RepoID , issue .IsPull , true ); err  !=  nil  {
290- 				return  err 
289+ 				return  nil ,  err 
291290			}
292291		}
293292
294293		if  err  :=  issues_model .UpdateMilestoneCounters (ctx , issue .MilestoneID ); err  !=  nil  {
295- 			return  fmt .Errorf ("error updating counters for milestone id %d: %w" ,
294+ 			return  nil ,  fmt .Errorf ("error updating counters for milestone id %d: %w" ,
296295				issue .MilestoneID , err )
297296		}
298297
299298		if  err  :=  activities_model .DeleteIssueActions (ctx , issue .RepoID , issue .ID , issue .Index ); err  !=  nil  {
300- 			return  err 
299+ 			return  nil ,  err 
301300		}
302301
303302		// find attachments related to this issue and remove them 
304303		if  err  :=  issue .LoadAttachments (ctx ); err  !=  nil  {
305- 			return  err 
304+ 			return  nil ,  err 
306305		}
307306
307+ 		var  attachmentPaths  []string 
308308		for  i  :=  range  issue .Attachments  {
309309			attachmentPaths  =  append (attachmentPaths , issue .Attachments [i ].RelativePath ())
310310		}
311311
312312		// deference all review comments 
313313		if  err  :=  issue .LoadRepo (ctx ); err  !=  nil  {
314- 			return  err 
314+ 			return  nil ,  err 
315315		}
316316		if  err  :=  issue .LoadPullRequest (ctx ); err  !=  nil  {
317- 			return  err 
317+ 			return  nil ,  err 
318318		}
319319
320320		if  err  :=  issue .LoadComments (ctx ); err  !=  nil  {
321- 			return  err 
321+ 			return  nil ,  err 
322322		}
323323
324324		// delete all database data still assigned to this issue 
@@ -341,12 +341,12 @@ func deleteIssue(ctx context.Context, issue *issues_model.Issue) ([]string, []*i
341341			& issues_model.Comment {DependentIssueID : issue .ID },
342342			& issues_model.IssuePin {IssueID : issue .ID },
343343		); err  !=  nil  {
344- 			return  err 
344+ 			return  nil ,  err 
345345		}
346346
347347		for  _ , comment  :=  range  issue .Comments  {
348348			if  err  :=  issues_model .DeleteComment (ctx , comment ); err  !=  nil  {
349- 				return  err 
349+ 				return  nil ,  err 
350350			}
351351		}
352352
@@ -355,29 +355,25 @@ func deleteIssue(ctx context.Context, issue *issues_model.Issue) ([]string, []*i
355355			// Delete scheduled auto merges 
356356			if  _ , err  :=  db .GetEngine (ctx ).Where ("pull_id=?" , issue .PullRequest .ID ).
357357				Delete (& pull_model.AutoMerge {}); err  !=  nil  {
358- 				return  err 
358+ 				return  nil ,  err 
359359			}
360360
361361			// Delete review states 
362362			if  _ , err  :=  db .GetEngine (ctx ).Where ("pull_id=?" , issue .PullRequest .ID ).
363363				Delete (& pull_model.ReviewState {}); err  !=  nil  {
364- 				return  err 
364+ 				return  nil ,  err 
365365			}
366366
367367			if  _ , err  :=  db .GetEngine (ctx ).ID (issue .PullRequest .ID ).Delete (& issues_model.PullRequest {}); err  !=  nil  {
368- 				return  err 
368+ 				return  nil ,  err 
369369			}
370370		}
371371
372372		if  _ , err  :=  db .GetEngine (ctx ).ID (issue .ID ).NoAutoCondition ().Delete (issue ); err  !=  nil  {
373- 			return  err 
373+ 			return  nil ,  err 
374374		}
375- 		return  nil 
376- 	}); err  !=  nil  {
377- 		return  nil , nil , err 
378- 	}
379- 
380- 	return  attachmentPaths , issue .Comments , nil 
375+ 		return  attachmentPaths , nil 
376+ 	})
381377}
382378
383379// DeleteOrphanedIssues delete issues without a repo 
@@ -425,12 +421,12 @@ func DeleteIssuesByRepoID(ctx context.Context, repoID int64) (attachmentPaths []
425421		}
426422
427423		for  _ , issue  :=  range  issues  {
428- 			issueAttachPaths , comments ,  err  :=  deleteIssue (ctx , issue )
424+ 			issueAttachPaths , err  :=  deleteIssue (ctx , issue )
429425			if  err  !=  nil  {
430426				return  nil , fmt .Errorf ("deleteIssue [issue_id: %d]: %w" , issue .ID , err )
431427			}
432428
433- 			for  _ , comment  :=  range  comments  {
429+ 			for  _ , comment  :=  range  issue . Comments  {
434430				if  comment .Type  ==  issues_model .CommentTypeCode  {
435431					if  err  :=  git .RemoveRef (ctx , issue .Repo .RepoPath (), issues_model .GetCodeCommentRefName (issue .PullRequest .Index , comment .ID , "before" )); err  !=  nil  {
436432						log .Error ("Unable to remove ref %s in base repository for PR[%d] Error: %v" , issues_model .GetCodeCommentRefName (issue .PullRequest .Index , comment .ID , "before" ), issue .PullRequest .ID , err )
0 commit comments