aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/base.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-01-04 01:05:19 +0100
committerJosé Valim <jose.valim@gmail.com>2010-01-04 01:05:19 +0100
commiteca11bfdb5d3cf375faf8a24e2dc0cc5abd20f92 (patch)
treed4c36dc7a14a280a948577f065132f74186f3891 /activerecord/lib/active_record/base.rb
parentb0947bf97c0ac313799f6f1ca739b5666f5fe19f (diff)
parenta68165833a7ba50a1e3d731afe8934d19e3ced99 (diff)
downloadrails-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-xactiverecord/lib/active_record/base.rb10
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