Re: Convert *GetDatum() and DatumGet*() macros to inline functions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Aleksander Alekseev <aleksander(at)timescale(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Subject: Re: Convert *GetDatum() and DatumGet*() macros to inline functions
Date: 2022-08-30 14:13:20
Message-ID: 3612876.1661868800@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Aleksander Alekseev <aleksander(at)timescale(dot)com> writes:
> Just to clarify, a break in this case is going to be the fact that we
> are adding new functions, although inlined, correct? Or maybe
> something else? I'm sorry this is the first time I encounter the
> question of ABI compatibility in the context of Postgres, so I would
> appreciate it if you could elaborate a bit.

After absorbing a bit more caffeine, I suppose that replacing a
macro with a "static inline" function would not be an ABI break,
at least not with most modern compilers, because the code should
end up the same. I'd still vote against back-patching though.
I don't think the risk-reward ratio is good, especially not for
the pre-C99 branches which don't necessarily have "inline".

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-08-30 14:16:45 Re: Convert *GetDatum() and DatumGet*() macros to inline functions
Previous Message Aleksander Alekseev 2022-08-30 13:59:45 Re: Convert *GetDatum() and DatumGet*() macros to inline functions