aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-06-03 21:11:48 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-06-03 21:11:48 +0000
commit01a52dd1ad51034b10a8386db7b1aae83f32a59d (patch)
tree30034b45c6be860716dc52dc778a7b677f929388 /activerecord
parent9422e71ca8e089738162f014b271a9b1fabf0394 (diff)
downloadrails-01a52dd1ad51034b10a8386db7b1aae83f32a59d.tar.gz
rails-01a52dd1ad51034b10a8386db7b1aae83f32a59d.tar.bz2
rails-01a52dd1ad51034b10a8386db7b1aae83f32a59d.zip
Fixed that :includes merged from with_scope won't cause the same association to be loaded more than once if repetition occurs in the clauses (closes #5253) [alex@purefiction.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4415 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/CHANGELOG3
-rwxr-xr-xactiverecord/lib/active_record/base.rb2
2 files changed, 4 insertions, 1 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index fa55eb147d..6f940f0d0f 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,9 +1,12 @@
*SVN*
+* Fixed that :includes merged from with_scope won't cause the same association to be loaded more than once if repetition occurs in the clauses #5253 [alex@purefiction.net]
+
* Allow models to override to_xml. #4989 [Blair Zajac <blair@orcaware.com>]
* PostgreSQL: don't ignore port when host is nil since it's often used to label the domain socket. #5247 [shimbo@is.naist.jp]
+>>>>>>> .r4414
* Records and arrays of records are bound as quoted ids. [Jeremy Kemper]
Foo.find(:all, :conditions => ['bar_id IN (?)', bars])
Foo.find(:first, :conditions => ['bar_id = ?', bar])
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 0a81681126..1583c28efe 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -1022,7 +1022,7 @@ module ActiveRecord #:nodoc:
# Merges includes so that the result is a valid +include+
def merge_includes(first, second)
- safe_to_array(first) + safe_to_array(second)
+ (safe_to_array(first) + safe_to_array(second)).uniq
end
# Object#to_a is deprecated, though it does have the desired behavior