From b5dfdc714fab7d2836e0a979ca88b4a17db9ec06 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Fri, 26 Jun 2009 16:59:27 +1200 Subject: Make sure the wrapped exceptions also have the original exception available. [#2419 state:committed] --- activerecord/lib/active_record/connection_adapters/mysql_adapter.rb | 4 ++-- .../lib/active_record/connection_adapters/postgresql_adapter.rb | 4 ++-- activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'activerecord/lib/active_record/connection_adapters') diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb index ae065e6bc1..83cb9cff15 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -568,9 +568,9 @@ module ActiveRecord def translate_exception(exception, message) case exception.errno when 1062 - RecordNotUnique.new(message) + RecordNotUnique.new(message, exception) when 1452 - InvalidForeignKey.new(message) + InvalidForeignKey.new(message, exception) else super end diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 24482aa19a..e77ae93c21 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -944,9 +944,9 @@ module ActiveRecord def translate_exception(exception, message) case exception.message when /duplicate key value violates unique constraint/ - RecordNotUnique.new(message) + RecordNotUnique.new(message, exception) when /violates foreign key constraint/ - InvalidForeignKey.new(message) + InvalidForeignKey.new(message, exception) else super end diff --git a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb index 1c2688ba9d..5e5e30776a 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb @@ -435,7 +435,7 @@ module ActiveRecord def translate_exception(exception, message) case exception.message when /column(s)? .* (is|are) not unique/ - RecordNotUnique.new(message) + RecordNotUnique.new(message, exception) else super end -- cgit v1.2.3