creating some conditionals based on the existence/nonexistence of email addresses
authorChris Sharp <csharp@georgialibraries.org>
Tue, 11 Sep 2012 13:28:05 +0000 (09:28 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Tue, 11 Sep 2012 13:28:05 +0000 (09:28 -0400)
change_reports_owner.pl

index ddad2eb..38c86e6 100755 (executable)
@@ -104,13 +104,21 @@ foreach my $table (@tables) {
 
 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();