Re: removal of dangling temp tables

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: removal of dangling temp tables
Date: 2018-12-27 19:30:21
Message-ID: 201812271930.5d5xmm7pr6f3@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2018-Dec-27, Michael Paquier wrote:

> On Wed, Dec 26, 2018 at 08:51:56PM -0300, Alvaro Herrera wrote:
> > Having been victim of ABI incompatibility myself, I loathe giving too
> > much priority to other issues that can be resolved in other ways, so I
> > don't necessarily support your view on bugs.
> > That said, I think in this case it shouldn't be a problem, so I'm going
> > to work on that next.
>
> And it is even better if bugs can be fixed, even partially without any
> ABI breakages. Anyway, not breaking the ABI of PGPROC is why 246a6c8
> has not been back-patched to begin with, because we have no idea how
> PGPROC is being used and because its interface is public, so if the
> intent is to apply 246a6c8 to v10 and down this gets a -1 from me.

We allow structs to receive new members at the end of the struct, since
this doesn't affect the offset of existing members; thus code already
compiled with the previous struct definition does not break. AFAICS
there is no danger in backpatching that, moving that struct member at
the end of the struct.

> Back-patching what you sent in
> https://www.postgresql.org/message-id/20181226190834.wsk2wzott5yzrjiq@alvherre.pgsql
> is fine for me.

Done.

> + snprintf(namespaceName, sizeof(namespaceName), "pg_temp_%d",
> + MyBackendId);
> + namespaceId = get_namespace_oid(namespaceName, true);
>
> So this is the reverse engineering of GetTempNamespaceBackendId().
> Perhaps a dedicated API in namespace.c would be interesting to have?

Since this code doesn't appear in branches 11 and later, I'm not sure
creating such an API has any value.

> I would recommend to keep the changes for DISCARD and autovacuum into
> separate commits.

Yeah, done like that.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-12-27 19:33:34 Re: random() (was Re: New GUC to sample log queries)
Previous Message Tom Lane 2018-12-27 19:22:11 Re: reducing the footprint of ScanKeyword (was Re: Large writable variables)