aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-02-08 08:52:21 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-02-12 18:14:24 +0900
commit082c75f6232e811287d36441711f75bdcabb51d4 (patch)
tree1fd857803c0acb9dc69bf3838a29500eaf30bd1b /activerecord/lib/active_record
parent4fed08fa787a316fa51f14baca9eae11913f5050 (diff)
downloadrails-082c75f6232e811287d36441711f75bdcabb51d4.tar.gz
rails-082c75f6232e811287d36441711f75bdcabb51d4.tar.bz2
rails-082c75f6232e811287d36441711f75bdcabb51d4.zip
Fix `select_all` with legacy `binds`
Fixes #27923.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/quoting.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
index 437e7c6510..9203a66a17 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
@@ -144,7 +144,11 @@ module ActiveRecord
private
def type_casted_binds(binds)
- binds.map { |attr| type_cast(attr.value_for_database) }
+ if binds.first.is_a?(Array)
+ binds.map { |column, value| type_cast(value, column) }
+ else
+ binds.map { |attr| type_cast(attr.value_for_database) }
+ end
end
def types_which_need_no_typecasting