Module: ActiveRecord::Import::AbstractAdapter::ClassMethods
- Included in:
- ConnectionAdapters::AbstractAdapter
- Defined in:
- lib/activerecord-import/adapters/abstract_adapter.rb
Instance Method Summary collapse
Instance Method Details
#get_insert_value_sets(values, sql_size, max_bytes) ⇒ Object
:nodoc:
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 6 def get_insert_value_sets( values, sql_size, max_bytes ) # :nodoc: value_sets = [] arr, current_arr_values_size, current_size = [], 0, 0 values.each_with_index do |val,i| comma_bytes = arr.size sql_size_thus_far = sql_size + current_size + val.size + comma_bytes if NO_MAX_PACKET == max_bytes or sql_size_thus_far <= max_bytes current_size += val.bytesize arr << val else value_sets << arr arr = [ val ] current_size = val.bytesize end # if we're on the last iteration push whatever we have in arr to value_sets value_sets << arr if i == (values.size-1) end [ *value_sets ] end |