aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-07-25 16:59:19 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-07-25 16:59:19 -0700
commit0dc356e733d5a06b2d6d7cfe643dfe7f3f3e02fd (patch)
tree75d6d96a14e51b4f634472756f773621bb1b07ed /activerecord/lib
parentb5c2384a6132e3031e77e66632c07afaaa83cf91 (diff)
parent4b1bca04025a66c54e6e9d5eb6e4d4056bfa92f0 (diff)
downloadrails-0dc356e733d5a06b2d6d7cfe643dfe7f3f3e02fd.tar.gz
rails-0dc356e733d5a06b2d6d7cfe643dfe7f3f3e02fd.tar.bz2
rails-0dc356e733d5a06b2d6d7cfe643dfe7f3f3e02fd.zip
Merge pull request #6654 from stevecj/postgresql-auto-reconnect-2
Postgresql auto reconnect 2
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb3
1 files changed, 2 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 a57a532ba2..71a84011bc 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -474,6 +474,7 @@ module ActiveRecord
def reconnect!
clear_cache!
@connection.reset
+ @open_transactions = 0
configure_connection
end
@@ -1381,7 +1382,7 @@ module ActiveRecord
UNIQUE_VIOLATION = "23505"
def translate_exception(exception, message)
- case exception.result.error_field(PGresult::PG_DIAG_SQLSTATE)
+ case exception.result.try(:error_field, PGresult::PG_DIAG_SQLSTATE)
when UNIQUE_VIOLATION
RecordNotUnique.new(message, exception)
when FOREIGN_KEY_VIOLATION