From 8dc09cd56b82c84f93471fdb97a3c7f64e886143 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Tue, 27 Jan 2004 07:23:08 +0000 Subject: Bug 225043 - enhance chart migration code to populate 'All Open' charts from historical data. Patch by gerv; r,a=justdave. --- checksetup.pl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'checksetup.pl') diff --git a/checksetup.pl b/checksetup.pl index 255fc56e0..a8a73ce43 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -3758,6 +3758,7 @@ if (!$series_exists) { $open_name, $::userid, 1, $query_prod . $query, 1); $series->writeToDatabase(); + $seriesids{$open_name} = $series->{'series_id'}; # Now, we attempt to read in historical data, if any # Convert the name in the same way that collectstats.pl does @@ -3772,20 +3773,33 @@ if (!$series_exists) { # The data files should be in a standard format, even for old # Bugzillas, because of the conversion code further up this file. my %data; + my $last_date = ""; while () { if (/^(\d+\|.*)/) { my @numbers = split(/\||\r/, $1); + + # Only take the first line for each date; it was possible to + # run collectstats.pl more than once in a day. + next if $numbers[0] eq $last_date; + for my $i (0 .. $#fields) { # $numbers[0] is the date $data{$fields[$i]}{$numbers[0]} = $numbers[$i + 1]; + + # Keep a total of the number of open bugs for this day + if (IsOpenedState($fields[$i])) { + $data{$open_name}{$numbers[0]} += $numbers[$i + 1]; + } } + + $last_date = $numbers[0]; } } close(IN); - foreach my $field (@fields) { + foreach my $field (@fields, $open_name) { # Insert values into series_data: series_id, date, value my %fielddata = %{$data{$field}}; foreach my $date (keys %fielddata) { -- cgit v1.2.3-24-g4f1b