Re: Minor version upgrades and extension packaging

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Minor version upgrades and extension packaging
Дата
Msg-id 4732.1518405570@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Minor version upgrades and extension packaging  (Andres Freund <andres@anarazel.de>)
Ответы Re: Minor version upgrades and extension packaging
Список pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2018-02-11 21:50:32 -0500, Mat Arye wrote:
>> In particular, in the commit
>> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=1597948c962a1407c01fc492c44917c097efa92e
>> the structure of the ColumnDef struct changed.

> Ugh. I personally would say that's because that commit did stuff that we
> normally trie hard not to do. While ColumnDef at least isn't serialized
> into catalogs, we normally trie hard to break struct layout. Peter,
> shouldn't that field at the very least have been added at the end?

Yeah.  The position of the field makes sense for HEAD, but it would have
been good practice to add it at the end in released branches.  That's
what we normally do when we have to make struct changes in back branches.
That isn't a 100% fix for ABI compatibility problems --- if you're making
new instances of the node type in an extension, you still lose --- but
it avoids problems in many cases.

Not sure what to do about it at this point.  We could move that field to
the end for 10.3, leaving 10.2 as the only ABI-incompatible minor release,
but I don't know that that really makes things any better than leaving it
as-is.  Somewhere around the dot-two minor release is where uptake of a
new PG branch starts to become significant, IME, so preserving ABI
compatibility going forward from 10.2 might be more useful than preserving
it against 10.0/10.1.

            regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Minor version upgrades and extension packaging
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Minor version upgrades and extension packaging