Thread

  1. Re: BUG #19340: Wrong result from CORR() function

    Dean Rasheed <dean.a.rasheed@gmail.com> — 2025-12-02T23:03:45Z

    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