print "Updating reporter.schedule with new runner and replacing email addresses.\n";
-my $update_schedule = qq/UPDATE reporter.schedule SET runner = ?, email = regexp_replace(email, ?, ?) WHERE runner = ? AND complete_time IS NULL/;
-$sth = $dbh->prepare("$update_schedule");
-$sth->execute($user_id2, $email1, $email2, $user_id1);
+if (defined($email1) && defined($email2)) {
+ my $update_schedule = qq/UPDATE reporter.schedule SET runner = ?, email = regexp_replace(email, ?, ?) WHERE runner = ? AND complete_time IS NULL/;
+ $sth = $dbh->prepare("$update_schedule");
+ $sth->execute($user_id2, $email1, $email2, $user_id1);
+} elsif (defined($email2)) {
+ my $update_schedule = qq/UPDATE reporter.schedule SET runner = ?, email = email || ? WHERE runner = ? AND complete_time IS NULL/;
+ $sth = $dbh->prepare("$update_schedule");
+ $sth->execute($user_id2, $email2, $user_id1);
+} else {
+ my $update_schedule = qq/UPDATE reporter.schedule SET runner = ? WHERE runner = ? AND complete_time IS NULL/;
+ $sth = $dbh->prepare("$update_schedule");
+ $sth->execute($user_id2, $user_id1);
+}
$dbh->commit;
-
-
# clean up
$dbh->disconnect();