Class ActiveRecord::ConnectionAdapters::DB2Adapter
In: vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
Parent: AbstractAdapter

The DB2 adapter works with the C-based CLI driver (raa.ruby-lang.org/project/ruby-db2/).

Options:

  • :username — Defaults to nothing
  • :password — Defaults to nothing
  • :database — The name of the database. No default, must be provided.

Methods

Public Instance methods

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 86
86:         def adapter_name()
87:           'DB2'
88:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 94
94:         def add_limit_with_offset!(sql, limit, offset)
95:           raise ArgumentError, 'add_limit_with_offset! not implemented'
96:         end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 98
 98:         def add_limit_without_offset!(sql, limit)
 99:           sql << " FETCH FIRST #{limit} ROWS ONLY"
100:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 68
68:         def begin_db_transaction
69:           @connection.set_auto_commit_off
70:         end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 102
102:         def columns(table_name, name = nil)
103:           stmt = DB2::Statement.new(@connection)
104:           result = []
105: 
106:           stmt.columns(table_name.upcase).each do |c| 
107:             c_name = c[3].downcase
108:             c_default = c[12] == 'NULL' ? nil : c[12]
109:             c_type = c[5].downcase
110:             c_type += "(#{c[6]})" if !c[6].nil? && c[6] != ''
111:             result << Column.new(c_name, c_default, c_type)
112:           end 
113: 
114:           stmt.free
115:           result
116:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 72
72:         def commit_db_transaction
73:           @connection.commit
74:           @connection.set_auto_commit_on
75:         end
delete(sql, name = nil)

Alias for execute

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 52
52:         def execute(sql, name = nil)
53:           rows_affected = 0
54: 
55:           log(sql, name) do
56:             stmt = DB2::Statement.new(@connection)
57:             stmt.exec_direct(sql)
58:             rows_affected = stmt.row_count
59:             stmt.free
60:           end
61: 
62:           rows_affected
63:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 47
47:         def insert(sql, name = nil, pk = nil, id_value = nil)
48:           execute(sql, name = nil)
49:           id_value || last_insert_id
50:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 82
82:         def quote_column_name(column_name)
83:           column_name
84:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 90
90:         def quote_string(string)
91:           string.gsub(/'/, "''") # ' (for ruby-mode)
92:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 77
77:         def rollback_db_transaction
78:           @connection.rollback
79:           @connection.set_auto_commit_on
80:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 39
39:         def select_all(sql, name = nil)
40:           select(sql, name)
41:         end

[Source]

    # File vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb, line 43
43:         def select_one(sql, name = nil)
44:           select(sql, name).first
45:         end
update(sql, name = nil)

Alias for execute

[Validate]