diff options
author | Guillermo Iguaran <guilleiguaran@gmail.com> | 2013-02-08 16:53:49 -0500 |
---|---|---|
committer | Guillermo Iguaran <guilleiguaran@gmail.com> | 2013-02-08 16:53:49 -0500 |
commit | 29f3a036e7ab5199b8a793bfab6454802eaec1b3 (patch) | |
tree | 24d21169ac3b811ec4ce6aa6a08492e603ac2e1e | |
parent | b5645d02731f662ec5a15a1c99e3e6127e7b0398 (diff) | |
download | rails-29f3a036e7ab5199b8a793bfab6454802eaec1b3.tar.gz rails-29f3a036e7ab5199b8a793bfab6454802eaec1b3.tar.bz2 rails-29f3a036e7ab5199b8a793bfab6454802eaec1b3.zip |
Reverting e170014113 (Change behaviour with empty hash in where clause)
-rw-r--r-- | activerecord/CHANGELOG.md | 5 | ||||
-rw-r--r-- | activerecord/lib/active_record/relation/predicate_builder.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/relation/where_test.rb | 8 |
3 files changed, 3 insertions, 12 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index bd2f0eb0bc..e102adcb4d 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,10 +1,5 @@ ## Rails 4.0.0 (unreleased) ## -* Raise `ArgumentError` instead of generating invalid SQL when empty hash is - used in where clause value. - - *Roberto Miranda* - * Quote numeric values being compared to non-numeric columns. Otherwise, in some database, the string column values will be coerced to a numeric allowing 0, 0.0 or false to match any string starting with a non-digit. diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb index 24cbae83de..68d960f2b1 100644 --- a/activerecord/lib/active_record/relation/predicate_builder.rb +++ b/activerecord/lib/active_record/relation/predicate_builder.rb @@ -8,7 +8,7 @@ module ActiveRecord if value.is_a?(Hash) if value.empty? - raise ArgumentError, "Condition value in SQL clause can't be an empty hash" + queries << '1 = 2' else table = Arel::Table.new(column, default_table.engine) association = klass.reflect_on_association(column.to_sym) diff --git a/activerecord/test/cases/relation/where_test.rb b/activerecord/test/cases/relation/where_test.rb index 8c8f4267a9..53cdf89b1f 100644 --- a/activerecord/test/cases/relation/where_test.rb +++ b/activerecord/test/cases/relation/where_test.rb @@ -92,9 +92,7 @@ module ActiveRecord end def test_where_with_table_name_and_empty_hash - assert_raises(ArgumentError) do - Post.where(:posts => {}) - end + assert_equal 0, Post.where(:posts => {}).count end def test_where_with_table_name_and_empty_array @@ -102,9 +100,7 @@ module ActiveRecord end def test_where_with_empty_hash_and_no_foreign_key - assert_raises(ArgumentError) do - Edge.where(:sink => {}).count - end + assert_equal 0, Edge.where(:sink => {}).count end def test_where_with_blank_conditions |