aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-11-03 14:45:25 +0900
committerRyuta Kamizono <kamipo@gmail.com>2018-11-03 14:54:57 +0900
commit19f0f140746bfae588f145fcd89df1c8f6df3910 (patch)
treecf68ea3a89158590af474d1b66740aec452b9432 /activerecord/lib/active_record
parentb858c2c76cbe66b50df81372156d4b6f6e187be1 (diff)
downloadrails-19f0f140746bfae588f145fcd89df1c8f6df3910.tar.gz
rails-19f0f140746bfae588f145fcd89df1c8f6df3910.tar.bz2
rails-19f0f140746bfae588f145fcd89df1c8f6df3910.zip
Checking boundable not only `IN` clause but also `NOT IN` clause
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb12
1 files changed, 4 insertions, 8 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb b/activerecord/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb
index f158946c6d..883747b84b 100644
--- a/activerecord/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb
+++ b/activerecord/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb
@@ -12,15 +12,11 @@ module ActiveRecord
def visit_Arel_Nodes_In(o, collector)
@preparable = false
+ super
+ end
- if Array === o.right && !o.right.empty?
- o.right.delete_if do |bind|
- if Arel::Nodes::BindParam === bind && Relation::QueryAttribute === bind.value
- !bind.value.boundable?
- end
- end
- end
-
+ def visit_Arel_Nodes_NotIn(o, collector)
+ @preparable = false
super
end