Re: A micro-optimisation for walkdir() - Mailing list pgsql-hackers

From Juan José Santamaría Flecha
Subject Re: A micro-optimisation for walkdir()
Date
Msg-id CAC+AXB3r7B5xEfscvniyYd_wUi-MAA8hLfOJtBS5rCsiktB_Eg@mail.gmail.com
Whole thread Raw
In response to Re: A micro-optimisation for walkdir()  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: A micro-optimisation for walkdir()  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers

On Fri, Sep 4, 2020 at 10:28 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
On 2020-Sep-04, Juan José Santamaría Flecha wrote:

> On Fri, Sep 4, 2020 at 9:37 PM Alvaro Herrera <alvherre@2ndquadrant.com>
> wrote:
>
> > On 2020-Sep-04, Thomas Munro wrote:

> > >
> > > +/* File types for 'd_type'. */
> > > +enum
> > > +  {
> > > +     DT_UNKNOWN = 0,
> > > +# define DT_UNKNOWN          DT_UNKNOWN
> >
> > Uhm ... what do these #defines do?  They look a bit funny.
> >
> > Would it make sense to give this enum a name, and then use that name in
> > struct dirent's definition, instead of unsigned char?
>
> They mimic POSIX dirent.h. I would rather stick to that.

Ah ... they do?

If you remove the #define lines, what happens to your patch?

If will fail to detect that the patch makes the optimisation available for WIN32:

+#if defined(DT_UNKNOWN) && defined(DT_REG) && defined(DT_DIR) && defined(DT_LNK)

Regards,

Juan José Santamaría Flecha

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: A micro-optimisation for walkdir()
Next
From: Peter Eisentraut
Date:
Subject: Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path