Robert,
Are you planning to use Intel's C compiler in production?
We tried that some time ago and corrupted our database cluster almost
instantly (for some reason we have not investigated any further).
I highly recommend to do some stress testing to see if everything works
nicely.
I'd be pleased to get some feedback.
Regard,
Hans
Robert E. Bruccoleri wrote:
> Dear All,
> I built PG 8.0 beta1 on an Itanium 2 platform using the Intel compilers
> version 8, and got one real difference in the regression tests that affected
> int2, int4, union, and numerology. Here's the key difference:
>
> horta postgres 177 > diff -c int4.out ../expected/
> *** int4.out Tue Aug 10 18:41:48 2004
> --- ../expected/int4.out Wed Mar 10 21:11:13 2004
> ***************
> *** 22,27 ****
> --- 22,28 ----
> INSERT INTO INT4_TBL(f1) VALUES (' asdf ');
> ERROR: invalid input syntax for integer: " asdf "
> INSERT INTO INT4_TBL(f1) VALUES ('- 1234');
> + ERROR: invalid input syntax for integer: "- 1234"
> INSERT INTO INT4_TBL(f1) VALUES ('123 5');
> ERROR: invalid input syntax for integer: "123 5"
> INSERT INTO INT4_TBL(f1) VALUES ('');
>
> PG 8.0 beta1 is accepting "- 1234" as a valid integer. Further investigation
> reveals that this is a peculiarity of the Intel compilers. The following
> program,
>
> #include <stdio.h>
> #include <stdlib.h>
>
> main() {
> char st[] = "- 1234";
> int l;
> char *endp;
>
> l = strtol(st, &endp, 10);
> printf("l = %d st = %lx endp = %lx\n", l, st, endp);
> }
>
> using the Intel compiler provided libraries prints
>
> l = -1234 st = 60000fffffffb720 endp = 60000fffffffb726
>
> whereas gcc and glibc yields
>
> l = 0 st = 60000fffffffb710 endp = 60000fffffffb710
>
> Boo hiss...
>
> +-----------------------------+------------------------------------+
> | Robert E. Bruccoleri, Ph.D. | email: bruc@acm.org |
> | President, Congenair LLC | URL: http://www.congen.com/~bruc |
> | P.O. Box 314 | Phone: 609 818 7251 |
> | Pennington, NJ 08534 | |
> +-----------------------------+------------------------------------+
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
--
Cybertec Geschwinde u Schoenig
Schoengrabern 134, A-2020 Hollabrunn, Austria
Tel: +43/720/10 1234567 or +43/660/816 40 77
www.cybertec.at, www.postgresql.at, kernel.cybertec.at