On Fri, Aug 5, 2016 at 11:05 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> On Thu, Aug 4, 2016 at 10:58 PM, Robert Haas <robertmh...@gmail.com> wrote: >>> What is the reason? We refuse to separate frontend and backend >>> headers in any sort of principled way? > >> That was poorly phrased. I'll try again: I can't see any reason for >> using a macro here except that it allows frontend code to compile this >> without breaking. > > Well, the alternative would be to put "#ifndef FRONTEND" around the > static-inline function. That's not very pretty either, and it's > inconsistent with the existing precedent (ie, InitDirtySnapshot). > Also, it presumes that a non-backend includer actually has defined > FRONTEND; that seems to be the case for pg_xlogdump but I do not > think we do that everywhere.
That may not be pretty, but it'd be a lot more transparent. If I see #ifndef FRONTEND, I think, oh, that's protecting some stuff that shouldn't be included in front-end compiles. If I see a macro, I not necessarily think of the fact that this may be a way of preventing that code from being compiled in front-end compiles. >> Here's a patch. Is this what you want? > > OK by me. OK, committed. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers