Commit b828a98c authored by Kamil Trzcinski's avatar Kamil Trzcinski

Optimise includes

parent 8a1c12aa
...@@ -13,7 +13,15 @@ class PipelineSerializer < BaseSerializer ...@@ -13,7 +13,15 @@ class PipelineSerializer < BaseSerializer
def represent(resource, opts = {}) def represent(resource, opts = {})
if resource.is_a?(ActiveRecord::Relation) if resource.is_a?(ActiveRecord::Relation)
resource = resource.includes(project: :namespace) resource = resource.includes(:project)
resource = resource.includes(:pending_builds,
:retryable_builds,
:cancelable_statuses,
:manual_actions,
:artifacts)
resource = resource.includes(pending_builds: :project)
resource = resource.includes(manual_actions: :project)
resource = resource.includes(artifacts: :project)
end end
if paginated? if paginated?
......
...@@ -105,7 +105,8 @@ describe PipelineSerializer do ...@@ -105,7 +105,8 @@ describe PipelineSerializer do
it "verifies number of queries" do it "verifies number of queries" do
recorded = ActiveRecord::QueryRecorder.new { subject } recorded = ActiveRecord::QueryRecorder.new { subject }
expect(recorded.count).to be_within(200).of(10) expect(recorded.count).to be_within(10).of(230)
expect(recorded.cached_count).to be_within(5).of(5)
end end
def create_pipeline(status) def create_pipeline(status)
......
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