Re: Fix typo function circle_same (src/backend/utils/adt/geo_ops.c) - Mailing list pgsql-hackers

From Daniel Gustafsson
Subject Re: Fix typo function circle_same (src/backend/utils/adt/geo_ops.c)
Date
Msg-id 3D72A7AE-9ED8-4AD5-B152-2C276FC5D886@yesql.se
Whole thread Raw
In response to Re: Fix typo function circle_same (src/backend/utils/adt/geo_ops.c)  (Ranier Vilela <ranier.vf@gmail.com>)
Responses Re: Fix typo function circle_same (src/backend/utils/adt/geo_ops.c)
List pgsql-hackers
> On 2 Sep 2022, at 21:22, Ranier Vilela <ranier.vf@gmail.com> wrote:
>
> Em sex., 2 de set. de 2022 às 16:15, Daniel Gustafsson <daniel@yesql.se <mailto:daniel@yesql.se>> escreveu:
> > On 2 Sep 2022, at 21:08, Ranier Vilela <ranier.vf@gmail.com <mailto:ranier.vf@gmail.com>> wrote:
>
> > At function circle_same the second isnan test is wrong.
>
> Yeah, that seems pretty wrong.  Did you attempt to procure a test for when this
> yields the wrong result?
> Hi Daniel,
> Unfortunately not.

On HEAD, the below query yields what seems to be the wrong result for the "same
as" operator:

postgres=# select '<(0,0),NaN>'::circle ~= '<(0,0),1>'::circle;
 ?column?
----------
 t
(1 row)

With the patch applied, it returns the expected:

postgres=# select '<(0,0),NaN>'::circle ~= '<(0,0),1>'::circle;
 ?column?
----------
 f
(1 row)

There seems to be surprisingly few tests around these geo operators?

This was introduced in c4c340088 so any fix needs to be backpatched to v12.  I
will do some more testing and digging to verify and will take care of it.

--
Daniel Gustafsson        https://vmware.com/




pgsql-hackers by date:

Previous
From: Ranier Vilela
Date:
Subject: Re: Fix typo function circle_same (src/backend/utils/adt/geo_ops.c)
Next
From: Andres Freund
Date:
Subject: Re: Minimum bison and flex versions