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

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: Kirill Reshke <reshkekirill(at)gmail(dot)com>, 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-23 03:43:02
Message-ID: CAGRkXqSFL35o-wR2jgmXbeVaRKxADEsLNOcTQFShHCUddZB-bw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Andrey,
> I found two false negatives with v2, on fresh indexes.

Thanks, I reproduced both. v3 attached. 0001 is Kirill's v2 unchanged,
0002 fixes your cases, with tests that fail without it.

1. BRIN now asks the mergeable function about the first value too, by
merging it with itself. No change for inet.

2. GiST internal pages no longer prune ~= when the query has a NaN.
There is nothing safe to compare it with.

0002 also stops gist_box_union() from copying a NaN first entry.

Thanks,
Shihao

Attachment Content-Type Size
v3-0001-Fix-NaN-handling-in-BRIN-box_inclusion_ops-and-Gi.patch application/octet-stream 14.5 KB
v3-0002-Fix-NaN-false-negatives-in-BRIN-and-GiST-box-inde.patch application/octet-stream 5.8 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Daniel Gustafsson 2026-09-23 07:15:47 Re: BUG #19711: SSH tunnel with PPK identity file fails/crashes in newer pgAdmin version but works in older version
Previous Message Tom Lane 2026-09-22 16:52:43 Re: BUG #19649: Qual pushdown into GROUP BY subqueries ignores non-equivalence-preserving references to grouping col