aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
diff options
context:
space:
mode:
authorMichael Schuerig <michael@schuerig.de>2009-04-05 01:19:29 +0200
committerMichael Koziarski <michael@koziarski.com>2009-06-26 16:52:54 +1200
commit53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee (patch)
treee1f8734cd8b0cc68b99a1acb7c4cde8435204713 /activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
parent18a97a66017452dbe6cf6881c69d7a7dedc7a7bd (diff)
downloadrails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.tar.gz
rails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.tar.bz2
rails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.zip
Translate adapter errors that indicate a violated uniqueness constraint to ActiveRecord::RecordNotUnique exception derived from ActiveReecord::StatementInvalid.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rwxr-xr-xactiverecord/lib/active_record/connection_adapters/abstract_adapter.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index 91b111ab55..c533d4cdb6 100755
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -211,9 +211,14 @@ module ActiveRecord
@last_verification = 0
message = "#{e.class.name}: #{e.message}: #{sql}"
log_info(message, name, 0)
- raise ActiveRecord::StatementInvalid, message
+ raise translate_exception(e, message)
end
+ def translate_exception(e, message)
+ # override in derived class
+ ActiveRecord::StatementInvalid.new(message)
+ end
+
def format_log_entry(message, dump = nil)
if ActiveRecord::Base.colorize_logging
if @@row_even