Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/background_migration/schedule_diff_files_deletion.rb')
-rw-r--r--lib/gitlab/background_migration/schedule_diff_files_deletion.rb44
1 files changed, 0 insertions, 44 deletions
diff --git a/lib/gitlab/background_migration/schedule_diff_files_deletion.rb b/lib/gitlab/background_migration/schedule_diff_files_deletion.rb
deleted file mode 100644
index 609cf19187c..00000000000
--- a/lib/gitlab/background_migration/schedule_diff_files_deletion.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# frozen_string_literal: true
-# rubocop:disable Style/Documentation
-
-module Gitlab
- module BackgroundMigration
- class ScheduleDiffFilesDeletion
- class MergeRequestDiff < ActiveRecord::Base
- self.table_name = 'merge_request_diffs'
-
- belongs_to :merge_request
-
- include EachBatch
- end
-
- DIFF_BATCH_SIZE = 5_000
- INTERVAL = 5.minutes
- MIGRATION = 'DeleteDiffFiles'
-
- def perform
- diffs = MergeRequestDiff
- .from("(#{diffs_collection.to_sql}) merge_request_diffs")
- .where('merge_request_diffs.id != merge_request_diffs.latest_merge_request_diff_id')
- .select(:id)
-
- diffs.each_batch(of: DIFF_BATCH_SIZE) do |relation, index|
- ids = relation.pluck(:id)
-
- BackgroundMigrationWorker.perform_in(index * INTERVAL, MIGRATION, [ids])
- end
- end
-
- private
-
- def diffs_collection
- MergeRequestDiff
- .joins(:merge_request)
- .where("merge_requests.state = 'merged'")
- .where('merge_requests.latest_merge_request_diff_id IS NOT NULL')
- .where("merge_request_diffs.state NOT IN ('without_files', 'empty')")
- .select('merge_requests.latest_merge_request_diff_id, merge_request_diffs.id')
- end
- end
- end
-end