jens.with@t-online.de writes:
> ***************
> *** 1575,1583 ****
> select percentile_disc(array[0,0.1,0.25,0.5,0.75,0.9,1]) within group
> (order by thousand)
> from tenk1;
> ! percentile_disc
> ! ----------------------------
> ! {0,99,249,499,749,899,999}
> (1 row)
> select percentile_cont(array[0,0.25,0.5,0.75,1]) within group (order by
> thousand)
> --- 1575,1583 ----
> select percentile_disc(array[0,0.1,0.25,0.5,0.75,0.9,1]) within group
> (order by thousand)
> from tenk1;
> ! percentile_disc
> ! -----------------------------
> ! {0,100,249,499,749,900,999}
> (1 row)
> select percentile_cont(array[0,0.25,0.5,0.75,1]) within group (order by
> thousand)
Odd. Given the lack of similar reports, it must be something rather
platform-specific. I'm afraid you're going to have to do some of your
own sleuthing. Just looking at the code, it seems like this might
be explainable as a roundoff-error problem, if somehow (double) 0.1
times 10000 gives a smidge more than 1000. But I wouldn't really
expect any modern platform to get that wrong. Unless maybe you're
using -ffast-math, or some other accuracy-sacrificing compiler option?
BTW, that test has been there since 9.4. Which earlier versions of PG
have you successfully tested on the same platform?
regards, tom lane