class Sequel::SingleConnectionPool

This is the fastest connection pool, since it isn't a connection pool at all. It is just a wrapper around a single connection that uses the connection pool API.

Public Instance Methods

all_connections() { |conn| ... } click to toggle source

Yield the connection if one has been made.

# File lib/sequel/connection_pool/single.rb, line 6
def all_connections
  yield @conn if @conn
end
disconnect(opts=nil) click to toggle source

Disconnect the connection from the database.

# File lib/sequel/connection_pool/single.rb, line 11
def disconnect(opts=nil)
  return unless @conn
  db.disconnect_connection(@conn)
  @conn = nil
end
hold(server=nil) { |conn ||= make_new(DEFAULT_SERVER)| ... } click to toggle source

Yield the connection to the block.

# File lib/sequel/connection_pool/single.rb, line 18
def hold(server=nil)
  begin
    yield(@conn ||= make_new(DEFAULT_SERVER))
  rescue Sequel::DatabaseDisconnectError
    disconnect
    raise
  end
end
max_size() click to toggle source

The SingleConnectionPool always has a maximum size of 1.

# File lib/sequel/connection_pool/single.rb, line 28
def max_size
  1
end
pool_type() click to toggle source
# File lib/sequel/connection_pool/single.rb, line 32
def pool_type
  :single
end
size() click to toggle source

The SingleConnectionPool always has a size of 1 if connected and 0 if not.

# File lib/sequel/connection_pool/single.rb, line 38
def size
  @conn ? 1 : 0
end

Private Instance Methods

preconnect() click to toggle source

Make sure there is a valid connection.

# File lib/sequel/connection_pool/single.rb, line 45
def preconnect
  hold{}
end