| 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 29
29: def self.dataset(*args)
30: ds = super
31: ds.extend Sequel::MSSQL::DatasetMethods
32: ds
33: end
# File lib/sequel/adapters/dbi.rb, line 23
23: def initialize(opts)
24: super
25: case @opts[:db_type]
26: when 'mssql'
27: Sequel.ts_require 'adapters/shared/mssql'
28: extend Sequel::MSSQL::DatabaseMethods
29: def self.dataset(*args)
30: ds = super
31: ds.extend Sequel::MSSQL::DatasetMethods
32: ds
33: end
34: end
35: end
# File lib/sequel/adapters/dbi.rb, line 56
56: def connect(server)
57: opts = server_opts(server)
58: dbname = opts[:database]
59: if dbname !~ /^DBI:/ then
60: dbname = "DBI:#{dbname}"
61: [:host, :port].each{|sym| dbname += ";#{sym}=#{opts[sym]}" unless blank_object?(opts[sym])}
62: end
63: ::DBI.connect(dbname, opts[:user], opts[:password])
64: end
# File lib/sequel/adapters/dbi.rb, line 66
66: def dataset(opts = nil)
67: DBI::Dataset.new(self, opts)
68: end
# File lib/sequel/adapters/dbi.rb, line 78
78: def do(sql, opts={})
79: synchronize(opts[:server]){|conn| log_yield(sql){conn.do(sql)}}
80: end