]> granicus.if.org Git - postgresql/commit
Assorted preparatory refactoring for partition-wise join.
authorRobert Haas <rhaas@postgresql.org>
Tue, 15 Aug 2017 16:30:38 +0000 (12:30 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 15 Aug 2017 16:30:38 +0000 (12:30 -0400)
commite139f1953f29db245f60a7acb72fccb1e05d2442
tree783ae7f36a8066e9057d5ee275d5cc97870f8ee3
parent00418c61244138bd8ac2de58076a1d0dd4f539f3
Assorted preparatory refactoring for partition-wise join.

Instead of duplicating the logic to search for a matching
ParamPathInfo in multiple places, factor it out into a separate
function.

Pass only the relevant bits of the PartitionKey to
partition_bounds_equal instead of the whole thing, because
partition-wise join will want to call this without having a
PartitionKey available.

Adjust allow_star_schema_join and calc_nestloop_required_outer
to take relevant Relids rather than the entire Path, because
partition-wise join will want to call it with the top-parent
relids to determine whether a child join is allowable.

Ashutosh Bapat.  Review and testing of the larger patch set of which
this is a part by Amit Langote, Rajkumar Raghuwanshi, Rafia Sabih,
Thomas Munro, Dilip Kumar, and me.

Discussion: http://postgr.es/m/CA+TgmobQK80vtXjAsPZWWXd7c8u13G86gmuLupN+uUJjA+i4nA@mail.gmail.com
src/backend/catalog/partition.c
src/backend/optimizer/path/joinpath.c
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/relnode.c
src/backend/utils/cache/relcache.c
src/include/catalog/partition.h
src/include/optimizer/pathnode.h