# File ar-extensions/lib/ar-extensions/import.rb, line 255
    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
        # generate the sql
        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 )
        
        # perform the inserts
        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