Re: GiST multirange index scans can fail to return rows

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Subject: Re: GiST multirange index scans can fail to return rows
Date: 2026-08-02 06:12:34
Message-ID: 7C160A14-448B-40A2-8C2E-6017B293DA56@yandex-team.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 1 Aug 2026, at 20:01, Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>
> <0001-Add-regression-test-for-multirange-GiST-containment-.patch>

Hi Peter,

I agree with the test and also think this is a bug. The check in
multirange_gist_consistent() is too strict and rejects tuples that
should reach the recheck. I think we should use
range_gist_consistent_int_multirange() for this case. Using the
internal predicate for every strategy would also be correct, but would
weaken filtering and, IMO, cause unnecessary heap rechecks.

PFA v2 patch set. The first patch is your test, and the second is the
fix as I see it.

Thanks!

Best regards, Andrey Borodin.

Attachment Content-Type Size
v2-0001-Add-regression-test-for-multirange-GiST-contained.patch application/octet-stream 3.8 KB
v2-0001-Add-regression-test-for-multirange-GiST-contained.patch application/octet-stream 3.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2026-08-02 07:03:01 Re: GiST multirange index scans can fail to return rows
Previous Message Yugo Nagata 2026-08-02 04:39:23 Re: Incremental View Maintenance, take 2 (design considerations)