Fix merge request keep-around orphan query
What does this MR do and why?
There is no perfectly matching index for id and target project. So here we switch to do batching based off of iid instead.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
How to set up and validate locally
- Run the report:
$ bundle exec rake gitlab:keep_around:orphaned FILENAME=after.csv PROJECT_PATH=root/example
New DB Queries
add_merge_request_shas
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/32405/commands/100103
SELECT
"merge_requests"."id",
"merge_requests"."merge_commit_sha"
FROM
"merge_requests"
WHERE
"merge_requests"."target_project_id" = 278964
ORDER BY
"merge_requests"."id" ASC
LIMIT 1000;
add_merge_request_diff_shas
https://console.postgres.ai/gitlab/gitlab-production-main/sessions/32739/commands/100908
SELECT
"merge_request_diffs"."id",
"merge_request_diffs"."start_commit_sha",
"merge_request_diffs"."head_commit_sha"
FROM
"merge_request_diffs"
INNER JOIN "merge_requests" ON "merge_requests"."id" = "merge_request_diffs"."merge_request_id"
WHERE
"merge_requests"."target_project_id" = 278964
ORDER BY
"merge_request_diffs"."merge_request_id" ASC, "merge_request_diffs"."id" ASC
LIMIT 1000;
Edited by Furkan Ayhan