aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2009-06-26 16:59:27 +1200
committerMichael Koziarski <michael@koziarski.com>2009-06-26 17:01:21 +1200
commitb5dfdc714fab7d2836e0a979ca88b4a17db9ec06 (patch)
tree642341d623b59be813290765dd08dc4b64eab464 /activerecord/lib/active_record/connection_adapters
parent00a5fd3d18ac908af688c5944922cf69c56e850b (diff)
downloadrails-b5dfdc714fab7d2836e0a979ca88b4a17db9ec06.tar.gz
rails-b5dfdc714fab7d2836e0a979ca88b4a17db9ec06.tar.bz2
rails-b5dfdc714fab7d2836e0a979ca88b4a17db9ec06.zip
Make sure the wrapped exceptions also have the original exception available.
[#2419 state:committed]
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/mysql_adapter.rb4
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb4
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb2
3 files changed, 5 insertions, 5 deletions
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