Remove redundant restriction checks in apply_child_basequals In apply_child_basequals, after translating a parent relation's restriction quals for a child relation, we simplify each child qual by calling eval_const_expressions. Historically, the code then called restriction_is_always_false and restriction_is_always_true to reduce NullTest quals that are provably false or true.
However, since commit e2debb643, the planner natively performs NullTest deduction during constant folding. Therefore, calling restriction_is_always_false and restriction_is_always_true immediately afterward is redundant and wastes CPU cycles. We can safely remove them and simply rely on the constant folding to handle the deduction. Author: Richard Guo <[email protected]> Discussion: https://postgr.es/m/cambws4-vlmgxauezyomacn0bvfqwct2tm-edvwddfjnoqaa...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/1f4f87d79436cd04d549b3ad0a141a7a3adca28c Modified Files -------------- src/backend/optimizer/util/inherit.c | 12 ++---------- src/backend/optimizer/util/relnode.c | 26 +++++++++++--------------- 2 files changed, 13 insertions(+), 25 deletions(-)
