]> granicus.if.org Git - postgresql/commit
Rearrange make_partitionedrel_pruneinfo to avoid work when we can't prune.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Mar 2019 18:56:05 +0000 (14:56 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Mar 2019 18:56:12 +0000 (14:56 -0400)
commit734308a220729e4ececa3758bdcae39a335d55ea
treea05d6decc28230b7833eac133776f80522c4e443
parent09963cedced7ffb98a06298cc16305767fd2b4dd
Rearrange make_partitionedrel_pruneinfo to avoid work when we can't prune.

Postpone most of the effort of constructing PartitionedRelPruneInfos
until after we have found out whether run-time pruning is needed at all.
This costs very little duplicated effort (basically just an extra
find_base_rel() call per partition) and saves quite a bit when we
can't do run-time pruning.

Also, merge the first loop (for building relid_subpart_map) into
the second loop, since we don't need the map to be valid during
that loop.

Amit Langote

Discussion: https://postgr.es/m/9d7c5112-cb99-6a47-d3be-cf1ee6862a1d@lab.ntt.co.jp
src/backend/partitioning/partprune.c