[PATCHES] UPDATED UnixWare Threads Patch.
Here is the updated UnixWare threads patch. I need some help to set the HAVE_POSIX_GETPWUID_R define from configure, but this will suffice for now. This also includes my recommendation for the Compiler Bug issue. Please Apply, and if one of the configure guru's can help here, I'd be most appreciative. LER Index: src/port/thread.c === RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v retrieving revision 1.2 diff -u -r1.2 thread.c --- src/port/thread.c 8 Aug 2003 03:09:56 - 1.2 +++ src/port/thread.c 8 Aug 2003 23:53:35 - @@ -40,13 +40,18 @@ pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, size_t buflen, struct passwd ** result) { -#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) +#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && !defined(HAVE_POSIX_GETPWUID_R) /* * broken (well early POSIX draft) getpwuid_r() which returns 'struct * passwd *' */ *result = getpwuid_r(uid, resultbuf, buffer, buflen); +#elsif defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && defined(HAVE_POSIX_GETPWUID_R) + /* + * SUSv2/POSIX getpwuid_r + */ + return getpwuid_r(uid, resultbuf, buffer, buflen, result); #else /* no getpwuid_r() available, just use getpwuid() */ *result = getpwuid(uid); Index: src/template/unixware === RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v retrieving revision 1.11 diff -u -r1.11 unixware --- src/template/unixware 4 Sep 2002 22:54:18 - 1.11 +++ src/template/unixware 8 Aug 2003 23:53:35 - @@ -1,5 +1,13 @@ +SUPPORTS_THREADS=yes if test "$GCC" = yes; then - CFLAGS=-O2 + CFLAGS="-O2 -DHAVE_POSIX_GETPWUID_R" + THREAD_CFLAGS="-pthread -D_REENTRANT" + NEED_REENTRANT_FUNC_NAMES=yes else - CFLAGS='-O -K inline' +# the -Kno_host is temporary for a bug in the compiler. See -hackers +# discussion on 7-8/Aug/2003. +# when the 7.1.3UP3 or later compiler is out, we can do a version check. + CFLAGS='-O -Kinline,no_host -DHAVE_POSIX_GETPWUID_R' + THREAD_CFLAGS="-D_REENTRANT -K pthread -DHAVE_POSIX_GETPWUID_R" + NEED_REENTRANT_FUNC_NAMES=yes fi -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED] US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 pg.patch.2003-08-08 Description: Binary data ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html
Re: [PATCHES] UPDATED UnixWare Threads Patch.
I am going to tackle this one now. I am going to have to add the configure tests suggested, so each platform doesn't need to know if it has a Posix _r function or not. I will add the port-specific parts you mention below. You can test CVS once I am done. --- Larry Rosenman wrote: > > > --On Friday, August 08, 2003 18:56:45 -0500 Larry Rosenman <[EMAIL PROTECTED]> > wrote: > > > > > > > Here is the updated UnixWare threads patch. I need some help to set the > > HAVE_POSIX_GETPWUID_R define from configure, but this will suffice for > > now. > > > > This also includes my recommendation for the Compiler Bug issue. > > > > Please Apply, and if one of the configure guru's can help here, I'd be > > most appreciative. > Grr. I'm an idiot, the following is a CORRECTED version, basically > s/#elsif/#elif/ > > Index: src/port/thread.c > === > RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v > retrieving revision 1.2 > diff -u -r1.2 thread.c > --- src/port/thread.c 8 Aug 2003 03:09:56 - 1.2 > +++ src/port/thread.c 9 Aug 2003 00:47:00 - > @@ -40,13 +40,18 @@ > pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, > size_t buflen, struct passwd ** result) > { > -#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) > +#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && > !defined(HAVE_POSIX_GETPWUID_R) > > /* >* broken (well early POSIX draft) getpwuid_r() which returns 'struct >* passwd *' >*/ > *result = getpwuid_r(uid, resultbuf, buffer, buflen); > +#elif defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && > defined(HAVE_POSIX_GETPWUID_R) > + /* > + * SUSv2/POSIX getpwuid_r > + */ > + return getpwuid_r(uid, resultbuf, buffer, buflen, result); > #else > /* no getpwuid_r() available, just use getpwuid() */ > *result = getpwuid(uid); > Index: src/template/unixware > === > RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v > retrieving revision 1.11 > diff -u -r1.11 unixware > --- src/template/unixware 4 Sep 2002 22:54:18 - 1.11 > +++ src/template/unixware 9 Aug 2003 00:47:00 - > @@ -1,5 +1,13 @@ > +SUPPORTS_THREADS=yes > if test "$GCC" = yes; then > - CFLAGS=-O2 > + CFLAGS="-O2 -DHAVE_POSIX_GETPWUID_R" > + THREAD_CFLAGS="-pthread -D_REENTRANT" > + NEED_REENTRANT_FUNC_NAMES=yes > else > - CFLAGS='-O -K inline' > +# the -Kno_host is temporary for a bug in the compiler. See -hackers > +# discussion on 7-8/Aug/2003. > +# when the 7.1.3UP3 or later compiler is out, we can do a version check. > + CFLAGS='-O -Kinline,no_host -DHAVE_POSIX_GETPWUID_R' > + THREAD_CFLAGS="-D_REENTRANT -K pthread -DHAVE_POSIX_GETPWUID_R" > + NEED_REENTRANT_FUNC_NAMES=yes > fi > > -- > Larry Rosenman http://www.lerctr.org/~ler > Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED] > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 [ Attachment, skipping... ] > > ---(end of broadcast)--- > TIP 4: Don't 'kill -9' the postmaster -- Bruce Momjian| http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster
Re: [PATCHES] UPDATED UnixWare Threads Patch.
--On Friday, August 08, 2003 18:56:45 -0500 Larry Rosenman <[EMAIL PROTECTED]> wrote: Here is the updated UnixWare threads patch. I need some help to set the HAVE_POSIX_GETPWUID_R define from configure, but this will suffice for now. This also includes my recommendation for the Compiler Bug issue. Please Apply, and if one of the configure guru's can help here, I'd be most appreciative. Grr. I'm an idiot, the following is a CORRECTED version, basically s/#elsif/#elif/ Index: src/port/thread.c === RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v retrieving revision 1.2 diff -u -r1.2 thread.c --- src/port/thread.c 8 Aug 2003 03:09:56 - 1.2 +++ src/port/thread.c 9 Aug 2003 00:47:00 - @@ -40,13 +40,18 @@ pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, size_t buflen, struct passwd ** result) { -#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) +#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && !defined(HAVE_POSIX_GETPWUID_R) /* * broken (well early POSIX draft) getpwuid_r() which returns 'struct * passwd *' */ *result = getpwuid_r(uid, resultbuf, buffer, buflen); +#elif defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && defined(HAVE_POSIX_GETPWUID_R) + /* + * SUSv2/POSIX getpwuid_r + */ + return getpwuid_r(uid, resultbuf, buffer, buflen, result); #else /* no getpwuid_r() available, just use getpwuid() */ *result = getpwuid(uid); Index: src/template/unixware === RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v retrieving revision 1.11 diff -u -r1.11 unixware --- src/template/unixware 4 Sep 2002 22:54:18 - 1.11 +++ src/template/unixware 9 Aug 2003 00:47:00 - @@ -1,5 +1,13 @@ +SUPPORTS_THREADS=yes if test "$GCC" = yes; then - CFLAGS=-O2 + CFLAGS="-O2 -DHAVE_POSIX_GETPWUID_R" + THREAD_CFLAGS="-pthread -D_REENTRANT" + NEED_REENTRANT_FUNC_NAMES=yes else - CFLAGS='-O -K inline' +# the -Kno_host is temporary for a bug in the compiler. See -hackers +# discussion on 7-8/Aug/2003. +# when the 7.1.3UP3 or later compiler is out, we can do a version check. + CFLAGS='-O -Kinline,no_host -DHAVE_POSIX_GETPWUID_R' + THREAD_CFLAGS="-D_REENTRANT -K pthread -DHAVE_POSIX_GETPWUID_R" + NEED_REENTRANT_FUNC_NAMES=yes fi -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED] US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 pg.patch.2003-08-08 Description: Binary data ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster
Re: [PATCHES] UPDATED UnixWare Threads Patch.
I have applied just the optimizer change, attached and applied. I will deal with the thread issues shortly. --- Larry Rosenman wrote: > > > Here is the updated UnixWare threads patch. I need some help to set the > HAVE_POSIX_GETPWUID_R define from configure, but this will suffice for now. > > This also includes my recommendation for the Compiler Bug issue. > > Please Apply, and if one of the configure guru's can help here, I'd be most > appreciative. > > LER > > Index: src/port/thread.c > === > RCS file: /projects/cvsroot/pgsql-server/src/port/thread.c,v > retrieving revision 1.2 > diff -u -r1.2 thread.c > --- src/port/thread.c 8 Aug 2003 03:09:56 - 1.2 > +++ src/port/thread.c 8 Aug 2003 23:53:35 - > @@ -40,13 +40,18 @@ > pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, > size_t buflen, struct passwd ** result) > { > -#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) > +#if defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && > !defined(HAVE_POSIX_GETPWUID_R) > > /* >* broken (well early POSIX draft) getpwuid_r() which returns 'struct >* passwd *' >*/ > *result = getpwuid_r(uid, resultbuf, buffer, buflen); > +#elsif defined(USE_THREADS) && defined(HAVE_GETPWUID_R) && > defined(HAVE_POSIX_GETPWUID_R) > + /* > + * SUSv2/POSIX getpwuid_r > + */ > + return getpwuid_r(uid, resultbuf, buffer, buflen, result); > #else > /* no getpwuid_r() available, just use getpwuid() */ > *result = getpwuid(uid); > Index: src/template/unixware > === > RCS file: /projects/cvsroot/pgsql-server/src/template/unixware,v > retrieving revision 1.11 > diff -u -r1.11 unixware > --- src/template/unixware 4 Sep 2002 22:54:18 - 1.11 > +++ src/template/unixware 8 Aug 2003 23:53:35 - > @@ -1,5 +1,13 @@ > +SUPPORTS_THREADS=yes > if test "$GCC" = yes; then > - CFLAGS=-O2 > + CFLAGS="-O2 -DHAVE_POSIX_GETPWUID_R" > + THREAD_CFLAGS="-pthread -D_REENTRANT" > + NEED_REENTRANT_FUNC_NAMES=yes > else > - CFLAGS='-O -K inline' > +# the -Kno_host is temporary for a bug in the compiler. See -hackers > +# discussion on 7-8/Aug/2003. > +# when the 7.1.3UP3 or later compiler is out, we can do a version check. > + CFLAGS='-O -Kinline,no_host -DHAVE_POSIX_GETPWUID_R' > + THREAD_CFLAGS="-D_REENTRANT -K pthread -DHAVE_POSIX_GETPWUID_R" > + NEED_REENTRANT_FUNC_NAMES=yes > fi > > -- > Larry Rosenman http://www.lerctr.org/~ler > Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED] > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749 [ Attachment, skipping... ] > > ---(end of broadcast)--- > TIP 5: Have you checked our extensive FAQ? > >http://www.postgresql.org/docs/faqs/FAQ.html -- Bruce Momjian| http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 Index: src/template/unixware === RCS file: /cvsroot/pgsql-server/src/template/unixware,v retrieving revision 1.11 diff -c -c -r1.11 unixware *** src/template/unixware 4 Sep 2002 22:54:18 - 1.11 --- src/template/unixware 13 Aug 2003 23:58:32 - *** *** 1,5 if test "$GCC" = yes; then CFLAGS=-O2 else ! CFLAGS='-O -K inline' fi --- 1,8 if test "$GCC" = yes; then CFLAGS=-O2 else ! # the -Kno_host is temporary for a bug in the compiler. See -hackers ! # discussion on 7-8/Aug/2003. ! # when the 7.1.3UP3 or later compiler is out, we can do a version check. ! CFLAGS='-O -Kinline,no_host' fi ---(end of broadcast)--- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match