Re: BUG #19340: Wrong result from CORR() function
Dean Rasheed <dean.a.rasheed@gmail.com>
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Oleg Ivanov <o15611@gmail.com>, Laurenz Albe <laurenz.albe@cybertec.at>, pgsql-bugs@lists.postgresql.org
Date: 2025-12-02T23:03:45Z
Lists: pgsql-bugs
On Tue, 2 Dec 2025 at 20:26, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I experimented with the attached patch, which is very incomplete; > I just carried it far enough to be able to run performance checks on > the modified code, and so all the binary statistics aggregates except > corr() are broken. I observe about 2% slowdown on this test case: I played around with having just 2 extra array elements, constX and constY equal to the common value if all the values are the same, and NaN otherwise. For me, that was slightly faster, which I put down to floating point comparison being faster than converting back and forth between floating point and integer. Either way, it seems like a difference that no one is likely to notice. Doing it that way does lead to one difference though: all-NaN inputs leads to a NaN result, whereas your patch produces NULL for that case. Regards, Dean