aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
diff options
context:
space:
mode:
authorMark J. Titorenko <mark@titorenko.net>2011-06-13 02:14:18 +0100
committerMark J. Titorenko <mark@titorenko.net>2011-10-07 10:05:51 +0100
commitf41b58d3b25eb57ba5c890b713301ba2e3fcb9b7 (patch)
treef07ff60695b4dea17355f8967e696682b5343b18 /activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
parent3088d23647899212f20bb8969f2084393a9e71cd (diff)
downloadrails-f41b58d3b25eb57ba5c890b713301ba2e3fcb9b7.tar.gz
rails-f41b58d3b25eb57ba5c890b713301ba2e3fcb9b7.tar.bz2
rails-f41b58d3b25eb57ba5c890b713301ba2e3fcb9b7.zip
use thread locals and an instance variable within QueryCache#BodyProxy to maintain appropriate linkage with AR database connection across threads
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb8
1 files changed, 8 insertions, 0 deletions
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 c08c0263b9..3d0f146fed 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb
@@ -115,6 +115,14 @@ module ActiveRecord
retrieve_connection
end
+ def connection_id
+ Thread.current['ActiveRecord::Base.connection_id']
+ end
+
+ def connection_id=(connection_id)
+ Thread.current['ActiveRecord::Base.connection_id'] = connection_id
+ end
+
# Returns the configuration of the associated connection as a hash:
#
# ActiveRecord::Base.connection_config