Re: Fw:Re: Fw: gbt_var_consistent in contrib/btree_gist/btree_utils_var.c has internal-node type confusion on the <> strategy, bypassing exclusion constraints

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>
Cc: 王跃林 <violin0613(at)tju(dot)edu(dot)cn>, pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, 3764353996 <3764353996(at)qq(dot)com>
Subject: Re: Fw:Re: Fw: gbt_var_consistent in contrib/btree_gist/btree_utils_var.c has internal-node type confusion on the <> strategy, bypassing exclusion constraints
Date: 2026-07-03 19:36:09
Message-ID: 4139380.1783107369@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com> writes:
> On Fri, 3 Jul 2026 at 19:20, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> BTW, thinking some more about 0004: isn't it pointless to check
>> gbt_var_node_pf_match in the gbt_var_consistent cases that
>> only constrain the lower bound, that is LessEqual and Less?

> Hmm, looks like the || gbt_var_node_pf_match(...) clause isn't
> needed in the BTLessStrategyNumber and BTLessEqualStrategyNumber
> cases. Those only compare against the lower bound, and if query
> sorts before lower then it sorts before upper too, so a prefix
> match against the (truncated) upper can never succeed there.
> I tried changing it locally and ran the regression tests, all passed.

I did some more work on that idea (just cosmetic changes) and
pushed everything. Thanks for working on this!

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Zsolt Parragi 2026-07-03 19:54:14 Re: uuidv7 improperly accepts dates before 1970-01-01
Previous Message Tom Lane 2026-07-03 17:01:19 Re: Fw:Re: Fw: gbt_var_consistent in contrib/btree_gist/btree_utils_var.c has internal-node type confusion on the <> strategy, bypassing exclusion constraints