def import_without_validations_or_callbacks( column_names, array_of_attributes, options={} )
escaped_column_names = quote_column_names( column_names )
columns = []
array_of_attributes.first.each_with_index { |arr,i| columns << columns_hash[ column_names[i] ] }
if not supports_import?
columns_sql = "(" + escaped_column_names.join( ',' ) + ")"
insert_statements, values = [], []
number_inserted = 0
array_of_attributes.each do |arr|
my_values = []
arr.each_with_index do |val,j|
if !sequence_name.blank? && column_names[j] == primary_key && val.nil?
my_values << connection.next_value_for_sequence(sequence_name)
else
my_values << connection.quote( val, columns[j] )
end
end
insert_statements << "INSERT INTO #{quoted_table_name} #{columns_sql} VALUES(" + my_values.join( ',' ) + ")"
connection.execute( insert_statements.last )
number_inserted += 1
end
else
insert_sql = connection.multiple_value_sets_insert_sql( quoted_table_name, escaped_column_names, options )
values_sql = connection.values_sql_for_column_names_and_attributes( columns, array_of_attributes )
post_sql_statements = connection.post_sql_statements( quoted_table_name, options )
number_inserted = connection.insert_many( [ insert_sql, post_sql_statements ].flatten,
values_sql,
"#{self.class.name} Create Many Without Validations Or Callbacks" )
end
number_inserted
end