Author: spadkins
Date: Tue Jan 23 15:51:52 2007
New Revision: 8688

Modified:
   p5ee/trunk/App-Repository/lib/App/Repository/MySQL.pm

Log:
fix recent features I just added

Modified: p5ee/trunk/App-Repository/lib/App/Repository/MySQL.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/MySQL.pm       (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/MySQL.pm       Tue Jan 23 
15:51:52 2007
@@ -188,11 +188,14 @@
             $sql .= ($rownum < $#$rows) ? "),\n" : ")\n";
         }
     }
-    if ($options->{update}) {
+    if (!$options->{replace} && $options->{update}) {
         $sql .= "on duplicate key update";
-        foreach $col (@$cols) {
+        for ($colnum = 0; $colnum <= $#$cols; $colnum++) {
+            $col = $cols->[$colnum];
+            $sql .= "," if ($colnum > 0);
             $sql .= "\n   $col = values($col)";
         }
+        $sql .= "\n";
     }
     &App::sub_exit($sql) if ($App::trace);
     $sql;
@@ -227,7 +230,7 @@
             $rownum2 = $#$rows if ($rownum2 > $#$rows);
             @current_rows = @{$rows}[($rownum .. $rownum2)];
 
-            $sql = $self->_mk_insert_rows_sql($table, $cols, [EMAIL 
PROTECTED]);
+            $sql = $self->_mk_insert_rows_sql($table, $cols, [EMAIL 
PROTECTED], $options);
             if ($debug_sql) {
                 print "DEBUG_SQL: _insert_rows()\n";
                 print $sql;
@@ -263,7 +266,7 @@
         while (1) {
             $rows = $self->_read_rows_from_file($fh, $cols, \%options);
             last if ($#$rows == -1);
-            $sql = $self->_mk_insert_rows_sql($table, $cols, $rows);
+            $sql = $self->_mk_insert_rows_sql($table, $cols, $rows, $options);
             if ($debug_sql) {
                 print "DEBUG_SQL: _insert_rows()\n";
                 print $sql;
@@ -324,7 +327,7 @@
     }
     my $rows_ref = ref($rows);
     if ($rows_ref eq "ARRAY") {
-        $sql = $self->_mk_insert_rows_sql($table, $cols, $rows);
+        $sql = $self->_mk_insert_rows_sql($table, $cols, $rows, $options);
         if ($debug_sql) {
             print "DEBUG_SQL: _insert_rows()\n";
             print $sql;
@@ -355,7 +358,7 @@
         while (1) {
             $rows = $self->_read_rows_from_file($fh, $cols, \%options);
             last if ($#$rows == -1);
-            $sql = $self->_mk_insert_rows_sql($table, $cols, $rows);
+            $sql = $self->_mk_insert_rows_sql($table, $cols, $rows, $options);
             print $sqlfh $sql, ";\n";
             $nrows += ($#$rows + 1);
         }

Reply via email to