diff options
author | Xavier Noria <fxn@hashref.com> | 2011-03-05 01:10:00 +0100 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2011-03-05 01:35:02 +0100 |
commit | 3b10b8a201d9fbef831be81d7a4bc9b82c75a6f4 (patch) | |
tree | fb2ece5916c226cdb0e00200bbc0286c1e9e110b /activerecord | |
parent | 28f1c21b50c17f9be9ea581c3a878186efb5b9ec (diff) | |
download | rails-3b10b8a201d9fbef831be81d7a4bc9b82c75a6f4.tar.gz rails-3b10b8a201d9fbef831be81d7a4bc9b82c75a6f4.tar.bz2 rails-3b10b8a201d9fbef831be81d7a4bc9b82c75a6f4.zip |
implements ActiveRecord::Base.connection_config to be able to check the configuration of the current connection at runtime
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/CHANGELOG | 3 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb | 10 | ||||
-rw-r--r-- | activerecord/test/cases/pooled_connections_test.rb | 5 |
3 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 92848c8a7d..8b4e9a34cb 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,8 @@ *Rails 3.1.0 (unreleased)* +* The configuration for the current database connection is now accessible via + ActiveRecord::Base.connection_config. [fxn] + * limits and offsets are removed from COUNT queries unless both are supplied. For example: diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb index 3716937689..d88720c8bf 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb @@ -89,6 +89,16 @@ module ActiveRecord retrieve_connection end + # Returns the configuration of the associated connection as a hash: + # + # ActiveRecord::Base.connection_config + # # => {:pool=>5, :timeout=>5000, :database=>"db/development.sqlite3", :adapter=>"sqlite3"} + # + # Please use only for reading. + def connection_config + connection_pool.spec.config + end + def connection_pool connection_handler.retrieve_connection_pool(self) end diff --git a/activerecord/test/cases/pooled_connections_test.rb b/activerecord/test/cases/pooled_connections_test.rb index 6269437b14..379cf5b44e 100644 --- a/activerecord/test/cases/pooled_connections_test.rb +++ b/activerecord/test/cases/pooled_connections_test.rb @@ -94,6 +94,11 @@ class PooledConnectionsTest < ActiveRecord::TestCase ActiveRecord::Base.connection_handler = old_handler end + def test_connection_config + ActiveRecord::Base.establish_connection(@connection) + assert_equal @connection, ActiveRecord::Base.connection_config + end + def test_with_connection_nesting_safety ActiveRecord::Base.establish_connection(@connection.merge({:pool => 1, :wait_timeout => 0.1})) |