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