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: [EMAIL PROTECTED] |
| 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



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

http://archives.postgresql.org

Reply via email to