summaryrefslogtreecommitdiff
path: root/lib/gitlab/database/similarity_score.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/database/similarity_score.rb')
-rw-r--r--lib/gitlab/database/similarity_score.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/gitlab/database/similarity_score.rb b/lib/gitlab/database/similarity_score.rb
index ff78fd0218c..40845c0d5e0 100644
--- a/lib/gitlab/database/similarity_score.rb
+++ b/lib/gitlab/database/similarity_score.rb
@@ -74,9 +74,14 @@ module Gitlab
end
# (SIMILARITY ...) + (SIMILARITY ...)
- expressions.inject(first_expression) do |expression1, expression2|
+ additions = expressions.inject(first_expression) do |expression1, expression2|
Arel::Nodes::Addition.new(expression1, expression2)
end
+
+ score_as_numeric = Arel::Nodes::NamedFunction.new('CAST', [Arel::Nodes::Grouping.new(additions).as('numeric')])
+
+ # Rounding the score to two decimals
+ Arel::Nodes::NamedFunction.new('ROUND', [score_as_numeric, 2])
end
def self.order_by_similarity?(arel_query)