method
pin_connection!
v7.2.3 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::ConnectionPool
pin_connection!(lock_thread)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb, line 336
def pin_connection!(lock_thread) # :nodoc:
@pinned_connection ||= (connection_lease&.connection || checkout)
@pinned_connections_depth += 1
# Any leased connection must be in @connections otherwise
# some methods like #connected? won't behave correctly
unless @connections.include?(@pinned_connection)
@connections << @pinned_connection
end
@pinned_connection.lock_thread = ActiveSupport::IsolatedExecutionState.context if lock_thread
@pinned_connection.pinned = true
@pinned_connection.verify! # eagerly validate the connection
@pinned_connection.begin_transaction joinable: false, _lazy: false
end