Commit 9967fc58 authored by Michael Kozono's avatar Michael Kozono

Refactor LFS methods

Shorten names that are already unambiguous.
parent 5d94e9d2
......@@ -41,7 +41,7 @@ module Geo
# rubocop:disable CodeReuse/ActiveRecord
def find_unsynced(batch_size:, except_ids: [])
lfs_objects
.missing_file_registry
.missing_registry
.id_not_in(except_ids)
.limit(batch_size)
end
......@@ -50,7 +50,7 @@ module Geo
# rubocop:disable CodeReuse/ActiveRecord
def find_migrated_local(batch_size:, except_ids: [])
all_lfs_objects
.inner_join_lfs_object_registry
.inner_join_registry
.with_files_stored_remotely
.id_not_in(except_ids)
.limit(batch_size)
......
......@@ -17,45 +17,45 @@ module Geo
class << self
def failed
inner_join_lfs_object_registry
inner_join_registry
.merge(Geo::LfsObjectRegistry.failed)
end
def inner_join_lfs_object_registry
def inner_join_registry
join_statement =
arel_table
.join(lfs_object_registry_table, Arel::Nodes::InnerJoin)
.on(arel_table[:id].eq(lfs_object_registry_table[:lfs_object_id]))
.join(registry_table, Arel::Nodes::InnerJoin)
.on(arel_table[:id].eq(registry_table[:lfs_object_id]))
joins(join_statement.join_sources)
end
def missing_file_registry
left_outer_join_lfs_object_registry
.where(lfs_object_registry_table[:id].eq(nil))
def missing_registry
left_outer_join_registry
.where(registry_table[:id].eq(nil))
end
def missing_on_primary
inner_join_lfs_object_registry
inner_join_registry
.merge(Geo::LfsObjectRegistry.synced.missing_on_primary)
end
def synced
inner_join_lfs_object_registry
inner_join_registry
.merge(Geo::LfsObjectRegistry.synced)
end
private
def lfs_object_registry_table
def registry_table
Geo::LfsObjectRegistry.arel_table
end
def left_outer_join_lfs_object_registry
def left_outer_join_registry
join_statement =
arel_table
.join(lfs_object_registry_table, Arel::Nodes::OuterJoin)
.on(arel_table[:id].eq(lfs_object_registry_table[:lfs_object_id]))
.join(registry_table, Arel::Nodes::OuterJoin)
.on(arel_table[:id].eq(registry_table[:lfs_object_id]))
joins(join_statement.join_sources)
end
......
......@@ -14,10 +14,10 @@ module Gitlab
class Fdw
class LfsObjectRegistryQueryBuilder < BaseQueryBuilder
# rubocop:disable CodeReuse/ActiveRecord
def for_lfs_objects(lfs_object_ids)
def for_lfs_objects(ids)
query
.joins(fdw_inner_join_lfs_objects)
.lfs_object_id_in(lfs_object_ids)
.lfs_object_id_in(ids)
end
# rubocop:enable CodeReuse/ActiveRecord
......@@ -25,21 +25,21 @@ module Gitlab
def base
::Geo::LfsObjectRegistry
.select(lfs_registry_table[Arel.star])
.select(registry_table[Arel.star])
end
def lfs_registry_table
def registry_table
::Geo::LfsObjectRegistry.arel_table
end
def fdw_lfs_object_table
def fdw_table
::Geo::Fdw::LfsObject.arel_table
end
def fdw_inner_join_lfs_objects
lfs_registry_table
.join(fdw_lfs_object_table, Arel::Nodes::InnerJoin)
.on(lfs_registry_table[:lfs_object_id].eq(fdw_lfs_object_table[:id]))
registry_table
.join(fdw_table, Arel::Nodes::InnerJoin)
.on(registry_table[:lfs_object_id].eq(fdw_table[:id]))
.join_sources
end
end
......
......@@ -8,7 +8,7 @@ RSpec.describe Geo::Fdw::LfsObject, :geo, type: :model do
it { is_expected.to have_many(:projects).class_name('Geo::Fdw::Project').through(:lfs_objects_projects) }
end
describe '.missing_file_registry', :geo_fdw do
describe '.missing_registry', :geo_fdw do
it "returns lfs objects that don't have a corresponding registry entry" do
missing_registry_entries = create_list(:lfs_object, 2)
......@@ -16,7 +16,7 @@ RSpec.describe Geo::Fdw::LfsObject, :geo, type: :model do
create(:geo_lfs_object_registry, lfs_object_id: lfs.id)
end
expect(described_class.missing_file_registry).to match_ids(missing_registry_entries)
expect(described_class.missing_registry).to match_ids(missing_registry_entries)
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment