<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -262,22 +262,15 @@ class ActiveRecord::Base
         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? &amp;&amp; column_names[j] == primary_key &amp;&amp; val.nil?
-               my_values &lt;&lt; connection.next_value_for_sequence(sequence_name)
-            else
-               my_values &lt;&lt; connection.quote( val, columns[j] )
-            end
-          end
-          insert_statements &lt;&lt; &quot;INSERT INTO #{quoted_table_name} #{columns_sql} VALUES(&quot; + my_values.join( ',' ) + &quot;)&quot;
+          my_values = values_clause_for(arr, columns, column_names)
+          insert_statements &lt;&lt; &quot;INSERT INTO #{quoted_table_name} #{columns_sql} VALUES #{my_values};&quot;
           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 )
+        values_sql = array_of_attributes.map { |arr| values_clause_for(arr, columns, column_names) }
         post_sql_statements = connection.post_sql_statements( quoted_table_name, options )
         
         # perform the inserts
@@ -288,7 +281,19 @@ class ActiveRecord::Base
       
       number_inserted
     end
-    
+
+    def values_clause_for(arr, columns, column_names)
+      vals = []
+      arr.each_with_index do |val,j|
+        if !sequence_name.blank? &amp;&amp; column_names[j] == primary_key &amp;&amp; val.nil?
+           vals &lt;&lt; connection.next_value_for_sequence(sequence_name)
+        else
+           vals &lt;&lt; connection.quote( val, columns[j] )
+        end
+      end
+      &quot;(#{vals.join(',')})&quot;
+    end
+
     # Returns an array of quoted column names
     def quote_column_names( names ) 
       names.map{ |name| connection.quote_column_name( name ) }</diff>
      <filename>ar-extensions/lib/ar-extensions/import.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a74cc8aa70172507730484edf26ed0bcc2ae1055</id>
    </parent>
  </parents>
  <author>
    <name>mikewoodhouse</name>
    <email>mikewoodhouse@gmail.com</email>
  </author>
  <url>http://github.com/mikewoodhouse/ar-extensions/commit/b5d46648eed2a084f662be4bf9c255d0193411b5</url>
  <id>b5d46648eed2a084f662be4bf9c255d0193411b5</id>
  <committed-date>2009-02-13T06:37:41-08:00</committed-date>
  <authored-date>2009-02-13T06:37:41-08:00</authored-date>
  <message>When support_import? is true, value lists were being generated with id (where needed) set to NULL.</message>
  <tree>339d960932d24341cc934523bda865da38e2a42e</tree>
  <committer>
    <name>mikewoodhouse</name>
    <email>mikewoodhouse@gmail.com</email>
  </committer>
</commit>
