BUG #2477: Aggregate Integer divisors incorrectly yield integer-type quotient

Поиск
Список
Период
Сортировка
От John Rylander
Тема BUG #2477: Aggregate Integer divisors incorrectly yield integer-type quotient
Дата
Msg-id 200606112108.k5BL809v009920@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #2477: Aggregate Integer divisors incorrectly yield integer-type quotient  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: BUG #2477: Aggregate Integer divisors incorrectly yield integer-type quotient  ("Jim C. Nasby" <jnasby@pervasive.com>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      2477
Logged by:          John Rylander
Email address:      rylander@prolexia.com
PostgreSQL version: 8.1.4
Operating system:   Windows XP :(
Description:        Aggregate Integer divisors incorrectly yield
integer-type quotient
Details:

When for some reason I did a sum/count instead of an avg, the result was
always an integer (either 0 or 1):

Sum(
    Case when Sign(Delta)=Sign(AvgDelta) then
       1
    else
       0
   ) / Count(*) as HitRate;

If I use "/ Count(*)::float4", or use Avg instead of Sum/Count, it works
fine.

Yet another maddening PostgreSQL bug/idiosyncrasy.  Time for this boy to go
to Oracle (not because of this, but because of the function->transaction
problem, such that a function that has nested loops that create myriad
temporary analytical tables necessarily runs out of disk space; if it
weren't for the mandatory and completely counterproductive implicit
transaction, it'd take very little space and a lot less time).  :(

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [GENERAL] Error Starting Back END
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #2477: Aggregate Integer divisors incorrectly yield integer-type quotient