diff options
4 files changed, 21 insertions, 8 deletions
| diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 40b8b2c3c8..959a1069fd 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,7 @@  *SVN* +* Deprecated ActiveRecord::Base.threaded_connection in favor of ActiveRecord::Base.allow_concurrency. +  * Protect id attribute from mass assigment even when the primary key is set to something else. #2438. [Blair Zajac <blair@orcaware.com>]  * Misc doc fixes (typos/grammar/etc.). #2430. [coffee2code] diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 16d9579ed0..b28247769f 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -235,7 +235,7 @@ module ActiveRecord #:nodoc:      # also be used to "borrow" the connection to do database work unrelated      # to any of the specific Active Records.      def self.connection -      if @@threaded_connections +      if allow_concurrency          retrieve_connection        else          @connection ||= retrieve_connection @@ -301,9 +301,9 @@ module ActiveRecord #:nodoc:      # Determines whether or not to use a connection for each thread, or a single shared connection for all threads.      # Defaults to true; Railties' WEBrick server sets this to false. -    cattr_accessor :threaded_connections -    @@threaded_connections = true - +    cattr_accessor :allow_concurrency +    @@allow_concurrency = true +          # Determines whether to speed up access by generating optimized reader      # methods to avoid expensive calls to method_missing when accessing      # attributes by name. You might want to set this to false in development @@ -787,6 +787,17 @@ module ActiveRecord #:nodoc:        def ===(object)          object.is_a?(self)        end       + +      # Deprecated  +      def threaded_connections +        allow_concurrency +      end + +      # Deprecated  +      def threaded_connections=(value) +        self.allow_concurrency = value +      end +        private          # Finder methods must instantiate through this method to work with the single-table inheritance model @@ -932,7 +943,7 @@ module ActiveRecord #:nodoc:          end          def scope_constraints -          if @@threaded_connections +          if allow_concurrency              Thread.current[:constraints] ||= {}              Thread.current[:constraints][self] ||= {}            else @@ -943,7 +954,7 @@ module ActiveRecord #:nodoc:          alias_method :scope_constrains, :scope_constraints           def scope_constraints=(value) -          if @@threaded_connections +          if allow_concurrency              Thread.current[:constraints] ||= {}              Thread.current[:constraints][self] = value            else diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb index caf4ba75de..b5ddef32af 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb @@ -62,7 +62,7 @@ module ActiveRecord      end      def self.active_connections #:nodoc: -      if threaded_connections +      if allow_concurrency          Thread.current['active_connections'] ||= {}        else          @@active_connections ||= {} diff --git a/activerecord/test/threaded_connections_test.rb b/activerecord/test/threaded_connections_test.rb index 54175843c8..177c6c7e13 100644 --- a/activerecord/test/threaded_connections_test.rb +++ b/activerecord/test/threaded_connections_test.rb @@ -12,7 +12,7 @@ class ThreadedConnectionsTest < Test::Unit::TestCase    end    def gather_connections(use_threaded_connections) -    ActiveRecord::Base.threaded_connections = use_threaded_connections +    ActiveRecord::Base.allow_concurrency = use_threaded_connections      ActiveRecord::Base.establish_connection(@connection)      5.times do | 
