From f682478de8b5a6e0b524bfca88f3469fd098d64c Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 22 Feb 2023 11:53:13 +0100 Subject: [PATCH] Fix inefficiency when searching accounts per username in admin interface (#23801) --- app/models/account.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/account.rb b/app/models/account.rb index 09c450f2aba..1ff083e54a5 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -108,7 +108,7 @@ class Account < ApplicationRecord scope :bots, -> { where(actor_type: %w(Application Service)) } scope :groups, -> { where(actor_type: 'Group') } scope :alphabetic, -> { order(domain: :asc, username: :asc) } - scope :matches_username, ->(value) { where(arel_table[:username].matches("#{value}%")) } + scope :matches_username, ->(value) { where('lower((username)::text) LIKE lower(?)', "#{value}%") } scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) } scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } scope :without_unapproved, -> { left_outer_joins(:user).remote.or(left_outer_joins(:user).merge(User.approved.confirmed)) }