On Thu, Sep 13, 2018 at 10:05 PM, Michael Paquier <mich...@paquier.xyz> wrote: > On Thu, Sep 13, 2018 at 02:23:47PM -0400, Robert Haas wrote: >> This, to me, seems way too clever. Replacing 'struct stat' with >> something else everywhere in the code is more churn, but far less >> likely to have surprising consequences down the road. Or so I would >> think, anyway. > > I don't have the mind set to work on that today (enough Windows-ism for > the day), but I would rather use the clever solution because, as far as > I know, we want a back-patchable solution so things should not be > invasive.
I do not think that using #define to play clever tricks like this can reasonably be classified as non-invasive. Non-invasive doesn't mean it touches a small number of lines; it means it's unlikely to break stuff. Otherwise, #define continue break would qualify as non-invasive. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company