]> granicus.if.org Git - postgresql/commit
Revert "Use Foreign Key relationships to infer multi-column join selectivity".
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Jun 2016 21:21:17 +0000 (17:21 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Jun 2016 21:21:17 +0000 (17:21 -0400)
commit77ba610805e7ef9ba9c9a593ea8b1ca8f98f8bcb
tree1c607e007c59f23ab471bb790e1237cf8d849e5e
parent5c6d2a5e7c83bf6e157fe4ca0ab9b123012289e9
Revert "Use Foreign Key relationships to infer multi-column join selectivity".

This commit reverts 137805f89 as well as the associated commits 015e88942,
5306df283, and 68d704edb.  We found multiple bugs in this feature, and
there was concern about possible planner slowdown (though to be fair,
exhibiting a very large slowdown proved difficult).  The way forward
requires a considerable rewrite, which may or may not be possible to
accomplish in time for beta2.  In my judgment reviewing the rewrite will
be easier to accomplish starting from a clean slate, so let's temporarily
revert what's there now.  This also leaves us in a safe state if it turns
out to be necessary to postpone the rewrite to the next development cycle.

Discussion: <20160429102531.GA13701@huehner.biz>
12 files changed:
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/util/plancat.c
src/backend/utils/cache/relcache.c
src/backend/utils/misc/guc.c
src/include/nodes/nodes.h
src/include/nodes/relation.h
src/include/optimizer/cost.h
src/include/optimizer/paths.h
src/include/utils/rel.h
src/include/utils/relcache.h
src/test/regress/expected/rangefuncs.out