]> source.dussan.org Git - gitea.git/commitdiff
improve possible performance bottleneck (#28547) (#28578)
authorGiteabot <teabot@gitea.io>
Thu, 21 Dec 2023 23:37:08 +0000 (07:37 +0800)
committerGitHub <noreply@github.com>
Thu, 21 Dec 2023 23:37:08 +0000 (23:37 +0000)
Backport #28547 by @lunny

Replace #28500

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
models/issues/comment.go

index 9eaa8a6eba64ffe1e3a49f17d0090592930eec36..f038d75eb332313a73307ea399def8d4e71557ed 100644 (file)
@@ -1153,14 +1153,9 @@ func DeleteComment(ctx context.Context, comment *Comment) error {
 // UpdateCommentsMigrationsByType updates comments' migrations information via given git service type and original id and poster id
 func UpdateCommentsMigrationsByType(ctx context.Context, tp structs.GitServiceType, originalAuthorID string, posterID int64) error {
        _, err := db.GetEngine(ctx).Table("comment").
-               Where(builder.In("issue_id",
-                       builder.Select("issue.id").
-                               From("issue").
-                               InnerJoin("repository", "issue.repo_id = repository.id").
-                               Where(builder.Eq{
-                                       "repository.original_service_type": tp,
-                               }),
-               )).
+               Join("INNER", "issue", "issue.id = comment.issue_id").
+               Join("INNER", "repository", "issue.repo_id = repository.id").
+               Where("repository.original_service_type = ?", tp).
                And("comment.original_author_id = ?", originalAuthorID).
                Update(map[string]any{
                        "poster_id":          posterID,