rails/rails — pull request #5718 by benedikt (2012-04-03 15:05:18+00:00)
Title: Removes caching from ActiveRecord::Core::ClassMethods#relation

The `#relation` method gets called in four places and the return value was instantly cloned in three of them. The only place that did not clone was `ActiveRecord::Scoping::Default::ClassMethods#unscoped`. This introduced a bug described in #5667 and should really clone the relation, too. This means all four places would clone the relation, so it doesn't make a lot of sense caching it in the first place.

The four places with calls to relations are:

```
activerecord/lib/active_record/scoping/default.rb:110:in `block in build_default_scope'"
activerecord/lib/active_record/scoping/default.rb:42:in `unscoped'"
activerecord/lib/active_record/scoping/named.rb:38:in `scoped'"
activerecord/lib/active_record/scoping/named.rb:52:in `scope_attributes'"
```