Bug 257351: collectstats.pl dies if an invalid series is defined - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
git-svn-id: svn://10.0.0.236/trunk@232393 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -324,7 +324,7 @@ sub sql_group_by {
|
||||
my ($self, $needed_columns, $optional_columns) = @_;
|
||||
|
||||
my $expression = "GROUP BY $needed_columns";
|
||||
$expression .= ", " . $optional_columns if defined($optional_columns);
|
||||
$expression .= ", " . $optional_columns if $optional_columns;
|
||||
|
||||
return $expression;
|
||||
}
|
||||
|
||||
@@ -579,22 +579,19 @@ sub CollectSeriesData {
|
||||
# We set up the user for Search.pm's permission checking - each series
|
||||
# runs with the permissions of its creator.
|
||||
my $user = new Bugzilla::User($serieses->{$series_id}->{'creator'});
|
||||
|
||||
my $cgi = new Bugzilla::CGI($serieses->{$series_id}->{'query'});
|
||||
my $search = new Bugzilla::Search('params' => $cgi,
|
||||
'fields' => ["bugs.bug_id"],
|
||||
'user' => $user);
|
||||
my $sql = $search->getSQL();
|
||||
|
||||
my $data;
|
||||
|
||||
# We can't die if we get dodgy SQL back for whatever reason, so we
|
||||
# eval() this and, if it fails, just ignore it and carry on.
|
||||
# One day we might even log an error.
|
||||
eval {
|
||||
|
||||
# Do not die if Search->new() detects invalid data, such as an obsolete
|
||||
# login name or a renamed product or component, etc.
|
||||
eval {
|
||||
my $search = new Bugzilla::Search('params' => $cgi,
|
||||
'fields' => ["bugs.bug_id"],
|
||||
'user' => $user);
|
||||
my $sql = $search->getSQL();
|
||||
$data = $shadow_dbh->selectall_arrayref($sql);
|
||||
};
|
||||
|
||||
|
||||
if (!$@) {
|
||||
# We need to count the returned rows. Without subselects, we can't
|
||||
# do this directly in the SQL for all queries. So we do it by hand.
|
||||
|
||||
Reference in New Issue
Block a user