Module: Sequel::TemporarilyReleaseConnection::PoolMethods
- Defined in:
- lib/sequel/extensions/temporarily_release_connection.rb
Instance Method Summary collapse
- 
  
    
      #temporarily_release_connection(conn, server)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Temporarily release a currently checked out connection, then yield to the block. 
Instance Method Details
#temporarily_release_connection(conn, server) ⇒ Object
Temporarily release a currently checked out connection, then yield to the block. Reacquire the same connection upon the exit of the block.
| 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | # File 'lib/sequel/extensions/temporarily_release_connection.rb', line 75 def temporarily_release_connection(conn, server) t = Sequel.current raise Error, "connection not currently checked out" unless conn.equal?(trc_owned_connection(t, server)) begin trc_release(t, conn, server) yield ensure c = trc_acquire(t, server) unless conn.equal?(c) raise UnableToReacquireConnectionError, "reacquired connection not the same as initial connection" end end end |