Re: Move catalog toast table and index declarations
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: John Naylor <john.naylor@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-11-05T18:20:06Z
Lists: pgsql-hackers
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. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Move catalog index declarations
- bdc4edbea6fc 14.0 landed
-
Move catalog toast table declarations
- b4c9695e79f7 14.0 landed