aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb32
-rw-r--r--activerecord/lib/active_record/connection_adapters/connection_specification.rb12
-rw-r--r--activerecord/lib/active_record/connection_handling.rb22
-rw-r--r--activerecord/lib/active_record/core.rb2
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb2
5 files changed, 35 insertions, 35 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
index 3968b59b8f..0498737b20 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -837,7 +837,7 @@ module ActiveRecord
alias :connection_pools :connection_pool_list
def establish_connection(spec)
- owner_to_pool[spec.id] = ConnectionAdapters::ConnectionPool.new(spec)
+ owner_to_pool[spec.name] = ConnectionAdapters::ConnectionPool.new(spec)
end
# Returns true if there are any active connections among the connection
@@ -868,18 +868,18 @@ module ActiveRecord
# active or defined connection: if it is the latter, it will be
# opened and set as the active connection for the class it was defined
# for (not necessarily the current class).
- def retrieve_connection(spec_id) #:nodoc:
- pool = retrieve_connection_pool(spec_id)
- raise ConnectionNotEstablished, "No connection pool with id #{spec_id} found." unless pool
+ def retrieve_connection(spec_name) #:nodoc:
+ pool = retrieve_connection_pool(spec_name)
+ raise ConnectionNotEstablished, "No connection pool with id #{spec_name} found." unless pool
conn = pool.connection
- raise ConnectionNotEstablished, "No connection for #{spec_id} in connection pool" unless conn
+ raise ConnectionNotEstablished, "No connection for #{spec_name} in connection pool" unless conn
conn
end
# Returns true if a connection that's accessible to this class has
# already been opened.
- def connected?(spec_id)
- conn = retrieve_connection_pool(spec_id)
+ def connected?(spec_name)
+ conn = retrieve_connection_pool(spec_name)
conn && conn.connected?
end
@@ -887,8 +887,8 @@ module ActiveRecord
# connection and the defined connection (if they exist). The result
# can be used as an argument for establish_connection, for easily
# re-establishing the connection.
- def remove_connection(spec_id)
- if pool = owner_to_pool.delete(spec_id)
+ def remove_connection(spec_name)
+ if pool = owner_to_pool.delete(spec_name)
pool.automatic_reconnect = false
pool.disconnect!
pool.spec.config
@@ -904,9 +904,9 @@ module ActiveRecord
# #fetch is significantly slower than #[]. So in the nil case, no caching will
# take place, but that's ok since the nil case is not the common one that we wish
# to optimise for.
- def retrieve_connection_pool(spec_id)
- owner_to_pool.fetch(spec_id) do
- if ancestor_pool = pool_from_any_process_for(spec_id)
+ def retrieve_connection_pool(spec_name)
+ owner_to_pool.fetch(spec_name) do
+ if ancestor_pool = pool_from_any_process_for(spec_name)
# A connection was established in an ancestor process that must have
# subsequently forked. We can't reuse the connection, but we can copy
# the specification and establish a new connection with it.
@@ -914,7 +914,7 @@ module ActiveRecord
pool.schema_cache = ancestor_pool.schema_cache if ancestor_pool.schema_cache
end
else
- owner_to_pool[spec_id] = nil
+ owner_to_pool[spec_name] = nil
end
end
end
@@ -925,9 +925,9 @@ module ActiveRecord
@owner_to_pool[Process.pid]
end
- def pool_from_any_process_for(spec_id)
- owner_to_pool = @owner_to_pool.values.find { |v| v[spec_id] }
- owner_to_pool && owner_to_pool[spec_id]
+ def pool_from_any_process_for(spec_name)
+ owner_to_pool = @owner_to_pool.values.find { |v| v[spec_name] }
+ owner_to_pool && owner_to_pool[spec_name]
end
end
end
diff --git a/activerecord/lib/active_record/connection_adapters/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
index 430937ae65..901c98b22b 100644
--- a/activerecord/lib/active_record/connection_adapters/connection_specification.rb
+++ b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
@@ -3,10 +3,10 @@ require 'uri'
module ActiveRecord
module ConnectionAdapters
class ConnectionSpecification #:nodoc:
- attr_reader :config, :adapter_method, :id
+ attr_reader :name, :config, :adapter_method
- def initialize(id, config, adapter_method)
- @id, @config, @adapter_method = id, config, adapter_method
+ def initialize(name, config, adapter_method)
+ @name, @config, @adapter_method = name, config, adapter_method
end
def initialize_dup(original)
@@ -164,7 +164,7 @@ module ActiveRecord
# spec.config
# # => { "host" => "localhost", "database" => "foo", "adapter" => "sqlite3" }
#
- def spec(config, id = nil)
+ def spec(config, name = nil)
spec = resolve(config).symbolize_keys
raise(AdapterNotSpecified, "database configuration does not specify adapter") unless spec.key?(:adapter)
@@ -180,13 +180,13 @@ module ActiveRecord
adapter_method = "#{spec[:adapter]}_connection"
- id ||=
+ name ||=
if config.is_a?(Symbol)
config.to_s
else
"primary"
end
- ConnectionSpecification.new(id, spec, adapter_method)
+ ConnectionSpecification.new(name, spec, adapter_method)
end
private
diff --git a/activerecord/lib/active_record/connection_handling.rb b/activerecord/lib/active_record/connection_handling.rb
index 7d01c4ea48..f363a2d21b 100644
--- a/activerecord/lib/active_record/connection_handling.rb
+++ b/activerecord/lib/active_record/connection_handling.rb
@@ -51,7 +51,7 @@ module ActiveRecord
resolver = ConnectionAdapters::ConnectionSpecification::Resolver.new configurations
# TODO: uses name on establish_connection, for backwards compatibility
spec = resolver.spec(spec, self == Base ? "primary" : name)
- self.specification_id = spec.id
+ self.specification_name = spec.name
unless respond_to?(spec.adapter_method)
raise AdapterNotFound, "database configuration specifies nonexistent #{spec.config[:adapter]} adapter"
@@ -91,15 +91,15 @@ module ActiveRecord
retrieve_connection
end
- attr_writer :specification_id
+ attr_writer :specification_name
# Return the specification id from this class otherwise look it up
# in the parent.
- def specification_id
- unless defined?(@specification_id)
- @specification_id = self == Base ? "primary" : superclass.specification_id
+ def specification_name
+ unless defined?(@specification_name)
+ @specification_name = self == Base ? "primary" : superclass.specification_name
end
- @specification_id
+ @specification_name
end
def connection_id
@@ -121,20 +121,20 @@ module ActiveRecord
end
def connection_pool
- connection_handler.retrieve_connection_pool(specification_id) or raise ConnectionNotEstablished
+ connection_handler.retrieve_connection_pool(specification_name) or raise ConnectionNotEstablished
end
def retrieve_connection
- connection_handler.retrieve_connection(specification_id)
+ connection_handler.retrieve_connection(specification_name)
end
# Returns +true+ if Active Record is connected.
def connected?
- connection_handler.connected?(specification_id)
+ connection_handler.connected?(specification_name)
end
- def remove_connection(id = specification_id)
- connection_handler.remove_connection(id)
+ def remove_connection(name = specification_name)
+ connection_handler.remove_connection(name)
end
def clear_cache! # :nodoc:
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb
index 291cabb4bb..4abe25e5b7 100644
--- a/activerecord/lib/active_record/core.rb
+++ b/activerecord/lib/active_record/core.rb
@@ -257,7 +257,7 @@ module ActiveRecord
# Returns the Arel engine.
def arel_engine # :nodoc:
@arel_engine ||=
- if Base == self || connection_handler.retrieve_connection_pool(specification_id)
+ if Base == self || connection_handler.retrieve_connection_pool(specification_name)
self
else
superclass.arel_engine
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index 6f5bb88d35..4fbc93496a 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -117,7 +117,7 @@ module ActiveRecord
end
def create_all
- old_pool = ActiveRecord::Base.connection_handler.retrieve_connection_pool(ActiveRecord::Base.specification_id)
+ old_pool = ActiveRecord::Base.connection_handler.retrieve_connection_pool(ActiveRecord::Base.specification_name)
each_local_configuration { |configuration| create configuration }
if old_pool
ActiveRecord::Base.connection_handler.establish_connection(old_pool.spec)