aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-10-20 08:44:55 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2011-10-20 08:45:22 -0700
commitee9d9fb5fab3cfaa5055e5fb4225b720d3818c94 (patch)
tree995cc580842ce7c8cb24f836d6d8f606d368963a /activerecord/lib
parentef3e149db3e3e970236147fa1a3ba8e569b05c60 (diff)
downloadrails-ee9d9fb5fab3cfaa5055e5fb4225b720d3818c94.tar.gz
rails-ee9d9fb5fab3cfaa5055e5fb4225b720d3818c94.tar.bz2
rails-ee9d9fb5fab3cfaa5055e5fb4225b720d3818c94.zip
Merge pull request #3258 from ileitch/3-1-stable
Postgres: Do not attempt to deallocate a statement if the connection is no longer active.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index b7f346e050..3d084bb178 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -289,7 +289,13 @@ module ActiveRecord
end
def dealloc(key)
- @connection.query "DEALLOCATE #{key}"
+ @connection.query "DEALLOCATE #{key}" if connection_active?
+ end
+
+ def connection_active?
+ @connection.status == PGconn::CONNECTION_OK
+ rescue PGError
+ false
end
end