Class Index [+]

Quicksearch

Sequel::ODBC::Database

Constants

GUARDED_DRV_NAME
DRV_NAME_GUARDS
DISCONNECT_ERRORS

Public Class Methods

new(opts) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 12
12:       def initialize(opts)
13:         super
14:         case @opts[:db_type]
15:         when 'mssql'
16:           Sequel.ts_require 'adapters/odbc/mssql'
17:           extend Sequel::ODBC::MSSQL::DatabaseMethods
18:           @dataset_class = Sequel::ODBC::MSSQL::Dataset
19:           set_mssql_unicode_strings
20:         when 'progress'
21:           Sequel.ts_require 'adapters/shared/progress'
22:           extend Sequel::Progress::DatabaseMethods
23:           extend_datasets(Sequel::Progress::DatasetMethods)
24:         when 'db2'
25:           Sequel.ts_require 'adapters/shared/db2'
26:           extend ::Sequel::DB2::DatabaseMethods
27:           extend_datasets ::Sequel::DB2::DatasetMethods
28:         end
29:       end

Public Instance Methods

connect(server) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 31
31:       def connect(server)
32:         opts = server_opts(server)
33:         if opts.include? :driver
34:           drv = ::ODBC::Driver.new
35:           drv.name = 'Sequel ODBC Driver130'
36:           opts.each do |param, value|
37:             if :driver == param and not (value =~ GUARDED_DRV_NAME)
38:               value = DRV_NAME_GUARDS % value
39:             end
40:             drv.attrs[param.to_s.upcase] = value.to_s
41:           end
42:           db = ::ODBC::Database.new
43:           conn = db.drvconnect(drv)
44:         else
45:           conn = ::ODBC::connect(opts[:database], opts[:user], opts[:password])
46:         end
47:         conn.autocommit = true
48:         conn
49:       end
do(sql, opts={}) click to toggle source
Alias for: execute_dui
execute(sql, opts={}) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 51
51:       def execute(sql, opts={})
52:         synchronize(opts[:server]) do |conn|
53:           begin
54:             r = log_yield(sql){conn.run(sql)}
55:             yield(r) if block_given?
56:           rescue ::ODBC::Error, ArgumentError => e
57:             raise_error(e)
58:           ensure
59:             r.drop if r
60:           end
61:           nil
62:         end
63:       end
execute_dui(sql, opts={}) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 65
65:       def execute_dui(sql, opts={})
66:         synchronize(opts[:server]) do |conn|
67:           begin
68:             log_yield(sql){conn.do(sql)}
69:           rescue ::ODBC::Error, ArgumentError => e
70:             raise_error(e)
71:           end
72:         end
73:       end
Also aliased as: do

Private Instance Methods

connection_execute_method() click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 78
78:       def connection_execute_method
79:         :do
80:       end
database_error_classes() click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 82
82:       def database_error_classes
83:         [::ODBC::Error]
84:       end
disconnect_connection(c) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 86
86:       def disconnect_connection(c)
87:         c.disconnect
88:       end
disconnect_error?(e, opts) click to toggle source
    # File lib/sequel/adapters/odbc.rb, line 90
90:       def disconnect_error?(e, opts)
91:         super || (e.is_a?(::ODBC::Error) && DISCONNECT_ERRORS.match(e.message))
92:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.