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='[email protected]'
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