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

Changeset 5637

Show
Ignore:
Timestamp:
11/26/06 22:10:55 (2 years ago)
Author:
david
Message:

Only reload connections in development mode that supports (and requires that) -- in other words, only do it for SQLite (closes #6687, #6700) [DHH]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1-2-pre-release/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb

    r5481 r5637  
    8080      end 
    8181 
     82      # Returns true if its safe to reload the connection between requests for development mode. 
     83      # This is not the case for Ruby/MySQL and it's not necessary for any adapters except SQLite. 
     84      def supports_reloading? 
     85        false 
     86      end 
     87 
    8288      # Lazily verify this connection, calling +active?+ only if it hasn't 
    8389      # been called for +timeout+ seconds.        
  • branches/1-2-pre-release/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb

    r4460 r5637  
    8585        clear_cache!(@@active_connections) do |name, conn| 
    8686          conn.disconnect! 
     87        end 
     88      end 
     89       
     90      # Clears the cache which maps classes  
     91      def clear_reloadable_connections! 
     92        @@active_connections.each do |name, conn| 
     93          conn.disconnect! if conn.supports_reloading? 
     94          @@active_connections.delete(name) 
    8795        end 
    8896      end 
  • branches/1-2-pre-release/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb

    r5353 r5637  
    100100 
    101101      def supports_migrations? #:nodoc: 
     102        true 
     103      end 
     104 
     105      def supports_reloading? 
    102106        true 
    103107      end 
  • branches/1-2-pre-release/railties/lib/dispatcher.rb

    r5627 r5637  
    6363      end 
    6464         
    65       ActiveRecord::Base.clear_active_connections! if defined?(ActiveRecord) 
     65      ActiveRecord::Base.clear_reloadable_connections! if defined?(ActiveRecord) 
    6666    end 
    6767     
     
    7777      unless identifier.nil? 
    7878        callback = preparation_callbacks.detect { |ident, _| ident == identifier } 
     79 
    7980        if callback # Already registered: update the existing callback 
    8081          callback[-1] = block 
     
    8283        end 
    8384      end 
     85 
    8486      preparation_callbacks << [identifier, block] 
    85       nil 
     87 
     88      return 
    8689    end 
    8790 
  • trunk/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb

    r5480 r5637  
    8080      end 
    8181 
     82      # Returns true if its safe to reload the connection between requests for development mode. 
     83      # This is not the case for Ruby/MySQL and it's not necessary for any adapters except SQLite. 
     84      def supports_reloading? 
     85        false 
     86      end 
     87 
    8288      # Lazily verify this connection, calling +active?+ only if it hasn't 
    8389      # been called for +timeout+ seconds.        
  • trunk/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb

    r4460 r5637  
    8585        clear_cache!(@@active_connections) do |name, conn| 
    8686          conn.disconnect! 
     87        end 
     88      end 
     89       
     90      # Clears the cache which maps classes  
     91      def clear_reloadable_connections! 
     92        @@active_connections.each do |name, conn| 
     93          conn.disconnect! if conn.supports_reloading? 
     94          @@active_connections.delete(name) 
    8795        end 
    8896      end 
  • trunk/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb

    r5520 r5637  
    100100 
    101101      def supports_migrations? #:nodoc: 
     102        true 
     103      end 
     104 
     105      def supports_reloading? 
    102106        true 
    103107      end 
  • trunk/railties/lib/dispatcher.rb

    r5627 r5637  
    6363      end 
    6464         
    65       ActiveRecord::Base.clear_active_connections! if defined?(ActiveRecord) 
     65      ActiveRecord::Base.clear_reloadable_connections! if defined?(ActiveRecord) 
    6666    end 
    6767     
     
    7777      unless identifier.nil? 
    7878        callback = preparation_callbacks.detect { |ident, _| ident == identifier } 
     79 
    7980        if callback # Already registered: update the existing callback 
    8081          callback[-1] = block 
     
    8283        end 
    8384      end 
     85 
    8486      preparation_callbacks << [identifier, block] 
    85       nil 
     87 
     88      return 
    8689    end 
    8790