Re: BUG #19705: One NaN box makes a BRIN box_inclusion_ops index omit unrelated rows

From: John Naylor <johncnaylorls(at)gmail(dot)com>
To: shihao zhong <zhong950419(at)gmail(dot)com>
Cc: tomas(at)vondra(dot)me, heikki(dot)linnakangas(at)iki(dot)fi, manuelreyesbravo(at)gmail(dot)com, reshkekirill(at)gmail(dot)com, x4mmm(at)yandex-team(dot)ru, kehan5800(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19705: One NaN box makes a BRIN box_inclusion_ops index omit unrelated rows
Date: 2026-09-30 07:48:33
Message-ID: CANWCAZZmuP9xsDv+k6WrKAfQK-_6pzRDF4XrPQHuQxEj-qSSyA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Sep 30, 2026 at 12:30 PM shihao zhong <zhong950419(at)gmail(dot)com> wrote:
> One box with a NaN coordinate gets into a BRIN or GiST union key, and
> v6 from Sep 28 has four patches. 0001 fixes BRIN with a box_mergeable
> support function, master only. 0002 fixes GiST union keys and the ~=
> case. 0003 is Kirill's NaN point check for polygon and circle
> searches, it also corrects a count in create_index.out where the index
> scan has returned 4 and the seq scan 5. 0004 fixes GiST KNN. 0002 to
> 0004 go back to 14 with small rebases. For the back branches the BRIN
> fix is v6-REL_18-0001, the scan checks whether the union contains
> itself, no catalog change. That check would also do for master if you
> would rather skip the catversion bump. Old indexes return correct
> results without a REINDEX with either approach.

The following might be relevant as a different perspective:

https://www.postgresql.org/message-id/1122078.1741378100@sss.pgh.pa.us

--
John Naylor
Amazon Web Services

In response to

Browse pgsql-bugs by date

  From Date Subject
Previous Message Iliia Khaprov 2026-09-30 06:14:51 Re: Assertion failure in _bt_pagedel (leafblkno == scanblkno) after interrupted VACUUM