diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index bb9a9b1b581db8f7a2c1de5878a9b409336cb842..a8a530e1d545577f769d151a77f7d0d9476fcfa5 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -353,11 +353,12 @@ def close protected - def translate_exception(e, sql) + def translate_exception_class(e, sql) message = "#{e.class.name}: #{e.message}: #{sql}" @logger.error message if @logger exception = translate_exception(e, message) exception.set_backtrace e.backtrace + exception end def log(sql, name = "SQL", binds = [], statement_name = nil) @@ -369,7 +370,7 @@ def log(sql, name = "SQL", binds = [], statement_name = nil) :statement_name => statement_name, :binds => binds) { yield } rescue => e - raise translate_exception(e, sql) + raise translate_exception_class(e, sql) end def translate_exception(exception, message) diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index ebbe918442b8228826c04eb6be7747d5f348cfe4..a47138304129a73cbea3c450e122c3382d3db4af 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -856,7 +856,7 @@ def prepare_statement(sql) begin @connection.prepare nextkey, sql rescue => e - raise translate_exception(e, sql) + raise translate_exception_class(e, sql) end # Clear the queue @connection.get_last_result