class 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=OPTS) click to toggle source
# File lib/sequel/adapters/swift.rb, line 41
def initialize(opts=OPTS)
  Sequel.require "adapters/swift/#{opts[:db_type]}" if %wpostgres mysql sqlite'.include?(opts[:db_type].to_s)
  super
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 47
def connect(server)
  opts = server_opts(server)
  opts[:pass] = opts[:password]
  setup_connection(swift_class.new(opts))
end
execute(sql, opts=OPTS) { |res| ... } click to toggle source

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

# File lib/sequel/adapters/swift.rb, line 54
def execute(sql, opts=OPTS)
  synchronize(opts[:server]) do |conn|
    begin
      res = log_connection_yield(sql, conn){conn.execute(sql)}
      yield res if block_given?
      nil
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end
execute_dui(sql, opts=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 68
def execute_dui(sql, opts=OPTS)
  synchronize(opts[:server]) do |conn|
    begin
      log_connection_yield(sql, conn){conn.execute(sql).affected_rows}
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end
execute_insert(sql, opts=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 80
def execute_insert(sql, opts=OPTS)
  synchronize(opts[:server]) do |conn|
    begin
      log_connection_yield(sql, conn){conn.execute(sql).insert_id}
    rescue ::Swift::Error => e
      raise_error(e)
    end
  end
end