Re: Move catalog toast table and index declarations
John Naylor <john.naylor@enterprisedb.com>
From: John Naylor <john.naylor@enterprisedb.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-11-06T13:00:52Z
Lists: 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
Commits
-
Move catalog index declarations
- bdc4edbea6fc 14.0 landed
-
Move catalog toast table declarations
- b4c9695e79f7 14.0 landed