On Thu, 8 Aug 2019 at 12:18, Andres Freund <and...@anarazel.de> wrote:
> Hi, > > On 2019-08-08 11:36:44 +0800, Craig Ringer wrote: > > > you can only put one <declaration> into the first element of a > > > for (;;). > > > > > > > Use an anonymous block outer scope? Or if not permitted even by C99 > (which > > I think it is), a do {...} while (0); hack? > > You can't easily - the problem is that there's no real way to add the > closing }, because that's after the macro. Ah, right. Hence our PG_TRY(); { } PG_CATCH(); { } PG_END_TRY(); construct in all its beauty. I should've seen that. -- Craig Ringer http://www.2ndQuadrant.com/ 2ndQuadrant - PostgreSQL Solutions for the Enterprise