Redundant restriction checks in apply_child_basequals

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-02-19T07:36:00Z
Lists: pgsql-hackers

Attachments

While working on bug #19412 [1], I noticed $subject.  For each child
qual translated from a parent rel's qual, apply_child_basequals calls
eval_const_expressions to simplify it, and then calls
restriction_is_always_false and restriction_is_always_true immediately
afterward to reduce NullTest expressions.  Since the planner performs
NullTest deduction during constant folding, I think the call to
restriction_is_always_false and restriction_is_always_true is now
redundant and wastes CPU cycles.

Attached is a patch to remove them.

[1] https://postgr.es/m/19412-1d0318089b86859e@postgresql.org

- Richard

Commits

  1. Remove redundant restriction checks in apply_child_basequals