Author: spadkins
Date: Mon Jan 29 15:05:36 2007
New Revision: 8749

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

Log:
insert_rows(): allow the update options to update only a subset of all of the 
inserted columns

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       Mon Jan 29 
15:05:36 2007
@@ -189,11 +189,14 @@
         }
     }
     if (!$options->{replace} && $options->{update}) {
+        my $update = $options->{update};
         $sql .= "on duplicate key update";
         for ($colnum = 0; $colnum <= $#$cols; $colnum++) {
             $col = $cols->[$colnum];
-            $sql .= "," if ($colnum > 0);
-            $sql .= "\n   $col = values($col)";
+            if (!ref($update) || $update->{$col}) {
+                $sql .= "," if ($colnum > 0);
+                $sql .= "\n   $col = values($col)";
+            }
         }
         $sql .= "\n";
     }

Reply via email to