From 77ba610805e7ef9ba9c9a593ea8b1ca8f98f8bcb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 7 Jun 2016 17:21:17 -0400 Subject: 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> --- src/backend/nodes/outfuncs.c | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'src/backend/nodes/outfuncs.c') diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index c2f0e0f8eee..389808c9e95 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -2137,16 +2137,6 @@ _outIndexOptInfo(StringInfo str, const IndexOptInfo *node) /* we don't bother with fields copied from the index AM's API struct */ } -static void -_outForeignKeyOptInfo(StringInfo str, const ForeignKeyOptInfo *node) -{ - WRITE_NODE_TYPE("FOREIGNKEYOPTINFO"); - - WRITE_OID_FIELD(conrelid); - WRITE_OID_FIELD(confrelid); - WRITE_INT_FIELD(nkeys); -} - static void _outEquivalenceClass(StringInfo str, const EquivalenceClass *node) { @@ -3617,9 +3607,6 @@ outNode(StringInfo str, const void *obj) case T_IndexOptInfo: _outIndexOptInfo(str, obj); break; - case T_ForeignKeyOptInfo: - _outForeignKeyOptInfo(str, obj); - break; case T_EquivalenceClass: _outEquivalenceClass(str, obj); break; -- cgit v1.2.3