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);
}