Re: pgsql: Improve performance of SendRowDescriptionMessage.

From: Noah Misch <noah(at)leadboat(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Improve performance of SendRowDescriptionMessage.
Date: 2017-10-13 02:39:04
Message-ID: 20171013023904.GB492146@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Thu, Oct 12, 2017 at 04:48:29PM -0700, Andres Freund wrote:
> On 2017-10-12 16:08:44 -0700, Andres Freund wrote:
> > wrap-gcc -D_THREAD_SAFE=1 -D_LARGE_FILES=1 -maix64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -O2 -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -DFRONTEND -DUNSAFE_STAT_OK -I. -I../../../src/include -I../../../src/port -I../../../src/port -DSO_MAJOR_VERSION=5 -c -o fe-connect.o fe-connect.c
> > fe-connect.c: In function 'PQconnectPoll':
> > fe-connect.c:2382:6: warning: implicit declaration of function 'getpeereid' [-Wimplicit-function-declaration]
> > if (getpeereid(conn->sock, &uid, &gid) != 0)
> > ^
> >
> > Looks like we're missing
> > #include <sys/types.h>
>
> Hm, it got removed as part of
> http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9e3755ecb2d058f7d123dd35a2e1784006190962
> but that's not an explanation, because
> c.h includes sys/types.h. Which according to IBM's docs
> https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.basetrf1/getpeereid.htm
> is the right thing to include. Given that xlc doesn't complain, I'll
> just assume this is some issue with the headers gcc uses on aix, but I'm
> far from confident.

The relevant xlc warning is disabled by default. "xlc -qinfo=pro" does
complain. <sys/types.h> provides no such prototype. <sys/socket.h> provides
a getpeereid() prototype, but under C++ only. (For getpeername(), it provides
both C and C++ prototypes.) Thus, the AIX documentation is wrong, and
/usr/include is buggy.

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2017-10-13 02:44:20 Re: pgsql: Improve performance of SendRowDescriptionMessage.
Previous Message Noah Misch 2017-10-13 02:35:36 Re: pgsql: Improve performance of SendRowDescriptionMessage.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-10-13 02:44:20 Re: pgsql: Improve performance of SendRowDescriptionMessage.
Previous Message Noah Misch 2017-10-13 02:35:36 Re: pgsql: Improve performance of SendRowDescriptionMessage.