Class | Sequel::DBI::Database |
In: |
lib/sequel/adapters/dbi.rb
|
Parent: | Sequel::Database |
DBI_ADAPTERS | = | { :ado => "ADO", :db2 => "DB2", :frontbase => "FrontBase", :interbase => "InterBase", :msql => "Msql", :mysql => "Mysql", :odbc => "ODBC", :oracle => "Oracle", :pg => "pg", :proxy => "Proxy", :sqlite => "SQLite", :sqlrelay => "SQLRelay" |
# File lib/sequel/adapters/dbi.rb, line 23 23: def initialize(opts) 24: super(opts) 25: case opts[:db_type] 26: when 'mssql' 27: Sequel.require 'adapters/shared/mssql' 28: extend Sequel::MSSQL::DatabaseMethods 29: end 30: end
# File lib/sequel/adapters/dbi.rb, line 51 51: def connect(server) 52: opts = server_opts(server) 53: dbname = opts[:database] 54: if dbname !~ /^DBI:/ then 55: dbname = "DBI:#{dbname}" 56: [:host, :port].each{|sym| dbname += ";#{sym}=#{opts[sym]}" unless blank_object?(opts[sym])} 57: end 58: ::DBI.connect(dbname, opts[:user], opts[:password]) 59: end
# File lib/sequel/adapters/dbi.rb, line 61 61: def dataset(opts = nil) 62: DBI::Dataset.new(self, opts) 63: end
# File lib/sequel/adapters/dbi.rb, line 74 74: def do(sql, opts={}) 75: log_info(sql) 76: synchronize(opts[:server]){|conn| conn.do(sql)} 77: end