Re: After upgrading libpq, the same function(PQftype) call returns a different OID

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Sebastien Flaesch <sebastien(dot)flaesch(at)4js(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, M Tarkeshwar Rao <m(dot)tarkeshwar(dot)rao(at)ericsson(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: After upgrading libpq, the same function(PQftype) call returns a different OID
Date: 2025-03-21 15:14:14
Message-ID: CAKFQuwZOCZB19s_mup7CDqLoTyH3Q5dAf7Qf8uR-pwoN47yKMA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Mar 20, 2025 at 2:56 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> > On Thu, Mar 20, 2025 at 11:54 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >> I think it's a mistake to suppose that pg_type_d.h is the only
> >> place where there's a risk of confusion. We should be thinking
> >> about this more generally: genbki.pl is taking zero thought to
> >> make what it emits readable. I think it would help to
> >> label the sections it emits, perhaps along the lines of
> >> /* Auto-generated OID macros */
>
> > I'd consider this enough for the moment, so long as we explicitly address
> > the cross-version constancy of the OID values associated with each type.
>
> That's documented elsewhere, I believe. For the foo_d.h files,
> I think it'd be sufficient to do something like 0001 attached.
>
>
WFM. Thanks.

Also, while checking out the results, I noticed that pg_class.h
> has an "extern" in the wrong place: it's exposed to client code
> which can have no use for it. That extern doesn't mention any
> backend-only typedefs, so it's fairly harmless, but it's still
> a clear example of somebody not reading the memo. Hence 0002.
>
>
Maybe tack this onto genbki.h?

diff --git a/src/include/catalog/genbki.h b/src/include/catalog/genbki.h
index 26e205529d..4a1567a46b 100644
--- a/src/include/catalog/genbki.h
+++ b/src/include/catalog/genbki.h
@@ -146,4 +146,6 @@
*/
#undef EXPOSE_TO_CLIENT_CODE

+/* Additional backend-only code is placed after the client-code section. */
+
#endif /* GENBKI_H */

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2025-03-21 15:50:31 Re: Disabling vacuum truncate for autovacuum
Previous Message Cosimo Simeone 2025-03-21 14:48:56 Re: Need help understanding has_function_privilege