mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Expose connections available in the connection pool.
This commit is contained in:
parent
d382e93d8f
commit
cccb998800
3 changed files with 5 additions and 1 deletions
|
@ -56,7 +56,7 @@ module ActiveRecord
|
|||
# * +wait_timeout+: number of seconds to block and wait for a connection
|
||||
# before giving up and raising a timeout error (default 5 seconds).
|
||||
class ConnectionPool
|
||||
attr_reader :spec
|
||||
attr_reader :spec, :connections
|
||||
|
||||
# Creates a new ConnectionPool object. +spec+ is a ConnectionSpecification
|
||||
# object which describes database connection information (e.g. adapter,
|
||||
|
|
|
@ -579,6 +579,8 @@ module ActiveRecord
|
|||
protected
|
||||
|
||||
def translate_exception(exception, message)
|
||||
return super unless exception.respond_to?(:errno)
|
||||
|
||||
case exception.errno
|
||||
when 1062
|
||||
RecordNotUnique.new(message, exception)
|
||||
|
|
|
@ -61,12 +61,14 @@ class PooledConnectionsTest < ActiveRecord::TestCase
|
|||
checkout_checkin_connections 1, 2
|
||||
assert_equal 2, @connection_count
|
||||
assert_equal 0, @timed_out
|
||||
assert_equal 1, ActiveRecord::Base.connection_pool.connections.size
|
||||
end
|
||||
|
||||
def test_pooled_connection_checkin_two
|
||||
checkout_checkin_connections 2, 3
|
||||
assert_equal 3, @connection_count
|
||||
assert_equal 0, @timed_out
|
||||
assert_equal 1, ActiveRecord::Base.connection_pool.connections.size
|
||||
end
|
||||
|
||||
def test_pooled_connection_checkout_existing_first
|
||||
|
|
Loading…
Reference in a new issue