Re: Proposal: Document ABI Compatibility

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andres Freund <andres(at)anarazel(dot)de>, "David E(dot) Wheeler" <david(at)justatheory(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Proposal: Document ABI Compatibility
Date: 2024-06-13 07:49:05
Message-ID: 8f156612-cc55-4888-83b4-9292b241f61c@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 12.06.24 16:47, Robert Haas wrote:
> On Mon, Jun 3, 2024 at 3:39 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Me either. There are degrees of ABI compatibility
>
> Exactly this!
>
> What I think would be useful to document is our usual practices e.g.
> adding new struct members at the end of structs, trying to avoid
> changing public function signatures. If we document promises to
> extension authors, I don't know how much difference that will make:
> we'll probably end up needing to violate them at some point for one
> reason or another. But if we document what committers should do, then
> we might do better than we're now, because committers will be more
> likely to do it right, and extension authors can also read those
> instructions to understand what our practices are.

Fun fact: At the end of src/tools/RELEASE_CHANGES, there is some
guidance on how to maintain ABI compatibility in *libpq*. That used to
be a problem. We have come far since then.

But yes, a bit of documentation like that (maybe not in that file
though) would make sense.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-06-13 07:59:50 Pluggable cumulative statistics
Previous Message Peter Eisentraut 2024-06-13 07:41:33 Re: Changing default -march landscape