HP-UX 11.22 (IA64) IPF Patch for PostgreSQL 7.3.2

Started by Shinji Teragaitoalmost 23 years ago4 messages
#1Shinji Teragaito
shinji@kobe.hp.com
2 attachment(s)

Hi folks,

The first attached file is the HP ANSI C and gcc patch file for
PostgreSQL 7.3.2 on Itanium Processer Family (IPF) system with HP-UX
11.22 (a.k.a. 11i version 1.6).

- Use the inline assembly code in src/include/storage/s_lock.h
- Add horology test into "expected failures"

It may be required to modify somewhere in code for gcc due to the
'create_functions_1' and 'trigers' failures during the regression
test (refer to regression.diffs). So the attached modifications may
be experimental for gcc :-)

In case of HP ANSI C Compiler:
------------------------------

* Must specify the option '+legacy_cpp' in the environment variable
CPP on the configure command line to use the C preprocessor for
non-C source:

% ./configure CC=cc CPP="cc -E +legacy_cpp"

Otherwise the C preprocessor called in
src/backend/catalog/genbki.sh doesn't generate the appropriate
postgres.bki which can be used during the regression test.

Note that you need at least the C compiler version A.05.38 to use
the option +legacy_cpp. PHSS_27659 provides the latest version
A.05.41 as of today.

* In the regression test, 'float8' and 'geometry' fails. But that
seems to be acceptable.

In case of GNU gcc:
-------------------

* I used gcc-core-20030331 (snapshot) on HP-UX 11.22. In the
regression test, 'float8', 'geometry', 'create_function_1' and
'triggers' fails. Then I got the attached regression.diffs file.

* Although gcc 3.2 pre-release version (http://www.hp.com/go/gcc)
for IPF can compile PostgreSQL 7.3.2 on HP-UX 11.22, the
regression test fails due to the error "pg_regress: could not drop
user accounts" after creating database "regression".

Shinji Teragaito

Attachments:

postgresql-7.3.2-hpux1122.patchapplication/octet-stream; type=patchDownload
diff -r -c postgresql-7.3.2-orig/configure postgresql-7.3.2/configure
*** postgresql-7.3.2-orig/configure	Mon Feb  3 04:56:43 2003
--- postgresql-7.3.2/configure	Wed Apr  2 13:14:57 2003
***************
*** 1451,1456 ****
--- 1451,1457 ----
  # assembler code in src/include/storage/s_lock.h, so we just use
  # a dummy file here.
  case $host in
+   ia64-*-hpux11.*)  need_tas=no; tas_file=dummy.s ;;
    *-*-hpux*)        need_tas=yes; tas_file=hpux.s ;;
    sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;;
    i?86-*-solaris*)   need_tas=yes; tas_file=solaris_i386.s ;;
diff -r -c postgresql-7.3.2-orig/src/include/port/hpux.h postgresql-7.3.2/src/include/port/hpux.h
*** postgresql-7.3.2-orig/src/include/port/hpux.h	Thu Sep  5 05:31:45 2002
--- postgresql-7.3.2/src/include/port/hpux.h	Tue Feb  4 14:26:15 2003
***************
*** 1,8 ****
--- 1,12 ----
  #define HAS_TEST_AND_SET
+ #ifdef __ia64
+ typedef unsigned int slock_t;
+ #else
  typedef struct
  {
  	int			sema[4];
  } slock_t;
+ #endif
  
  #ifndef			BIG_ENDIAN
  #define			BIG_ENDIAN		4321
diff -r -c postgresql-7.3.2-orig/src/include/storage/s_lock.h postgresql-7.3.2/src/include/storage/s_lock.h
*** postgresql-7.3.2-orig/src/include/storage/s_lock.h	Fri Nov 22 10:13:28 2002
--- postgresql-7.3.2/src/include/storage/s_lock.h	Wed Apr  2 15:40:19 2003
***************
*** 403,408 ****
--- 403,416 ----
  
  
  #if defined(__hpux)
+ 
+ #ifdef __ia64
+ #if !defined(__GNUC__)
+ #include <machine/sys/inline.h>
+ #define TAS(lock) _Asm_xchg(_SZ_W, lock, 1, _LDHINT_NONE)
+ #endif	 /* !defined(__GNUC__) */
+ #else							/* !__ia64 */
+ 
  /*
   * HP-UX (PA-RISC)
   *
***************
*** 424,429 ****
--- 432,439 ----
  
  #define S_LOCK_FREE(lock)	( *(int *) (((long) (lock) + 15) & ~15) != 0)
  
+ #endif	 /* __ia64 */
+ 
  #endif	 /* __hpux */
  
  #if defined(__QNX__) && defined(__WATCOMC__)
diff -r -c postgresql-7.3.2-orig/src/test/regress/resultmap postgresql-7.3.2/src/test/regress/resultmap
*** postgresql-7.3.2-orig/src/test/regress/resultmap	Thu Nov 28 02:04:45 2002
--- postgresql-7.3.2/src/test/regress/resultmap	Fri Feb  7 16:57:50 2003
***************
*** 45,50 ****
--- 45,51 ----
  horology/alpha.*-dec-osf=horology-solaris-1947
  horology/.*-cygwin=horology-no-DST-before-1970
  horology/hppa=horology-no-DST-before-1970
+ horology/ia64.*=horology-no-DST-before-1970
  horology/.*-irix=horology-solaris-1947
  horology/i.86-pc-solaris=horology-solaris-1947
  horology/sparc-sun-solaris=horology-solaris-1947
regression.diffsapplication/octet-streamDownload
*** ./expected/float8.out	Sat Oct 19 11:08:19 2002
--- ./results/float8.out	Fri Apr  4 17:31:44 2003
***************
*** 249,255 ****
  SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
  ERROR:  Bad float8 input format -- overflow
  SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
! ERROR:  pow() result is out of range
  SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
  ERROR:  can't take log of zero
  SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 < '0.0' ;
--- 249,255 ----
  SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
  ERROR:  Bad float8 input format -- overflow
  SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
! ERROR:  Bad float8 input format -- overflow
  SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
  ERROR:  can't take log of zero
  SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 < '0.0' ;

======================================================================

*** ./expected/geometry.out	Fri Nov 30 03:57:31 2001
--- ./results/geometry.out	Fri Apr  4 17:32:00 2003
***************
*** 150,160 ****
   six |                                    box                                     
  -----+----------------------------------------------------------------------------
       | (2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
!      | (71.7106781186548,72.7106781186548),(-69.7106781186548,-68.7106781186548)
!      | (4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932738)
!      | (3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559643)
       | (107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
!      | (170.710678118655,70.7106781186548),(29.2893218813452,-70.7106781186548)
  (6 rows)
  
  -- translation
--- 150,160 ----
   six |                                    box                                     
  -----+----------------------------------------------------------------------------
       | (2.12132034355964,2.12132034355964),(-2.12132034355964,-2.12132034355964)
!      | (71.7106781186547,72.7106781186547),(-69.7106781186547,-68.7106781186547)
!      | (4.53553390593274,6.53553390593274),(-2.53553390593274,-0.535533905932737)
!      | (3.12132034355964,4.12132034355964),(-1.12132034355964,-0.121320343559642)
       | (107.071067811865,207.071067811865),(92.9289321881345,192.928932188135)
!      | (170.710678118655,70.7106781186547),(29.2893218813453,-70.7106781186547)
  (6 rows)
  
  -- translation
***************
*** 443,454 ****
     FROM CIRCLE_TBL;
   six |                                                                                                                                                                                           polygon                                                                                                                                                                                           
  -----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
!      | ((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.59807621135842),(1.53102359078377e-11,3),(1.50000000001768,2.59807621134311),(2.59807621136607,1.4999999999779),(3,-3.06204718156754e-11),(2.59807621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(-4.59307077235131e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807621138138,-1.49999999995138))
!      | ((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.602540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036),(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.6025403778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.6025403793795,-47.9999999983795))
       | ((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5.33012701894346,5.49999999996317),(6,2.99999999994897),(5.33012701889242,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.999999999923449,-2),(-1.50000000007366,-1.33012701887966),(-3.33012701896897,0.500000000081028))
!      | ((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.59807621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311),(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133545,0.499999999969062),(2.49999999996464,-0.59807621137373),(0.999999999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.59807621138138,0.500000000048617))
       | ((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.660254037861),(100.000000000051,210),(105.000000000059,208.66025403781),(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254037785,194.999999999897),(104.999999999882,191.339745962088),(99.9999999998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,195.000000000162))
!      | ((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186.602540378869,49.9999999992634),(200,-1.02068239385585e-09),(186.602540377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.999999998469,-100),(49.9999999985268,-86.6025403775933),(13.3974596206205,-49.9999999983795))
  (6 rows)
  
  -- convert the circle to an 8-point polygon
--- 443,454 ----
     FROM CIRCLE_TBL;
   six |                                                                                                                                                                                           polygon                                                                                                                                                                                           
  -----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
!      | ((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.59807621135842),(1.53102359017709e-11,3),(1.50000000001768,2.59807621134311),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.59807621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(-4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807621138138,-1.49999999995138))
!      | ((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.602540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036),(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.6025403778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.6025403793795,-47.9999999983794))
       | ((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5.33012701894346,5.49999999996317),(6,2.99999999994897),(5.33012701889242,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.999999999923449,-2),(-1.50000000007366,-1.33012701887966),(-3.33012701896897,0.500000000081028))
!      | ((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.59807621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311),(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.59807621138138,0.500000000048617))
       | ((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.660254037861),(100.000000000051,210),(105.000000000059,208.66025403781),(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254037785,194.999999999897),(104.999999999882,191.339745962088),(99.9999999998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,195.000000000162))
!      | ((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.602540377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.999999998469,-100),(49.9999999985268,-86.6025403775933),(13.3974596206205,-49.9999999983794))
  (6 rows)
  
  -- convert the circle to an 8-point polygon
***************
*** 456,467 ****
     FROM CIRCLE_TBL;
   six |                                                                                                                  polygon                                                                                                                  
  -----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
!      | ((-3,0),(-2.12132034355423,2.12132034356506),(1.53102359078377e-11,3),(2.12132034357588,2.1213203435434),(3,-3.06204718156754e-11),(2.12132034353258,-2.12132034358671),(-4.59307077235131e-11,-3),(-2.12132034359753,-2.12132034352175))
!      | ((-99,2),(-69.7106781184743,72.7106781188352),(1.00000000051034,102),(71.710678119196,72.7106781181134),(101,1.99999999897932),(71.7106781177526,-68.7106781195569),(0.999999998468976,-98),(-69.7106781199178,-68.7106781173917))
       | ((-4,3),(-2.53553390592372,6.53553390594176),(1.00000000002552,8),(4.5355339059598,6.53553390590567),(6,2.99999999994897),(4.53553390588763,-0.535533905977846),(0.999999999923449,-2),(-2.53553390599589,-0.535533905869586))
       | ((-2,2),(-1.12132034355423,4.12132034356506),(1.00000000001531,5),(3.12132034357588,4.1213203435434),(4,1.99999999996938),(3.12132034353258,-0.121320343586707),(0.999999999954069,-1),(-1.12132034359753,-0.121320343521752))
       | ((90,200),(92.9289321881526,207.071067811884),(100.000000000051,210),(107.07106781192,207.071067811811),(110,199.999999999898),(107.071067811775,192.928932188044),(99.9999999998469,190),(92.9289321880082,192.928932188261))
!      | ((0,0),(29.2893218815257,70.7106781188352),(100.00000000051,100),(170.710678119196,70.7106781181134),(200,-1.02068239385585e-09),(170.710678117753,-70.7106781195569),(99.999999998469,-100),(29.2893218800822,-70.7106781173917))
  (6 rows)
  
  --
--- 456,467 ----
     FROM CIRCLE_TBL;
   six |                                                                                                                  polygon                                                                                                                  
  -----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
!      | ((-3,0),(-2.12132034355423,2.12132034356506),(1.53102359017709e-11,3),(2.12132034357588,2.1213203435434),(3,-3.06204718035418e-11),(2.12132034353258,-2.12132034358671),(-4.59307077053127e-11,-3),(-2.12132034359753,-2.12132034352175))
!      | ((-99,2),(-69.7106781184743,72.7106781188352),(1.00000000051034,102),(71.710678119196,72.7106781181135),(101,1.99999999897932),(71.7106781177526,-68.7106781195569),(0.999999998468976,-98),(-69.7106781199178,-68.7106781173917))
       | ((-4,3),(-2.53553390592372,6.53553390594176),(1.00000000002552,8),(4.5355339059598,6.53553390590567),(6,2.99999999994897),(4.53553390588763,-0.535533905977846),(0.999999999923449,-2),(-2.53553390599589,-0.535533905869586))
       | ((-2,2),(-1.12132034355423,4.12132034356506),(1.00000000001531,5),(3.12132034357588,4.1213203435434),(4,1.99999999996938),(3.12132034353258,-0.121320343586707),(0.999999999954069,-1),(-1.12132034359753,-0.121320343521752))
       | ((90,200),(92.9289321881526,207.071067811884),(100.000000000051,210),(107.07106781192,207.071067811811),(110,199.999999999898),(107.071067811775,192.928932188044),(99.9999999998469,190),(92.9289321880082,192.928932188261))
!      | ((0,0),(29.2893218815257,70.7106781188352),(100.00000000051,100),(170.710678119196,70.7106781181135),(200,-1.02068239345139e-09),(170.710678117753,-70.7106781195569),(99.999999998469,-100),(29.2893218800822,-70.7106781173917))
  (6 rows)
  
  --
***************
*** 503,513 ****
     WHERE (p1.f1 <-> c1.f1) > 0
     ORDER BY distance, circle, point using <<;
   twentyfour |     circle     |   point    |     distance      
! ------------+----------------+------------+-------------------
!             | <(100,0),100>  | (5.1,34.5) | 0.976531926977964
              | <(1,2),3>      | (-3,4)     |  1.47213595499958
              | <(0,0),3>      | (-3,4)     |                 2
!             | <(100,0),100>  | (-3,4)     |  3.07764064044151
              | <(100,0),100>  | (-5,-12)   |  5.68348972285122
              | <(1,3),5>      | (-10,0)    |  6.40175425099138
              | <(1,3),5>      | (10,10)    |  6.40175425099138
--- 503,513 ----
     WHERE (p1.f1 <-> c1.f1) > 0
     ORDER BY distance, circle, point using <<;
   twentyfour |     circle     |   point    |     distance     
! ------------+----------------+------------+------------------
!             | <(100,0),100>  | (5.1,34.5) | 0.97653192697797
              | <(1,2),3>      | (-3,4)     | 1.47213595499958
              | <(0,0),3>      | (-3,4)     |                2
!             | <(100,0),100>  | (-3,4)     | 3.07764064044152
              | <(100,0),100>  | (-5,-12)   | 5.68348972285122
              | <(1,3),5>      | (-10,0)    | 6.40175425099138
              | <(1,3),5>      | (10,10)    | 6.40175425099138
***************
*** 519,525 ****
              | <(0,0),3>      | (10,10)    |   11.142135623731
              | <(1,3),5>      | (-5,-12)   |  11.1554944214035
              | <(1,2),3>      | (-5,-12)   |  12.2315462117278
!             | <(1,3),5>      | (5.1,34.5) |  26.7657047773224
              | <(1,2),3>      | (5.1,34.5) |   29.757594539282
              | <(0,0),3>      | (5.1,34.5) |  31.8749193547455
              | <(100,200),10> | (5.1,34.5) |  180.778038568384
--- 519,525 ----
              | <(0,0),3>      | (10,10)    |  11.142135623731
              | <(1,3),5>      | (-5,-12)   | 11.1554944214035
              | <(1,2),3>      | (-5,-12)   | 12.2315462117278
!             | <(1,3),5>      | (5.1,34.5) | 26.7657047773223
              | <(1,2),3>      | (5.1,34.5) |  29.757594539282
              | <(0,0),3>      | (5.1,34.5) | 31.8749193547455
              | <(100,200),10> | (5.1,34.5) | 180.778038568384

======================================================================

*** ./expected/create_function_1.out	Fri Apr  4 17:30:31 2003
--- ./results/create_function_1.out	Fri Apr  4 17:32:01 2003
***************
*** 25,34 ****
--- 25,36 ----
  	RETURNS trigger
  	AS '/home/shinji/postgresql-7.3.2-gcc/src/test/regress/../../../contrib/spi/refint.sl'
  	LANGUAGE 'C';
+ ERROR:  Load of file /home/shinji/postgresql-7.3.2-gcc/src/test/regress/../../../contrib/spi/refint.sl failed: Unresolved external
  CREATE FUNCTION check_foreign_key ()
  	RETURNS trigger
  	AS '/home/shinji/postgresql-7.3.2-gcc/src/test/regress/../../../contrib/spi/refint.sl'
  	LANGUAGE 'C';
+ ERROR:  Load of file /home/shinji/postgresql-7.3.2-gcc/src/test/regress/../../../contrib/spi/refint.sl failed: Unresolved external
  CREATE FUNCTION autoinc ()
  	RETURNS trigger
  	AS '/home/shinji/postgresql-7.3.2-gcc/src/test/regress/../../../contrib/spi/autoinc.sl'

======================================================================

*** ./expected/triggers.out	Fri Oct  4 03:40:02 2002
--- ./results/triggers.out	Fri Apr  4 17:32:07 2003
***************
*** 24,33 ****
--- 24,35 ----
  	for each row 
  	execute procedure 
  	check_primary_key ('fkey1', 'fkey2', 'pkeys', 'pkey1', 'pkey2');
+ ERROR:  CreateTrigger: function check_primary_key() does not exist
  create trigger check_fkeys_pkey2_exist 
  	before insert or update on fkeys 
  	for each row 
  	execute procedure check_primary_key ('fkey3', 'fkeys2', 'pkey23');
+ ERROR:  CreateTrigger: function check_primary_key() does not exist
  --
  -- For fkeys2:
  -- 	(fkey21, fkey22)	--> pkeys (pkey1, pkey2)
***************
*** 37,42 ****
--- 39,45 ----
  	for each row 
  	execute procedure 
  	check_primary_key ('fkey21', 'fkey22', 'pkeys', 'pkey1', 'pkey2');
+ ERROR:  CreateTrigger: function check_primary_key() does not exist
  --
  -- For pkeys:
  -- 	ON DELETE/UPDATE (pkey1, pkey2) CASCADE:
***************
*** 48,53 ****
--- 51,57 ----
  	execute procedure 
  	check_foreign_key (2, 'cascade', 'pkey1', 'pkey2', 
  	'fkeys', 'fkey1', 'fkey2', 'fkeys2', 'fkey21', 'fkey22');
+ ERROR:  CreateTrigger: function check_foreign_key() does not exist
  --
  -- For fkeys2:
  -- 	ON DELETE/UPDATE (pkey23) RESTRICT:
***************
*** 57,62 ****
--- 61,67 ----
  	before delete or update on fkeys2
  	for each row 
  	execute procedure check_foreign_key (1, 'restrict', 'pkey23', 'fkeys', 'fkey3');
+ ERROR:  CreateTrigger: function check_foreign_key() does not exist
  insert into fkeys2 values (10, '1', 1);
  insert into fkeys2 values (30, '3', 2);
  insert into fkeys2 values (40, '4', 5);
***************
*** 63,69 ****
  insert into fkeys2 values (50, '5', 3);
  -- no key in pkeys
  insert into fkeys2 values (70, '5', 3);
- ERROR:  check_fkeys2_pkey_exist: tuple references non-existing key in pkeys
  insert into fkeys values (10, '1', 2);
  insert into fkeys values (30, '3', 3);
  insert into fkeys values (40, '4', 2);
--- 68,73 ----
***************
*** 70,91 ****
  insert into fkeys values (50, '5', 2);
  -- no key in pkeys
  insert into fkeys values (70, '5', 1);
- ERROR:  check_fkeys_pkey_exist: tuple references non-existing key in pkeys
  -- no key in fkeys2
  insert into fkeys values (60, '6', 4);
- ERROR:  check_fkeys_pkey2_exist: tuple references non-existing key in fkeys2
  delete from pkeys where pkey1 = 30 and pkey2 = '3';
- NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys are deleted
- ERROR:  check_fkeys2_fkey_restrict: tuple referenced in fkeys
  delete from pkeys where pkey1 = 40 and pkey2 = '4';
- NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys are deleted
- NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys2 are deleted
  update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 50 and pkey2 = '5';
- NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys are deleted
- ERROR:  check_fkeys2_fkey_restrict: tuple referenced in fkeys
  update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 10 and pkey2 = '1';
! NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys are deleted
! NOTICE:  check_pkeys_fkey_cascade: 1 tuple(s) of fkeys2 are deleted
  DROP TABLE pkeys;
  DROP TABLE fkeys;
  DROP TABLE fkeys2;
--- 74,86 ----
  insert into fkeys values (50, '5', 2);
  -- no key in pkeys
  insert into fkeys values (70, '5', 1);
  -- no key in fkeys2
  insert into fkeys values (60, '6', 4);
  delete from pkeys where pkey1 = 30 and pkey2 = '3';
  delete from pkeys where pkey1 = 40 and pkey2 = '4';
  update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 50 and pkey2 = '5';
  update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 10 and pkey2 = '1';
! ERROR:  Cannot insert a duplicate key into unique index pkeys_i
  DROP TABLE pkeys;
  DROP TABLE fkeys;
  DROP TABLE fkeys2;

======================================================================

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Shinji Teragaito (#1)
Re: HP-UX 11.22 (IA64) IPF Patch for PostgreSQL 7.3.2

Shinji Teragaito <shinji@kobe.hp.com> writes:

The first attached file is the HP ANSI C and gcc patch file for
PostgreSQL 7.3.2 on Itanium Processer Family (IPF) system with HP-UX
11.22 (a.k.a. 11i version 1.6).

You do realize that this set of diffs shows that the alleged port
is still extremely broken?

Low-order geometry diffs are one thing, but you've got some other
issues to fix there ... I'm not eager to apply any of this until
the regression results look saner.

regards, tom lane

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Shinji Teragaito (#1)
Re: HP-UX 11.22 (IA64) IPF Patch for PostgreSQL 7.3.2

Shinji Teragaito writes:

* Must specify the option '+legacy_cpp' in the environment variable
CPP on the configure command line to use the C preprocessor for
non-C source:

Please give symptoms of the problem.

Also, regarding this piece of the patch:

horology/hppa=horology-no-DST-before-1970
+ horology/ia64.*=horology-no-DST-before-1970

Both of these lines are bogus. They should read horology/.*-hpux=...,
since the horology test outcomes are determined by the operating system,
not the processor.

--
Peter Eisentraut peter_e@gmx.net

#4Shinji Teragaito
shinji@kobe.hp.com
In reply to: Peter Eisentraut (#3)
Re: HP-UX 11.22 (IA64) IPF Patch for PostgreSQL 7.3.2

On Tue, 8 Apr 2003 14:21:30 +0200 (CEST), Peter Eisentraut <peter_e@gmx.net> said:

Shinji Teragaito writes:

* Must specify the option '+legacy_cpp' in the environment variable
CPP on the configure command line to use the C preprocessor for
non-C source:

Please give symptoms of the problem.

http://archives.postgresql.org/pgsql-general/2003-01/msg00842.php
http://archives.postgresql.org/pgsql-general/2003-01/msg00858.php

Also, regarding this piece of the patch:

horology/hppa=horology-no-DST-before-1970
+ horology/ia64.*=horology-no-DST-before-1970

Both of these lines are bogus. They should read horology/.*-hpux=...,
since the horology test outcomes are determined by the operating system,
not the processor.

Okay. Thank you.

Best Regards,

Shinji