From: Tom Lane Date: Thu, 9 Aug 2018 00:02:10 +0000 (-0400) Subject: Remove bogus Assert in make_partitionedrel_pruneinfo(). X-Git-Tag: REL_12_BETA1~1749 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59ef49d26d2f8724d0788fea0774f786a22ca63d;p=postgresql Remove bogus Assert in make_partitionedrel_pruneinfo(). This Assert thought that a given rel couldn't be both leaf and non-leaf, but it turns out that in some unusual plan trees that's wrong, so remove it. The lack of testing for cases like that is quite concerning --- there is little reason for confidence that there aren't other bugs in the area. But developing a stable test case seems rather difficult, and in any case we don't need this Assert. David Rowley Discussion: https://postgr.es/m/CAJGNTeOkdk=UVuMugmKL7M=owgt4nNr1wjxMg1F+mHsXyLCzFA@mail.gmail.com --- diff --git a/src/backend/partitioning/partprune.c b/src/backend/partitioning/partprune.c index 7fb53e6446..0dd55ac1ba 100644 --- a/src/backend/partitioning/partprune.c +++ b/src/backend/partitioning/partprune.c @@ -347,8 +347,6 @@ make_partitionedrel_pruneinfo(PlannerInfo *root, RelOptInfo *parentrel, Assert(rti < root->simple_rel_array_size); /* No duplicates please */ Assert(relid_subpart_map[rti] == 0); - /* Same rel cannot be both leaf and non-leaf */ - Assert(relid_subplan_map[rti] == 0); relid_subpart_map[rti] = i++; }