| From: | Mircea Cadariu <cadariu(dot)mircea(at)gmail(dot)com> |
|---|---|
| To: | Peter Geoghegan <pg(at)bowt(dot)ie> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Saving stack space in nbtree's _bt_first function |
| Date: | 2025-07-16 13:16:58 |
| Message-ID: | 84ef08d4-b6c9-4094-91c4-6354489f1a55@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 16/07/2025 07:27, Peter Geoghegan wrote:
> [...] Rather, we rely on the generic logic that
> builds our startKeys[] entries. It will inevitably "break" before ever
> moving on to the next index attribute/next so->keyData[] key because
> strat_total will inevitably become
> BTGreaterStrategyNumber/BTLessStrategyNumber. In other words, the
> generic BTGreaterStrategyNumber/BTLessStrategyNumber test will
> inevitably cause the loop to "break" right after our first (and only)
> use of notnullkey.
Thanks for the elaboration and updated patch! Indeed, I see it's set in
the ScanKeyEntryInitialize to either BTGreaterStrategyNumber or
BTLessStrategyNumber, then few lines lower there's the if with the break.
I'm convinced.
I noticed this CI job failure for the V2, seems unrelated to the subject
of the patch though, does it need a retry?
https://cirrus-ci.com/task/5781246762024960
Kind regards,
Mircea Cadariu
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Geoghegan | 2025-07-16 13:36:48 | Re: index prefetching |
| Previous Message | Andrei Lepikhov | 2025-07-16 12:41:20 | Re: track generic and custom plans in pg_stat_statements |