Class/Module Index [+]

Quicksearch

Sequel::Swift::Database

Attributes

swift_class[RW]

The Swift adapter class being used by this database. Connections in this database's connection pool will be instances of this class.

Public Class Methods

new(opts) click to toggle source

Call the DATABASE_SETUP proc directly after initialization, so the object always uses sub adapter specific code. Also, raise an error immediately if the connection doesn't have a db_type specified, since one is required to include the correct subadapter.

# File lib/sequel/adapters/swift.rb, line 45
def initialize(opts)
  super
  if db_type = opts[:db_type] and !db_type.to_s.empty? 
    if prok = DATABASE_SETUP[db_type.to_s.to_sym]
      prok.call(self)
    else
      raise(Error, "No :db_type option specified")
    end
  else
    raise(Error, ":db_type option not valid, should be postgres, mysql, or sqlite")
  end
end

Public Instance Methods

connect(server) click to toggle source

Create an instance of swift_class for the given options.

# File lib/sequel/adapters/swift.rb, line 59
def connect(server)
  opts = server_opts(server)
  opts[:pass] = opts[:password]
  setup_connection(swift_class.new(opts))
end
execute(sql, opts={}) click to toggle source

Execute the given SQL, yielding a Swift::Result if a block is given.

# File lib/sequel/adapters/swift.rb, line 66
def execute(sql, opts={})
  synchronize(opts[:server]) do |conn|
    begin
      res = log_yield(sql){conn.execute(sql)}
      yield res if block_given?
      nil
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end
execute_dui(sql, opts={}) click to toggle source

Execute the SQL on the this database, returning the number of affected rows.

# File lib/sequel/adapters/swift.rb, line 80
def execute_dui(sql, opts={})
  synchronize(opts[:server]) do |conn|
    begin
      log_yield(sql){conn.execute(sql).affected_rows}
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end
execute_insert(sql, opts={}) click to toggle source

Execute the SQL on this database, returning the primary key of the table being inserted to.

# File lib/sequel/adapters/swift.rb, line 92
def execute_insert(sql, opts={})
  synchronize(opts[:server]) do |conn|
    begin
      log_yield(sql){conn.execute(sql).insert_id}
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.