Bug 299653: sanitycheck.cgi should catch missing bugs.creation_ts - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=wurblzap a=justdave

This commit is contained in:
lpsolit%gmail.com 2005-12-13 20:41:24 +00:00
Родитель aab82c55c3
Коммит 485135af48
1 изменённых файлов: 31 добавлений и 0 удалений

Просмотреть файл

@ -187,6 +187,32 @@ if (defined $cgi->param('createmissinggroupcontrolmapentries')) {
Status("Repaired $counter defective group control settings.");
}
###########################################################################
# Fix missing creation date
###########################################################################
if (defined $cgi->param('repair_creation_date')) {
Status("OK, now fixing missing bug creation dates");
my $bug_ids = $dbh->selectcol_arrayref('SELECT bug_id FROM bugs
WHERE creation_ts IS NULL');
my $sth_UpdateDate = $dbh->prepare('UPDATE bugs SET creation_ts = ?
WHERE bug_id = ?');
# All bugs have an entry in the 'longdescs' table when they are created,
# even if 'commentoncreate' is turned off.
my $sth_getDate = $dbh->prepare('SELECT MIN(bug_when) FROM longdescs
WHERE bug_id = ?');
foreach my $bugid (@$bug_ids) {
$sth_getDate->execute($bugid);
my $date = $sth_getDate->fetchrow_array;
$sth_UpdateDate->execute($date, $bugid);
}
Status(scalar(@$bug_ids) . " bugs have been fixed.");
}
###########################################################################
# Send unsent mail
###########################################################################
@ -692,6 +718,11 @@ sub BugCheck {
}
}
Status("Checking for bugs with no creation date (which makes them invisible)");
BugCheck("bugs WHERE creation_ts IS NULL", "Bugs with no creation date",
"repair_creation_date", "Repair missing creation date for these bugs");
Status("Checking resolution/duplicates");
BugCheck("bugs INNER JOIN duplicates ON bugs.bug_id = duplicates.dupe " .