Module: ActiveRecord::Persistence::ClassMethods
- Defined in:
- lib/active_record/connection_adapters/ibm_db_adapter.rb
Instance Method Summary collapse
Instance Method Details
#_insert_record(connection, values, returning) ⇒ Object
:nodoc:
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 121 def _insert_record(connection, values, returning) # :nodoc: primary_key = self.primary_key primary_key_value = nil if prefetch_primary_key? && primary_key values[primary_key] ||= begin primary_key_value = next_sequence_value _default_attributes[primary_key].with_cast_value(primary_key_value) end end im = Arel::InsertManager.new(arel_table) with_connection do |c| if values.empty? im.insert(connection.empty_insert_statement_value(primary_key, arel_table[name].relation.name)) else im.insert(values.transform_keys { |name| arel_table[name] }) end connection.insert( im, "#{self} Create", primary_key || false, primary_key_value, returning: returning ) end end |