aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-09-14 09:19:49 +0900
committerRyuta Kamizono <kamipo@gmail.com>2018-09-14 09:32:37 +0900
commitaf653ef72190c6cd3e6b2a86786a981ad4bdb44e (patch)
tree697b61556c11f64322e2b3dfca1e3b739fec43ca /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
parent7265b897805aee6b858fb72f5fc33e4622635dab (diff)
downloadrails-af653ef72190c6cd3e6b2a86786a981ad4bdb44e.tar.gz
rails-af653ef72190c6cd3e6b2a86786a981ad4bdb44e.tar.bz2
rails-af653ef72190c6cd3e6b2a86786a981ad4bdb44e.zip
SQLite3: Support multiple args function for expression indexes
Follow up #33874. Related #23393.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
index 51f4944808..d32fd5ea09 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -487,9 +487,12 @@ module ActiveRecord
name = name[1..-1]
end
- to_column_names = columns(to).map(&:name)
- columns = index.columns.map { |c| rename[c] || c }.select do |column|
- to_column_names.include?(column)
+ columns = index.columns
+ if columns.is_a?(Array)
+ to_column_names = columns(to).map(&:name)
+ columns = columns.map { |c| rename[c] || c }.select do |column|
+ to_column_names.include?(column)
+ end
end
unless columns.empty?