Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 3002

Show
Ignore:
Timestamp:
11/13/05 10:32:17 (3 years ago)
Author:
bitsweat
Message:

r3046@asus: jeremy | 2005-11-13 02:31:21 -0800
AbstractAdapter#reconnect_if_inactive! returns boolean success. AbstractAdapter#log alters exception message on reconnect failure rather than raising ConnectionFailed.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb

    r3001 r3002  
    6868          end 
    6969        rescue Exception => e 
    70           log_info("#{e.message}: #{sql}", name, 0) 
    71           reconnect_if_inactive! 
    72           raise ActiveRecord::StatementInvalid, "#{e.message}: #{sql}" 
     70          message = "#{e.class.name}: #{e.message}: #{sql}" 
     71          unless reconnect_if_inactive! 
     72            message = "(reconnect failed) #{message}" 
     73          end 
     74          log_info(message, name, 0) 
     75          raise ActiveRecord::StatementInvalid, message 
    7376        end 
    7477 
     
    109112              @@reconnect_success += 1 
    110113              @logger.info "#{adapter_name} automatically reconnected.  Success rate: #{'%.2f' % self.class.reconnect_success_rate}%" if @logger 
     114              true 
    111115            else 
    112116              @@reconnect_failure += 1 
    113117              @logger.warn "#{adapter_name} automatic reconnection failed.  Success rate: #{'%.2f' % self.class.reconnect_success_rate}%" if @logger 
    114               raise ActiveRecord::ConnectionFailed 
     118              false 
    115119            end 
    116120          else