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

Reply via email to