Re: pgsql: Make the order of the header file includes consistent in non-bac

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Amit Kapila <akapila(at)postgresql(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Make the order of the header file includes consistent in non-bac
Date: 2019-10-25 04:02:29
Message-ID: CAA4eK1+Rvft5SgGnBfGdNCVMspDMiXEo=i7Ue2e9Pm0bbOC3jA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Fri, Oct 25, 2019 at 8:54 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Fri, Oct 25, 2019 at 8:47 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> >
> > Hi Amit,
> >
> > On Fri, Oct 25, 2019 at 02:24:50AM +0000, Amit Kapila wrote:
> > > Make the order of the header file includes consistent in non-backend modules.
> > >
> > > Similar to commit 7e735035f2, this commit makes the order of header file
> > > inclusion consistent for non-backend modules.
> > >
> > > In passing, fix the case where we were using angle brackets (<>) for the
> > > local module includes instead of quotes ("").
> >
> > locust has just reported a build failure here:
> > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=locust&dt=2019-10-25%2002%3A58%3A55
> >
>
> Yeah, I have noticed that and working on it.
>
> > And the cause is visibly this portion of the commit:
> > --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c
> > +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c
> > @@ -7,9 +7,9 @@
> > #include <math.h>
> >
> > #include "common/string.h"
> > -#include "pgtypeslib_extern.h"
> > #include "dt.h"
> > #include "pgtypes_timestamp.h"
> > +#include "pgtypeslib_extern.h"
>
> Right, but trying to see why it hasn't failed on other machines and in
> my local build.
>

One possible reason could be that pgtypeslib_extern.h has define like below:
#ifndef bool
#define bool char
#endif /* ndef bool */

It is possible that all the functions that have bool has a parameter
in dt_common.c treat it as 'char' where as the declaration of same
functions in dt.h doesn't consider bool as char because now
pgtypeslib_extern.h is included after dt.h. It seems that the
platforms where it failed doesn't have bool defined. What do you
think? I think we can revert the change in that file.

BTW, prairiedog is also show similar failure and both seems to have
similar OS except for versions.

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2019-10-25 04:47:52 Re: pgsql: Make the order of the header file includes consistent in non-bac
Previous Message Amit Kapila 2019-10-25 03:24:08 Re: pgsql: Make the order of the header file includes consistent in non-bac