зеркало из https://github.com/mozilla/pjs.git
Bug 106377 - processmail rescanall should use lastdiffed
r=justdave, ddkilzer@theracingworld.com
This commit is contained in:
Родитель
49c0019ccf
Коммит
baadd21b72
|
@ -787,7 +787,8 @@ if ($action eq 'update') {
|
||||||
}
|
}
|
||||||
|
|
||||||
SendSQL("UPDATE bugs
|
SendSQL("UPDATE bugs
|
||||||
SET component=" . SqlQuote($component) . "
|
SET component=" . SqlQuote($component) . ",
|
||||||
|
delta_ts = delta_ts
|
||||||
WHERE component=" . SqlQuote($componentold) . "
|
WHERE component=" . SqlQuote($componentold) . "
|
||||||
AND product=" . SqlQuote($product));
|
AND product=" . SqlQuote($product));
|
||||||
SendSQL("UPDATE components
|
SendSQL("UPDATE components
|
||||||
|
|
|
@ -518,7 +518,7 @@ if ($action eq 'delete') {
|
||||||
}
|
}
|
||||||
SendSQL("SELECT bug_id FROM bugs WHERE (groupset & $bit)");
|
SendSQL("SELECT bug_id FROM bugs WHERE (groupset & $bit)");
|
||||||
if (FetchOneColumn()) {
|
if (FetchOneColumn()) {
|
||||||
SendSQL("UPDATE bugs SET groupset=(groupset-$bit) " .
|
SendSQL("UPDATE bugs SET groupset=(groupset-$bit), delta_ts=delta_ts " .
|
||||||
"WHERE (groupset & $bit)");
|
"WHERE (groupset & $bit)");
|
||||||
print "All bugs have had group bit $bit cleared. Any of these " .
|
print "All bugs have had group bit $bit cleared. Any of these " .
|
||||||
"bugs that were not also in another group are now " .
|
"bugs that were not also in another group are now " .
|
||||||
|
|
|
@ -530,7 +530,8 @@ if ($action eq 'update') {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
SendSQL("UPDATE bugs
|
SendSQL("UPDATE bugs
|
||||||
SET target_milestone=" . SqlQuote($milestone) . "
|
SET target_milestone=" . SqlQuote($milestone) . ",
|
||||||
|
delta_ts=delta_ts
|
||||||
WHERE target_milestone=" . SqlQuote($milestoneold) . "
|
WHERE target_milestone=" . SqlQuote($milestoneold) . "
|
||||||
AND product=" . SqlQuote($product));
|
AND product=" . SqlQuote($product));
|
||||||
SendSQL("UPDATE milestones
|
SendSQL("UPDATE milestones
|
||||||
|
|
|
@ -1004,7 +1004,7 @@ if ($action eq 'update') {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendSQL("UPDATE bugs SET product=$qp WHERE product=$qpold");
|
SendSQL("UPDATE bugs SET product=$qp, delta_ts=delta_ts WHERE product=$qpold");
|
||||||
SendSQL("UPDATE components SET program=$qp WHERE program=$qpold");
|
SendSQL("UPDATE components SET program=$qp WHERE program=$qpold");
|
||||||
SendSQL("UPDATE products SET product=$qp WHERE product=$qpold");
|
SendSQL("UPDATE products SET product=$qp WHERE product=$qpold");
|
||||||
SendSQL("UPDATE versions SET program=$qp WHERE program=$qpold");
|
SendSQL("UPDATE versions SET program=$qp WHERE program=$qpold");
|
||||||
|
|
|
@ -529,7 +529,8 @@ if ($action eq 'update') {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
SendSQL("UPDATE bugs
|
SendSQL("UPDATE bugs
|
||||||
SET version=" . SqlQuote($version) . "
|
SET version=" . SqlQuote($version) . ",
|
||||||
|
delta_ts = delta_ts
|
||||||
WHERE version=" . SqlQuote($versionold) . "
|
WHERE version=" . SqlQuote($versionold) . "
|
||||||
AND product=" . SqlQuote($product));
|
AND product=" . SqlQuote($product));
|
||||||
SendSQL("UPDATE versions
|
SendSQL("UPDATE versions
|
||||||
|
|
|
@ -831,15 +831,25 @@ if ($#ARGV == 1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($ARGV[0] eq "rescanall") {
|
if ($ARGV[0] eq "rescanall") {
|
||||||
print "<br> Collecting bug ids...\n";
|
print "Collecting bug ids...\n";
|
||||||
SendSQL("select bug_id from bugs where to_days(now()) - to_days(delta_ts) <= 2 order by bug_id");
|
SendSQL("select bug_id, lastdiffed, delta_ts from bugs where lastdiffed < delta_ts AND delta_ts < date_sub(now(), INTERVAL 30 minute) order by bug_id");
|
||||||
my @list;
|
my @list;
|
||||||
while (my @row = FetchSQLData()) {
|
while (my @row = FetchSQLData()) {
|
||||||
|
my $time = $row[2];
|
||||||
|
if ($time =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
|
||||||
|
$time = "$1-$2-$3 $4:$5:$6";
|
||||||
|
}
|
||||||
|
print STDERR "Bug $row[0] has unsent mail. lastdiffed is $row[1], delta_ts is $time.\n";
|
||||||
push @list, $row[0];
|
push @list, $row[0];
|
||||||
}
|
}
|
||||||
|
if (scalar(@list) > 0) {
|
||||||
|
print STDERR scalar(@list) . " bugs found with possibly unsent mail\n";
|
||||||
|
print STDERR "Updating bugs, sending mail if required\n";
|
||||||
|
} else {
|
||||||
|
print "All appropriate mail appears to have been sent\n"
|
||||||
|
}
|
||||||
foreach my $id (@list) {
|
foreach my $id (@list) {
|
||||||
if (detaint_natural($id)) {
|
if (detaint_natural($id)) {
|
||||||
print "<br> Doing bug $id\n";
|
|
||||||
ProcessOneBug($id);
|
ProcessOneBug($id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -582,6 +582,30 @@ if (@badbugs > 0) {
|
||||||
join (", ", @badbugs));
|
join (", ", @badbugs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# Unsent mail
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
Status("Checking for unsent mail");
|
||||||
|
|
||||||
|
@badbugs = ();
|
||||||
|
|
||||||
|
SendSQL("SELECT bug_id " .
|
||||||
|
"FROM bugs WHERE lastdiffed < delta_ts AND ".
|
||||||
|
"delta_ts < date_sub(now(), INTERVAL 30 minute) ".
|
||||||
|
"ORDER BY bug_id");
|
||||||
|
|
||||||
|
while (@row = FetchSQLData()) {
|
||||||
|
my ($id) = (@row);
|
||||||
|
push(@badbugs, $id);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (@badbugs > 0) {
|
||||||
|
Alert("Bugs that have changes but no mail sent for at least half an hour: " .
|
||||||
|
join (", ", @badbugs));
|
||||||
|
print("Run <code>processmail rescanall</code> to fix this<p>\n");
|
||||||
|
}
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# End
|
# End
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
Загрузка…
Ссылка в новой задаче