Allow executor startup pruning to prune all child nodes.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Dec 2019 22:05:30 +0000 (17:05 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 Dec 2019 22:05:30 +0000 (17:05 -0500)
commit5935917ce59e2e613ac7a4b54ed49a7b9f8f28ac
treeb89e6f02a9c226b1e6e94ddf8b3de73afd64a761
parent6ef77cf46e81f45716ec981cb08781d426181378
Allow executor startup pruning to prune all child nodes.

Previously, if the startup pruning logic proved that all child nodes
of an Append or MergeAppend could be pruned, we still kept one, just
to keep EXPLAIN from failing.  The previous commit removed the
ruleutils.c limitation that required this kluge, so drop it.  That
results in less-confusing EXPLAIN output, as per a complaint from
Yuzuko Hosoya.

David Rowley

Discussion: https://postgr.es/m/001001d4f44b$2a2cca50$7e865ef0$@lab.ntt.co.jp
src/backend/executor/nodeAppend.c
src/backend/executor/nodeMergeAppend.c
src/include/nodes/execnodes.h
src/test/regress/expected/partition_prune.out
src/test/regress/sql/partition_prune.sql