diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-04 01:05:19 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-04 01:05:19 +0100 |
commit | eca11bfdb5d3cf375faf8a24e2dc0cc5abd20f92 (patch) | |
tree | d4c36dc7a14a280a948577f065132f74186f3891 /activerecord/lib/active_record/base.rb | |
parent | b0947bf97c0ac313799f6f1ca739b5666f5fe19f (diff) | |
parent | a68165833a7ba50a1e3d731afe8934d19e3ced99 (diff) | |
download | rails-eca11bfdb5d3cf375faf8a24e2dc0cc5abd20f92.tar.gz rails-eca11bfdb5d3cf375faf8a24e2dc0cc5abd20f92.tar.bz2 rails-eca11bfdb5d3cf375faf8a24e2dc0cc5abd20f92.zip |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activerecord/lib/active_record/base.rb')
-rwxr-xr-x | activerecord/lib/active_record/base.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 70776c7aa2..ec7725d256 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1510,11 +1510,17 @@ module ActiveRecord #:nodoc: end def active_relation_table(table_name_alias = nil) - Arel::Table.new(table_name, :as => table_name_alias) + Arel::Table.new(table_name, :as => table_name_alias, :engine => active_relation_engine) end def active_relation_engine - @active_relation_engine ||= Arel::Sql::Engine.new(self) + @active_relation_engine ||= begin + if self == ActiveRecord::Base + Arel::Table.engine + else + connection_handler.connection_pools[name] ? Arel::Sql::Engine.new(self) : superclass.active_relation_engine + end + end end private |