Ticket #5202: handle_empty_conditions.diff
| File handle_empty_conditions.diff, 1.4 kB (added by Chris Wanstrath, 2 years ago) |
|---|
-
activerecord/test/finder_test.rb
old new 439 439 assert_equal [], Post.find(:all, :conditions => ['id in (?)', []]) 440 440 end 441 441 442 def test_find_by_empty_conditions 443 assert Post.find(:first, :conditions => '') 444 assert Post.find(:first, :conditions => ['', nil]) 445 assert Post.find(:first, :conditions => false) 446 assert Post.find(:first, :conditions => {}) 447 end 448 442 449 def test_find_by_records 443 450 p1, p2 = Post.find(:all, :limit => 2, :order => 'id asc') 444 451 assert_equal [p1, p2], Post.find(:all, :conditions => ['id in (?)', [p1, p2]], :order => 'id asc') -
activerecord/lib/active_record/base.rb
old new 1160 1160 segments << sanitize_sql(conditions) unless conditions.nil? 1161 1161 segments << type_condition unless descends_from_active_record? 1162 1162 segments.compact! 1163 sql << "WHERE (#{segments.join(") AND (")}) " unless segments. empty?1163 sql << "WHERE (#{segments.join(") AND (")}) " unless segments.all?(&:blank?) 1164 1164 end 1165 1165 1166 1166 def type_condition