aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
diff options
context:
space:
mode:
authorNick Sieger <nick@nicksieger.com>2008-08-22 11:43:20 -0500
committerNick Sieger <nick@nicksieger.com>2008-08-29 14:12:12 -0500
commita96b7d4c33757364a19ed1fc34f0a89801b8b2d7 (patch)
treecaf325b1a09493e6ca4c150b762484020a5688ea /activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
parentd7d2d73d88e465cb0c618283862179accd8932e1 (diff)
downloadrails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.tar.gz
rails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.tar.bz2
rails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.zip
Add connection reset and verification upon each connection checkout
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
index 988f85e909..365c80fe1d 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -261,12 +261,17 @@ module ActiveRecord
def checkout_new_connection
c = new_connection
@connections << c
- @checked_out << c
- c
+ checkout_and_verify(c)
end
def checkout_existing_connection
c = (@connections - @checked_out).first
+ checkout_and_verify(c)
+ end
+
+ def checkout_and_verify(c)
+ c.reset!
+ c.verify!(verification_timeout)
@checked_out << c
c
end