Hi,

I've installed a 8.1.0 PostgreSQL server on a SCO OpenServer 5.0.6. It
seemed to work well with psql and such tools. I tried to connect to
this server with pgAdmin3 and a query failed. I tried to find which
part of the query was wrong and I have a strange result :

SELECT 1 FROM pg_language WHERE lanispl IS TRUE;
this one crashes the server.

SELECT 1 FROM pg_language WHERE lanispl = true;
works.

It seemed to me that "IS TRUE" is the culprit so I tried something else
SELECT lanispl IS TRUE FROM pg_language;
and it works.

If I create a table for testing purpose, I can add a where clause with
"IS TRUE".

Last thing I tried was to launch postgres on standalone. With the first query, 
server crashed with a «Memory fault(coredump)». I can send you the all log if 
you want.

This behavior happens on another server (SCO too) but not on any Linux
that I tried. I've attached the patch I apply to be able to build
PostgreSQL on SCO OpenServer. I'm not 100% sure it isn't faulty.

Did something like this already happened to someone ? Do you know of
any test I can do ?

Regards.


--
Guillaume.
<!-- http://abs.traduc.org/
     http://lfs.traduc.org/
     http://traduc.postgresqlfr.org/ -->
diff -uNr configure configure
--- configure	2005-11-05 05:01:38.000000000 +0100
+++ configure	2005-11-09 15:25:28.000000000 +0100
@@ -255,7 +255,7 @@
 #
 # Initializations.
 #
-ac_default_prefix=/usr/local
+ac_default_prefix=/usr/labo/+pg
 ac_config_libobj_dir=.
 cross_compiling=no
 subdirs=
@@ -276,7 +276,7 @@
 PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org'
 
 ac_unique_file="src/backend/access/common/heaptuple.c"
-ac_default_prefix=/usr/local/pgsql
+ac_default_prefix=/usr/labo/+pg
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
@@ -1970,6 +1970,7 @@
 case $template in
   aix) pgac_cc_list="gcc xlc";;
  irix) pgac_cc_list="cc";; # no gcc
+  sco) pgac_cc_list="cc";; # no gcc
     *) pgac_cc_list="gcc cc";;
 esac
 
@@ -3837,7 +3838,7 @@
   esac
 
 else
-  with_zlib=yes
+  with_zlib=no
 
 fi;
 
diff -uNr src/Makefile.shlib src/Makefile.shlib
--- src/Makefile.shlib	2005-10-28 19:32:22.000000000 +0200
+++ src/Makefile.shlib	2005-11-09 15:18:36.000000000 +0100
@@ -213,7 +213,7 @@
   else
     LINK.shared		= $(CC) -G
     endif
-  LINK.shared		+= -Wl,-z,text -Wl,-h,$(soname)
+  LINK.shared		+= -Wl,-h,$(soname)
 endif
 
 ifeq ($(PORTNAME), svr4)
diff -uNr src/backend/parser/keywords.c src/backend/parser/keywords.c
--- src/backend/parser/keywords.c	2005-10-15 04:49:22.000000000 +0200
+++ src/backend/parser/keywords.c	2005-11-09 15:18:36.000000000 +0100
@@ -41,7 +41,6 @@
 	{"all", ALL},
 	{"also", ALSO},
 	{"alter", ALTER},
-	{"analyse", ANALYSE},		/* British spelling */
 	{"analyze", ANALYZE},
 	{"and", AND},
 	{"any", ANY},
diff -uNr src/interfaces/ecpg/preproc/keywords.c src/interfaces/ecpg/preproc/keywords.c
--- src/interfaces/ecpg/preproc/keywords.c	2005-10-15 04:49:47.000000000 +0200
+++ src/interfaces/ecpg/preproc/keywords.c	2005-11-09 15:18:36.000000000 +0100
@@ -39,7 +39,6 @@
 	{"all", ALL},
 	{"also", ALSO},
 	{"alter", ALTER},
-	{"analyse", ANALYSE},		/* British spelling */
 	{"analyze", ANALYZE},
 	{"and", AND},
 	{"any", ANY},
diff -uNr src/interfaces/libpq/fe-secure.c src/interfaces/libpq/fe-secure.c
--- src/interfaces/libpq/fe-secure.c	2005-10-24 17:38:37.000000000 +0200
+++ src/interfaces/libpq/fe-secure.c	2005-11-09 15:26:51.000000000 +0100
@@ -566,7 +566,9 @@
 	{
 		printfPQExpBuffer(&conn->errorMessage,
 		  libpq_gettext("could not get information about host \"%s\": %s\n"),
-						  conn->peer_cn, hstrerror(h_errno));
+						  conn->peer_cn, hstrerror(errno));
+)
+
 		return -1;
 	}
 
diff -uNr src/port/getaddrinfo.c src/port/getaddrinfo.c
--- src/port/getaddrinfo.c	2005-10-15 04:49:51.000000000 +0200
+++ src/port/getaddrinfo.c	2005-11-09 15:18:37.000000000 +0100
@@ -206,7 +206,7 @@
 #endif
 			if (hp == NULL)
 			{
-				switch (h_errno)
+				switch (errno)
 				{
 					case HOST_NOT_FOUND:
 					case NO_DATA:
diff -uNr src/port/thread.c src/port/thread.c
--- src/port/thread.c	2005-10-15 04:49:51.000000000 +0200
+++ src/port/thread.c	2005-11-09 15:18:37.000000000 +0100
@@ -146,7 +146,7 @@
 	*result = gethostbyname(name);
 
 	if (*result != NULL)
-		*herrno = h_errno;
+		*herrno = errno;
 
 	if (*result != NULL)
 		return 0;
diff -uNr src/backend/libpq/pqcomm.c src/backend/libpq/pqcomm.c
--- src/backend/libpq/pqcomm.c	2005-10-17 18:24:19.000000000 +0200
+++ src/backend/libpq/pqcomm.c	2005-11-09 14:46:03.000000000 +0100
@@ -89,6 +89,8 @@
 #include "storage/ipc.h"
 #include "utils/guc.h"
 
+typedef unsigned int socklen_t;
+
 /*
  * Configuration options
  */
diff -uNr contrib/userlock/user_locks.c contrib/userlock/user_locks.c
--- contrib/userlock/user_locks.c        2005-11-10 12:49:07.000000000 +0100
+++ contrib/userlock/user_locks.c        2005-11-10 12:49:47.000000000 +0100
@@ -79,3 +79,11 @@

        return true;
 }
+
+int
+user_unlock_all_pid( int pid )
+{
+       elog( ERROR, "utilisation de la fonction user_unlock_all_pid" );
+       return( -1 );
+}
+

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to