[PATCHES] UPDATED UnixWare Threads Patch.

2003-08-09 Thread Larry Rosenman


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.

2003-08-08 Thread Bruce Momjian

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.

2003-08-14 Thread Larry Rosenman


--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.

2003-08-14 Thread Bruce Momjian

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