Update obsolete row compare preprocessing comments.
authorPeter Geoghegan <pg@bowt.ie>
Sat, 29 Nov 2025 21:41:51 +0000 (16:41 -0500)
committerPeter Geoghegan <pg@bowt.ie>
Sat, 29 Nov 2025 21:41:51 +0000 (16:41 -0500)
commitc902bd57af998b52bde98c87916190309639129e
treeb60d67507493a5ce21f17891df3d234dd9cb6a28
parent3881561d7715647dbb4a5bc27f116504903daf1b
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@bowt.ie>
Backpatch-through: 18
src/backend/access/nbtree/nbtpreprocesskeys.c