aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorrobertomiranda <rjmaltamar@gmail.com>2013-02-06 09:10:02 -0500
committerrobertomiranda <rjmaltamar@gmail.com>2013-02-08 06:37:30 -0500
commit16f6f2592e4e6c22f06d75eb8a6ec0cb68c9404b (patch)
tree91d115ad295551d0f6e75c08047ccdbe01e6f59b /activerecord/lib
parentbcf0e08a8df372ef1be376587e5bc206c740e5ef (diff)
downloadrails-16f6f2592e4e6c22f06d75eb8a6ec0cb68c9404b.tar.gz
rails-16f6f2592e4e6c22f06d75eb8a6ec0cb68c9404b.tar.bz2
rails-16f6f2592e4e6c22f06d75eb8a6ec0cb68c9404b.zip
Change behaviour with empty array in where clause
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/associations/has_many_through_association.rb2
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb
index d1458f30ba..2099effbeb 100644
--- a/activerecord/lib/active_record/associations/has_many_through_association.rb
+++ b/activerecord/lib/active_record/associations/has_many_through_association.rb
@@ -136,7 +136,7 @@ module ActiveRecord
records = load_target if records == :all
scope = through_association.scope
- scope.where! construct_join_attributes(*records)
+ scope.where! construct_join_attributes(*records) unless records.empty?
case method
when :destroy
diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb
index 24cbae83de..db2588e725 100644
--- a/activerecord/lib/active_record/relation/predicate_builder.rb
+++ b/activerecord/lib/active_record/relation/predicate_builder.rb
@@ -17,6 +17,8 @@ module ActiveRecord
queries.concat expand(association && association.klass, table, k, v)
end
end
+ elsif value.is_a?(Array) && value.empty?
+ raise ArgumentError, "Condition value in SQL clause can't be an empty array"
else
column = column.to_s