Re: Move catalog toast table and index declarations

Поиск
Список
Период
Сортировка
От John Naylor
Тема Re: Move catalog toast table and index declarations
Дата
Msg-id CAFBsxsGLWB-BGP9fdTn1E6i1jB2pSvN4RkWoFdQ7LScAMqDATg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Move catalog toast table and index declarations  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Список pgsql-hackers


On Thu, Nov 5, 2020 at 2:20 PM Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
On 2020-11-05 12:59, John Naylor wrote:
> I think we're talking past eachother. Here's a concrete example:
>
> #define BKI_ROWTYPE_OID(oid,oidmacro)
> #define DECLARE_TOAST(name,toastoid,indexoid) extern int no_such_variable
>
> I understand these to be functionally equivalent as far as what the C
> compiler sees.

The issue is that you can't have a bare semicolon at the top level of a
C compilation unit, at least on some compilers.  So doing

#define FOO(stuff) /*empty*/

and then

FOO(123);

won't work.  You need to fill the definition of FOO with some stuff to
make it valid.

BKI_ROWTYPE_OID on the other hand is not used at the top level like
this, so it can be defined to empty.

Thank you for the explanation.

--
John Naylor
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company 

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

Предыдущее
От: Sergei Kornilov
Дата:
Сообщение: Re: Allow some recovery parameters to be changed with reload
Следующее
От: Ashutosh Bapat
Дата:
Сообщение: Re: Any objections to implementing LogicalDecodeMessageCB for pgoutput?