summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-09-28 10:37:16 +0000
committerYorick Peterse <yorickpeterse@gmail.com>2016-09-28 10:37:16 +0000
commite8cce313a11198e65b8b7c1091ffe485a95bc627 (patch)
treefbd64c97ed91fe30c72d93b4c97c79e4d5af96cf
parent6331344d130ae7bd3990ff6537b513cab301f955 (diff)
parentf4a84f504f2119a32a6c8909dc72680a191d7174 (diff)
downloadgitlab-ce-e8cce313a11198e65b8b7c1091ffe485a95bc627.tar.gz
Merge branch '22681-avoid-empty-queries-on-reference-parsers' into 'master'
"Banzai::ReferenceParser::BaseParser is executing queries that don't return results" See merge request !6546
-rw-r--r--CHANGELOG1
-rw-r--r--lib/banzai/reference_parser/base_parser.rb6
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index df93f89a41a..8e75ef4214b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@ v 8.13.0 (unreleased)
- Speed-up group milestones show page
- Log LDAP lookup errors and don't swallow unrelated exceptions. !6103 (Markus Koller)
- Add more tests for calendar contribution (ClemMakesApps)
+ - Avoid database queries on Banzai::ReferenceParser::BaseParser for nodes without references
- Fix robots.txt disallowing access to groups starting with "s" (Matt Harrison)
- Only update issuable labels if they have been changed
- Revoke button in Applications Settings underlines on hover.
diff --git a/lib/banzai/reference_parser/base_parser.rb b/lib/banzai/reference_parser/base_parser.rb
index e8e03e4a98f..f5d110e987b 100644
--- a/lib/banzai/reference_parser/base_parser.rb
+++ b/lib/banzai/reference_parser/base_parser.rb
@@ -79,7 +79,11 @@ module Banzai
def referenced_by(nodes)
ids = unique_attribute_values(nodes, self.class.data_attribute)
- references_relation.where(id: ids)
+ if ids.empty?
+ references_relation.none
+ else
+ references_relation.where(id: ids)
+ end
end
# Returns the ActiveRecord::Relation to use for querying references in the