From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: hyrax vs. RelationBuildPartitionDesc |
Date: | 2019-03-13 18:59:28 |
Message-ID: | CA+TgmoYd3vqd26RiT4sp7Mez3oQf-AxAzdBpEeTyCNF-7OchhA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Mar 13, 2019 at 2:26 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2019-03-13 19:14:52 | Re: hyrax vs. RelationBuildPartitionDesc |
Previous Message | Robert Haas | 2019-03-13 18:49:06 | Re: hyrax vs. RelationBuildPartitionDesc |