Update obsolete row compare preprocessing comments.
authorPeter Geoghegan <pg@bowt.ie>
Sat, 29 Nov 2025 21:41:49 +0000 (16:41 -0500)
committerPeter Geoghegan <pg@bowt.ie>
Sat, 29 Nov 2025 21:41:49 +0000 (16:41 -0500)
commit4061992ea83adbfc6b0e4fa202d314ace83a2458
tree45b732fb12ff1e2ad2f7e41a378683a31c45c24e
parentb880d9a025bd58d24e8bf03e64839794e7a982d9
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