Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2019-08-17T20:33:34Z
Lists: pgsql-bugs
Hi,

On 2019-08-17 19:06:33 +0000, PG Bug reporting form wrote:
> I'm trying to compile Postgresql from master on my OpenBSD machine, but I'm
> getting a build failure here:
> vacuumdb.c:184:26: error: use of undeclared identifier 'FD_SETSIZE'
>                                 if (concurrentCons > FD_SETSIZE - 1)
>                                                      ^
> vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'
>                                                                  FD_SETSIZE
> - 1);
>                                                                  ^
> 2 errors generated.

Yea, that file is clearly missing an include for #include
<sys/select.h>. I don't immediately see how that file is included on
other platforms, but it's obviously not enough for your version of
openbsd.

I assume adding

#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif

after

#include "postgres_fe.h"

in vacuumdb.c fixes the problem?


Michael, it looks like this is an oversight in

commit 5f3840370b63fdf17f704a285623ccc233fa8d4f
Author: Michael Paquier <michael@paquier.xyz>
Date:   2019-07-19 09:31:58 +0900

    Refactor parallelization processing code in src/bin/scripts/

Greetings,

Andres Freund



Commits

  1. Fix error handling of vacuumdb when running out of fds

  2. Fix error handling of vacuumdb and reindexdb when running out of fds

  3. Fix compilation failure of vacuumdb and reindexdb with OpenBSD

  4. Improve Assert output

  5. Refactor parallelization processing code in src/bin/scripts/

  6. vacuumdb: enable parallel mode