Re: Wrong results from in_range() tests with infinite offset

Dean Rasheed <dean.a.rasheed@gmail.com>

From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-07-16T23:47:14Z
Lists: pgsql-hackers
On Thu, 16 Jul 2020, 22:50 Tom Lane, <tgl@sss.pgh.pa.us> wrote:

> I wrote:
> > When the current row's value is +infinity, actual computation of
> > base - offset would yield NaN, making it a bit unclear whether
> > we should consider -infinity to be in-range.  It seems to me that
> > we should, as that gives more natural-looking results in the test
> > cases, so that's how the patch does it.
>
> Actually, after staring at those results awhile longer, I decided
> they were wrong.  The results shown here seem actually sane ---
> for instance, -Infinity shouldn't "infinitely precede" itself,
> I think.  (Maybe if you got solipsistic enough you could argue
> that that is valid, but it seems pretty bogus.)
>

Hmm, that code looks a bit fishy to me, but I really need to think about it
some more. I'll take another look tomorrow, and maybe it'll become clearer.

Regards,
Dean

Commits

  1. Fix some corner cases for window ranges with infinite offsets.