On Wed, Mar 13, 2019 at 2:26 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > OK, in that case it's definitely all the temporary data that gets created > that is the problem. I've not examined your patch in great detail but > it looks plausible for fixing that.
Cool. > I think that RelationBuildPartitionDesc could use some additional cleanup > or at least better commenting. In particular, it's neither documented nor > obvious to the naked eye why rel->rd_partdesc mustn't get set till the > very end. As the complainant, I'm willing to go fix that, but do you want > to push your patch first so it doesn't get broken? Or I could include > your patch in the cleanup. Yeah, that probably makes sense, though it might be polite to wait another hour or two to see if anyone wants to argue with that approach further. It seems kinda obvious to me why rel->rd_partdesc can't get set until the end. Isn't it just that you'd better not set a permanent pointer to a data structure until you're past any code that might ERROR, which is pretty much everything? That principle applies to lots of PostgreSQL code, not just this. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company