Re: BUG #19700: PostgreSQL: an SP-GiST index on `inet` makes IPv6 rows invisible

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Kirill Reshke <reshkekirill(at)gmail(dot)com>
Cc: kehan5800(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19700: PostgreSQL: an SP-GiST index on `inet` makes IPv6 rows invisible
Date: 2026-09-21 09:28:50
Message-ID: 3225FD6C-2EFB-4738-83D6-5DA864D60E48@yandex-team.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 21 Sep 2026, Kirill Reshke wrote:
> So, I updated inet_spg_choose to support the 'allTheSame' case.

The code changes look correct. Could the new comment explain that
checkAllTheSame() can exclude the incoming tuple? Here picksplit did
separate the families, but the remaining old tuples all went to one
node. The file header also needs an exception to its claim that a
prefixless tuple has exactly two family-specific nodes.

Could we add regression coverage for both the original missing-rows case
and this insertion case, checking searches for both families afterwards?
The latter is a separate bug and should fail even with just the
picksplit fix applied. It would be useful to cover IPv4 arriving after
IPv6 duplicates too.

In inner_consistent, checking allTheSame first would let both cases use
the existing visit-all-nodes branch.

I'd also suggest to add the reporter's REINDEX warning into the commit
message. And few words of what is going on would be helpful too.

Thank you!

Best regards, Andrey Borodin.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andrey Borodin 2026-09-21 10:17:40 Re: BUG #19698: IMPORT FOREIGN SCHEMA treats a NOT VALID NOT NULL constraint as validated
Previous Message Ayush Tiwari 2026-09-21 08:54:08 Re: BUG #19710: Incorrect DELETE result after LEFT JOIN optimization