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