зеркало из https://github.com/mozilla/pjs.git
Bug 316971: [PostgreSQL] ./collectstats.pl --regenerate fails - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
This commit is contained in:
Родитель
bec8fb6f81
Коммит
22f9b41f4d
|
@ -1124,6 +1124,13 @@ formatted SQL command have prefix C<sql_>. All other methods have prefix C<bz_>.
|
|||
Returns: formatted SQL for limiting number of rows returned from query
|
||||
with optional offset (e.g. LIMIT 1, 1) (scalar)
|
||||
|
||||
=item C<sql_from_days>
|
||||
|
||||
Description: Outputs SQL syntax for converting Julian days to date.
|
||||
Abstract method, should be overriden by database specific code.
|
||||
Params: $days = days to convert to date
|
||||
Returns: formatted SQL for returning Julian days in dates. (scalar)
|
||||
|
||||
=item C<sql_to_days>
|
||||
|
||||
Description: Outputs SQL syntax for converting date to Julian days.
|
||||
|
|
|
@ -133,6 +133,12 @@ sub sql_istring {
|
|||
return $string;
|
||||
}
|
||||
|
||||
sub sql_from_days {
|
||||
my ($self, $days) = @_;
|
||||
|
||||
return "FROM_DAYS($days)";
|
||||
}
|
||||
|
||||
sub sql_to_days {
|
||||
my ($self, $date) = @_;
|
||||
|
||||
|
|
|
@ -111,6 +111,12 @@ sub sql_limit {
|
|||
}
|
||||
}
|
||||
|
||||
sub sql_from_days {
|
||||
my ($self, $days) = @_;
|
||||
|
||||
return "TO_TIMESTAMP(${days}::int, 'J')::date";
|
||||
}
|
||||
|
||||
sub sql_to_days {
|
||||
my ($self, $date) = @_;
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ sub regenerate_stats {
|
|||
$dbh->sql_to_days('current_date') . " AS end, " .
|
||||
$dbh->sql_to_days("'1970-01-01'") .
|
||||
" FROM bugs $from_product WHERE " .
|
||||
$dbh->sql_to_days('creation_ts') . " != 'NULL'" .
|
||||
$dbh->sql_to_days('creation_ts') . " IS NOT NULL " .
|
||||
$and_product .
|
||||
" ORDER BY start " . $dbh->sql_limit(1));
|
||||
|
||||
|
@ -316,8 +316,8 @@ FIN
|
|||
# Get a list of bugs that were created the previous day, and
|
||||
# add those bugs to the list of bugs for this product.
|
||||
SendSQL("SELECT bug_id FROM bugs $from_product " .
|
||||
"WHERE bugs.creation_ts < from_days(" . ($day - 1) . ") " .
|
||||
"AND bugs.creation_ts >= from_days(" . ($day - 2) . ") " .
|
||||
" WHERE bugs.creation_ts < " . $dbh->sql_from_days($day - 1) .
|
||||
" AND bugs.creation_ts >= " . $dbh->sql_from_days($day - 2) .
|
||||
$and_product .
|
||||
" ORDER BY bug_id");
|
||||
|
||||
|
@ -354,8 +354,8 @@ FIN
|
|||
" ON bugs_activity.fieldid = fielddefs.fieldid " .
|
||||
" WHERE fielddefs.name = 'bug_status' " .
|
||||
" AND bugs_activity.bug_id = $bug " .
|
||||
" AND bugs_activity.bug_when >= from_days($day) " .
|
||||
"ORDER BY bugs_activity.bug_when " .
|
||||
" AND bugs_activity.bug_when >= " . $dbh->sql_from_days($day) .
|
||||
" ORDER BY bugs_activity.bug_when " .
|
||||
$dbh->sql_limit(1));
|
||||
|
||||
my $status;
|
||||
|
@ -377,8 +377,8 @@ FIN
|
|||
" ON bugs_activity.fieldid = fielddefs.fieldid " .
|
||||
" WHERE fielddefs.name = 'resolution' " .
|
||||
" AND bugs_activity.bug_id = $bug " .
|
||||
" AND bugs_activity.bug_when >= from_days($day) " .
|
||||
"ORDER BY bugs_activity.bug_when " .
|
||||
" AND bugs_activity.bug_when >= " . $dbh->sql_from_days($day) .
|
||||
" ORDER BY bugs_activity.bug_when " .
|
||||
$dbh->sql_limit(1));
|
||||
|
||||
if (@row = FetchSQLData()) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче