| From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Update obsolete row compare preprocessing comments. |
| Date: | 2025-11-29 21:43:19 |
| Message-ID: | E1vPSis-0021gH-2w@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Update obsolete row compare preprocessing comments.
We have some limited ability to detect redundant and contradictory
conditions involving an nbtree row comparison key following commits
f09816a0 and bd3f59fd: we can do so in simple cases involving IS NULL
and IS NOT NULL keys on a row compare key's first column. We can
likewise determine that a scan's qual is unsatisfiable given a row
compare whose first subkey's arg is NULL. Update obsolete comments that
claimed that we merely copied row compares into the output key array
"without any editorialization".
Also update another _bt_preprocess_keys header comment paragraph: add a
parenthetical remark that points out that preprocessing will generate a
skip array for the preceding example qual. That will ultimate lead to
preprocessing marking the example's lower-order y key required -- which
is exactly what the example supposes cannot happen. Keep the original
comment, though, since it accurately describes the mechanical rules that
determine which keys get marked required in the absence of skip arrays
(which can occasionally still matter). This fixes an oversight in
commit 92fe23d9, which added the nbtree skip scan optimization.
Author: Peter Geoghegan <pg(at)bowt(dot)ie>
Backpatch-through: 18
Branch
------
REL_18_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/4061992ea83adbfc6b0e4fa202d314ace83a2458
Modified Files
--------------
src/backend/access/nbtree/nbtpreprocesskeys.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Rowley | 2025-11-29 23:55:53 | pgsql: Don't call simplify_aggref with a NULL PlannerInfo |
| Previous Message | Andres Freund | 2025-11-29 14:53:38 | Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). |