Thread: Call for platforms (HP-UX)

Call for platforms (HP-UX)

From
Giles Lean
Date:
Hi all,

I've built 7.1beta6 on a number of different HP-UX platforms (11.00 32
bit, 11.00 64 bit, 11i 32 bit).

1. On all these platforms 'make check' hung.  Since that's not  critical to whether PostgreSQL works or not I worked
aroundit by  using a different shell:
 
  gmake SHELL=$HOME/bin/pdksh check
  I'll look at this next week.  If someone can confirm that  /usr/bin/sh works for make check on HP-UX 10.20 that would
be useful.
 

2. I saw two different sets of output for geometry.out.  These seem to  relate to the processor level:
  (a) on PA-RISC 1.1 some of the zero values are negative
  (b) on PA-RISC 2.0 the negative zeros were produced as on PA-RISC      1.1, plus about three results varied in the
leastsignificant      digit.
 
      The PA-RISC 2.0 values were identical on two platforms:
      (i)  PA8000 running 32 bit 11i      (ii) PA8500 running 64 bit 11.00
  If these results are OK (I assumed they were for the purposes  of Vince's database, so I hope they are :-) then
perhapsthe  attached outputs can be added to the expected results and  resultmap updated for HP-UX 11?
 

Regards,

Giles

--
-- GEOMETRY
--
--
-- Points
--
SELECT '' AS four, center(f1) AS center  FROM BOX_TBL;four | center  
------+---------     | (1,1)     | (2,2)     | (2.5,3)     | (3,3)
(4 rows)

SELECT '' AS four, (@@ f1) AS center  FROM BOX_TBL;four | center  
------+---------     | (1,1)     | (2,2)     | (2.5,3)     | (3,3)
(4 rows)

SELECT '' AS six, point(f1) AS center  FROM CIRCLE_TBL;six |  center   
-----+-----------    | (0,0)    | (1,2)    | (1,3)    | (1,2)    | (100,200)    | (100,0)
(6 rows)

SELECT '' AS six, (@@ f1) AS center  FROM CIRCLE_TBL;six |  center   
-----+-----------    | (0,0)    | (1,2)    | (1,3)    | (1,2)    | (100,200)    | (100,0)
(6 rows)

SELECT '' AS two, (@@ f1) AS center  FROM POLYGON_TBL  WHERE (# f1) > 2;two |               center                
-----+-------------------------------------    | (1.33333333333333,1.33333333333333)    |
(2.33333333333333,1.33333333333333)
(2 rows)

-- "is horizontal" function
SELECT '' AS two, p1.f1  FROM POINT_TBL p1  WHERE ishorizontal(p1.f1, point '(0,0)');two |   f1    
-----+---------    | (0,0)    | (-10,0)
(2 rows)

-- "is horizontal" operator
SELECT '' AS two, p1.f1  FROM POINT_TBL p1  WHERE p1.f1 ?- point '(0,0)';two |   f1    
-----+---------    | (0,0)    | (-10,0)
(2 rows)

-- "is vertical" function
SELECT '' AS one, p1.f1  FROM POINT_TBL p1  WHERE isvertical(p1.f1, point '(5.1,34.5)');one |     f1     
-----+------------    | (5.1,34.5)
(1 row)

-- "is vertical" operator
SELECT '' AS one, p1.f1  FROM POINT_TBL p1  WHERE p1.f1 ?| point '(5.1,34.5)';one |     f1     
-----+------------    | (5.1,34.5)
(1 row)

--
-- Line segments
--
-- intersection
SELECT '' AS count, p.f1, l.s, l.s # p.f1 AS intersection  FROM LSEG_TBL l, POINT_TBL p;
ERROR:  Unable to identify an operator '#' for types 'lseg' and 'point'You will have to retype this query using an
explicitcast
 
-- closest point
SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest  FROM LSEG_TBL l, POINT_TBL p;thirty |     f1     |
s               |                closest                
 
--------+------------+-------------------------------+---------------------------------------       | (0,0)      |
[(1,2),(3,4)]                | (1,2)       | (-10,0)    | [(1,2),(3,4)]                 | (1,2)       | (-3,4)     |
[(1,2),(3,4)]                | (1,2)       | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)       | (-5,-12)   |
[(1,2),(3,4)]                | (1,2)       | (10,10)    | [(1,2),(3,4)]                 | (3,4)       | (0,0)      |
[(0,0),(6,6)]                | (-0,0)       | (-10,0)    | [(0,0),(6,6)]                 | (0,0)       | (-3,4)     |
[(0,0),(6,6)]                | (0.5,0.5)       | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)       | (-5,-12)
|[(0,0),(6,6)]                 | (0,0)       | (10,10)    | [(0,0),(6,6)]                 | (6,6)       | (0,0)      |
[(10,-10),(-3,-4)]           | (-2.04878048780488,-4.4390243902439)       | (-10,0)    | [(10,-10),(-3,-4)]
|(-3,-4)       | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)       | (5.1,34.5) | [(10,-10),(-3,-4)]
| (-3,-4)       | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878049,-4.64390243902439)       | (10,10)
|[(10,-10),(-3,-4)]            | (2.39024390243902,-6.48780487804878)       | (0,0)      |
[(-1000000,200),(300000,-40)]| (0.0028402365895872,15.384614860264)       | (-10,0)    | [(-1000000,200),(300000,-40)]
|(-9.99715942258202,15.3864610140472)       | (-3,4)     | [(-1000000,200),(300000,-40)] |
(-2.99789812267519,15.3851688427303)      | (5.1,34.5) | [(-1000000,200),(300000,-40)] |
(5.09647083221496,15.3836744976925)      | (-5,-12)   | [(-1000000,200),(300000,-40)] |
(-4.99494420845634,15.3855375281616)      | (10,10)    | [(-1000000,200),(300000,-40)] |
(10.000993741978,15.3827690473092)      | (0,0)      | [(11,22),(33,44)]             | (11,22)       | (-10,0)    |
[(11,22),(33,44)]            | (11,22)       | (-3,4)     | [(11,22),(33,44)]             | (11,22)       | (5.1,34.5)
|[(11,22),(33,44)]             | (14.3,25.3)       | (-5,-12)   | [(11,22),(33,44)]             | (11,22)       |
(10,10)   | [(11,22),(33,44)]             | (11,22)
 
(30 rows)

--
-- Lines
--
--
-- Boxes
--
SELECT '' as six, box(f1) AS box FROM CIRCLE_TBL;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
SELECT '' AS twentyfour, b.f1 + p.f1 AS translation  FROM BOX_TBL b, POINT_TBL p;twentyfour |       translation       
------------+-------------------------           | (2,2),(0,0)           | (-8,2),(-10,0)           | (-1,6),(-3,4)
     | (7.1,36.5),(5.1,34.5)           | (-3,-10),(-5,-12)           | (12,12),(10,10)           | (3,3),(1,1)
| (-7,3),(-9,1)           | (0,7),(-2,5)           | (8.1,37.5),(6.1,35.5)           | (-2,-9),(-4,-11)           |
(13,13),(11,11)          | (2.5,3.5),(2.5,2.5)           | (-7.5,3.5),(-7.5,2.5)           | (-0.5,7.5),(-0.5,6.5)
    | (7.6,38),(7.6,37)           | (-2.5,-8.5),(-2.5,-9.5)           | (12.5,13.5),(12.5,12.5)           | (3,3),(3,3)
         | (-7,3),(-7,3)           | (0,7),(0,7)           | (8.1,37.5),(8.1,37.5)           | (-2,-9),(-2,-9)
| (13,13),(13,13)
 
(24 rows)

SELECT '' AS twentyfour, b.f1 - p.f1 AS translation  FROM BOX_TBL b, POINT_TBL p;twentyfour |        translation

------------+---------------------------           | (2,2),(0,0)           | (12,2),(10,0)           | (5,-2),(3,-4)
      | (-3.1,-32.5),(-5.1,-34.5)           | (7,14),(5,12)           | (-8,-8),(-10,-10)           | (3,3),(1,1)
   | (13,3),(11,1)           | (6,-1),(4,-3)           | (-2.1,-31.5),(-4.1,-33.5)           | (8,15),(6,13)
|(-7,-7),(-9,-9)           | (2.5,3.5),(2.5,2.5)           | (12.5,3.5),(12.5,2.5)           | (5.5,-0.5),(5.5,-1.5)
      | (-2.6,-31),(-2.6,-32)           | (7.5,15.5),(7.5,14.5)           | (-7.5,-6.5),(-7.5,-7.5)           |
(3,3),(3,3)          | (13,3),(13,3)           | (6,-1),(6,-1)           | (-2.1,-31.5),(-2.1,-31.5)           |
(8,15),(8,15)          | (-7,-7),(-7,-7)
 
(24 rows)

-- scaling and rotation
SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation  FROM BOX_TBL b, POINT_TBL p;twentyfour |          rotation

------------+-----------------------------           | (0,0),(0,0)           | (-0,0),(-20,-20)           |
(-0,2),(-14,0)          | (0,79.2),(-58.8,0)           | (14,-0),(0,-34)           | (0,40),(0,0)           |
(0,0),(0,0)          | (-10,-10),(-30,-30)           | (-7,3),(-21,1)           | (-29.4,118.8),(-88.2,39.6)
|(21,-17),(7,-51)           | (0,60),(0,20)           | (0,0),(0,0)           | (-25,-25),(-25,-35)           |
(-17.5,2.5),(-21.5,-0.5)          | (-73.5,104.1),(-108,99)           | (29.5,-42.5),(17.5,-47.5)           |
(0,60),(-10,50)          | (0,0),(0,0)           | (-30,-30),(-30,-30)           | (-21,3),(-21,3)           |
(-88.2,118.8),(-88.2,118.8)          | (21,-51),(21,-51)           | (0,60),(0,60)
 
(24 rows)

SELECT '' AS twenty, b.f1 / p.f1 AS rotation  FROM BOX_TBL b, POINT_TBL p  WHERE (p.f1 <-> point '(0,0)') >= 1;twenty |
                                   rotation                                      
 
--------+-----------------------------------------------------------------------------------       | (0,-0),(-0.2,-0.2)
     | (-0.1,-0.1),(-0.3,-0.3)       | (-0.25,-0.25),(-0.25,-0.35)       | (-0.3,-0.3),(-0.3,-0.3)       |
(0.08,-0),(0,-0.56)      | (0.12,-0.28),(0.04,-0.84)       | (0.26,-0.7),(0.1,-0.82)       | (0.12,-0.84),(0.12,-0.84)
    | (0.0651176557643925,0),(0,-0.0483449262493217)       |
(0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)      |
(0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)      |
(0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)      |
(-0,0.0828402366863905),(-0.201183431952663,0)      |
(-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)      |
(-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)      |
(-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)      | (0.2,0),(0,0)       |
(0.3,0),(0.1,0)      | (0.3,0.05),(0.25,0)       | (0.3,0),(0.3,0)
 
(20 rows)

--
-- Paths
--
SET geqo TO 'off';
SELECT '' AS eight, npoints(f1) AS npoints, f1 AS path FROM PATH_TBL;eight | npoints |           path            
-------+---------+---------------------------      |       2 | [(1,2),(3,4)]      |       2 | ((1,2),(3,4))      |
4 | [(0,0),(3,0),(4,5),(1,6)]      |       2 | ((1,2),(3,4))      |       2 | ((1,2),(3,4))      |       2 |
[(1,2),(3,4)]     |       2 | [(11,12),(13,14)]      |       2 | ((11,12),(13,14))
 
(8 rows)

SELECT '' AS four, path(f1) FROM POLYGON_TBL;four |        path         
------+---------------------     | ((2,0),(2,4),(0,0))     | ((3,1),(3,3),(1,0))     | ((0,0))     | ((0,1),(0,1))
(4 rows)

-- translation
SELECT '' AS eight, p1.f1 + point '(10,10)' AS dist_add  FROM PATH_TBL p1;eight |             dist_add              
-------+-----------------------------------      | [(11,12),(13,14)]      | ((11,12),(13,14))      |
[(10,10),(13,10),(14,15),(11,16)]     | ((11,12),(13,14))      | ((11,12),(13,14))      | [(11,12),(13,14)]      |
[(21,22),(23,24)]     | ((21,22),(23,24))
 
(8 rows)

-- scaling and rotation
SELECT '' AS eight, p1.f1 * point '(2,-1)' AS dist_mul  FROM PATH_TBL p1;eight |           dist_mul           
-------+------------------------------      | [(4,3),(10,5)]      | ((4,3),(10,5))      | [(0,0),(6,-3),(13,6),(8,11)]
   | ((4,3),(10,5))      | ((4,3),(10,5))      | [(4,3),(10,5)]      | [(34,13),(40,15)]      | ((34,13),(40,15))
 
(8 rows)

RESET geqo;
--
-- Polygons
--
-- containment
SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains  FROM POLYGON_TBL poly, POINT_TBL p;twentyfour |
f1    |         f1          | contains 
 
------------+------------+---------------------+----------           | (0,0)      | ((2,0),(2,4),(0,0)) | t           |
(-10,0)   | ((2,0),(2,4),(0,0)) | f           | (-3,4)     | ((2,0),(2,4),(0,0)) | f           | (5.1,34.5) |
((2,0),(2,4),(0,0))| f           | (-5,-12)   | ((2,0),(2,4),(0,0)) | f           | (10,10)    | ((2,0),(2,4),(0,0)) |
f          | (0,0)      | ((3,1),(3,3),(1,0)) | f           | (-10,0)    | ((3,1),(3,3),(1,0)) | f           | (-3,4)
 | ((3,1),(3,3),(1,0)) | f           | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f           | (-5,-12)   |
((3,1),(3,3),(1,0))| f           | (10,10)    | ((3,1),(3,3),(1,0)) | f           | (0,0)      | ((0,0))             |
t          | (-10,0)    | ((0,0))             | f           | (-3,4)     | ((0,0))             | f           |
(5.1,34.5)| ((0,0))             | f           | (-5,-12)   | ((0,0))             | f           | (10,10)    | ((0,0))
         | f           | (0,0)      | ((0,1),(0,1))       | f           | (-10,0)    | ((0,1),(0,1))       | f
| (-3,4)     | ((0,1),(0,1))       | f           | (5.1,34.5) | ((0,1),(0,1))       | f           | (-5,-12)   |
((0,1),(0,1))      | f           | (10,10)    | ((0,1),(0,1))       | f
 
(24 rows)

SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained  FROM POLYGON_TBL poly, POINT_TBL p;twentyfour |
f1     |         f1          | contained 
 
------------+------------+---------------------+-----------           | (0,0)      | ((2,0),(2,4),(0,0)) | t
|(-10,0)    | ((2,0),(2,4),(0,0)) | f           | (-3,4)     | ((2,0),(2,4),(0,0)) | f           | (5.1,34.5) |
((2,0),(2,4),(0,0))| f           | (-5,-12)   | ((2,0),(2,4),(0,0)) | f           | (10,10)    | ((2,0),(2,4),(0,0)) |
f          | (0,0)      | ((3,1),(3,3),(1,0)) | f           | (-10,0)    | ((3,1),(3,3),(1,0)) | f           | (-3,4)
 | ((3,1),(3,3),(1,0)) | f           | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f           | (-5,-12)   |
((3,1),(3,3),(1,0))| f           | (10,10)    | ((3,1),(3,3),(1,0)) | f           | (0,0)      | ((0,0))             |
t          | (-10,0)    | ((0,0))             | f           | (-3,4)     | ((0,0))             | f           |
(5.1,34.5)| ((0,0))             | f           | (-5,-12)   | ((0,0))             | f           | (10,10)    | ((0,0))
         | f           | (0,0)      | ((0,1),(0,1))       | f           | (-10,0)    | ((0,1),(0,1))       | f
| (-3,4)     | ((0,1),(0,1))       | f           | (5.1,34.5) | ((0,1),(0,1))       | f           | (-5,-12)   |
((0,1),(0,1))      | f           | (10,10)    | ((0,1),(0,1))       | f
 
(24 rows)

SELECT '' AS four, npoints(f1) AS npoints, f1 AS polygon  FROM POLYGON_TBL;four | npoints |       polygon       
------+---------+---------------------     |       3 | ((2,0),(2,4),(0,0))     |       3 | ((3,1),(3,3),(1,0))     |
  1 | ((0,0))     |       2 | ((0,1),(0,1))
 
(4 rows)

SELECT '' AS four, polygon(f1)  FROM BOX_TBL;four |                  polygon                  
------+-------------------------------------------     | ((0,0),(0,2),(2,2),(2,0))     | ((1,1),(1,3),(3,3),(3,1))
|((2.5,2.5),(2.5,3.5),(2.5,3.5),(2.5,2.5))     | ((3,3),(3,3),(3,3),(3,3))
 
(4 rows)

SELECT '' AS four, polygon(f1)  FROM PATH_TBL WHERE isclosed(f1);four |      polygon      
------+-------------------     | ((1,2),(3,4))     | ((1,2),(3,4))     | ((1,2),(3,4))     | ((11,12),(13,14))
(4 rows)

SELECT '' AS four, f1 AS open_path, polygon( pclose(f1)) AS polygon  FROM PATH_TBL  WHERE isopen(f1);four |
open_path        |          polygon          
 
------+---------------------------+---------------------------     | [(1,2),(3,4)]             | ((1,2),(3,4))     |
[(0,0),(3,0),(4,5),(1,6)]| ((0,0),(3,0),(4,5),(1,6))     | [(1,2),(3,4)]             | ((1,2),(3,4))     |
[(11,12),(13,14)]        | ((11,12),(13,14))
 
(4 rows)

-- convert circles to polygons using the default number of points
SELECT '' AS six, polygon(f1)  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.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.33012701887967),(-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.500000000048616))
  |
((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.9999999983795))
(6 rows)

-- convert the circle to an 8-point polygon
SELECT '' AS six, polygon(8, f1)  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)

--
-- Circles
--
SELECT '' AS six, circle(f1, 50.0)  FROM POINT_TBL;six |     circle      
-----+-----------------    | <(0,0),50>    | <(-10,0),50>    | <(-3,4),50>    | <(5.1,34.5),50>    | <(-5,-12),50>    |
<(10,10),50>
(6 rows)

SELECT '' AS four, circle(f1)  FROM BOX_TBL;four |         circle          
------+-------------------------     | <(1,1),1.4142135623731>     | <(2,2),1.4142135623731>     | <(2.5,3),0.5>     |
<(3,3),0>
(4 rows)

SELECT '' AS two, circle(f1)  FROM POLYGON_TBL  WHERE (# f1) >= 3;two |                         circle
      
 
-----+--------------------------------------------------------    |
<(1.33333333333333,1.33333333333333),2.04168905063636>   | <(2.33333333333333,1.33333333333333),1.47534300379185>
 
(2 rows)

SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance  FROM CIRCLE_TBL c1, POINT_TBL
p1 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          | <(0,0),3>      | (-10,0)    |                7           | <(1,2),3>      | (-10,0)    |
8.18033988749895          | <(1,2),3>      | (10,10)    |  9.0415945787923           | <(0,0),3>      | (-5,-12)   |
          10           | <(100,0),100>  | (-10,0)    |               10           | <(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          | <(100,200),10> | (10,10)    | 200.237960416286           | <(100,200),10> | (-3,4)     |
211.415898254845          | <(100,200),10> | (0,0)      | 213.606797749979           | <(100,200),10> | (-10,0)    |
218.254244210267          | <(100,200),10> | (-5,-12)   | 226.577682802077
 
(24 rows)

--
-- GEOMETRY
--
--
-- Points
--
SELECT '' AS four, center(f1) AS center  FROM BOX_TBL;four | center  
------+---------     | (1,1)     | (2,2)     | (2.5,3)     | (3,3)
(4 rows)

SELECT '' AS four, (@@ f1) AS center  FROM BOX_TBL;four | center  
------+---------     | (1,1)     | (2,2)     | (2.5,3)     | (3,3)
(4 rows)

SELECT '' AS six, point(f1) AS center  FROM CIRCLE_TBL;six |  center   
-----+-----------    | (0,0)    | (1,2)    | (1,3)    | (1,2)    | (100,200)    | (100,0)
(6 rows)

SELECT '' AS six, (@@ f1) AS center  FROM CIRCLE_TBL;six |  center   
-----+-----------    | (0,0)    | (1,2)    | (1,3)    | (1,2)    | (100,200)    | (100,0)
(6 rows)

SELECT '' AS two, (@@ f1) AS center  FROM POLYGON_TBL  WHERE (# f1) > 2;two |               center                
-----+-------------------------------------    | (1.33333333333333,1.33333333333333)    |
(2.33333333333333,1.33333333333333)
(2 rows)

-- "is horizontal" function
SELECT '' AS two, p1.f1  FROM POINT_TBL p1  WHERE ishorizontal(p1.f1, point '(0,0)');two |   f1    
-----+---------    | (0,0)    | (-10,0)
(2 rows)

-- "is horizontal" operator
SELECT '' AS two, p1.f1  FROM POINT_TBL p1  WHERE p1.f1 ?- point '(0,0)';two |   f1    
-----+---------    | (0,0)    | (-10,0)
(2 rows)

-- "is vertical" function
SELECT '' AS one, p1.f1  FROM POINT_TBL p1  WHERE isvertical(p1.f1, point '(5.1,34.5)');one |     f1     
-----+------------    | (5.1,34.5)
(1 row)

-- "is vertical" operator
SELECT '' AS one, p1.f1  FROM POINT_TBL p1  WHERE p1.f1 ?| point '(5.1,34.5)';one |     f1     
-----+------------    | (5.1,34.5)
(1 row)

--
-- Line segments
--
-- intersection
SELECT '' AS count, p.f1, l.s, l.s # p.f1 AS intersection  FROM LSEG_TBL l, POINT_TBL p;
ERROR:  Unable to identify an operator '#' for types 'lseg' and 'point'You will have to retype this query using an
explicitcast
 
-- closest point
SELECT '' AS thirty, p.f1, l.s, p.f1 ## l.s AS closest  FROM LSEG_TBL l, POINT_TBL p;thirty |     f1     |
s               |                closest                
 
--------+------------+-------------------------------+---------------------------------------       | (0,0)      |
[(1,2),(3,4)]                | (1,2)       | (-10,0)    | [(1,2),(3,4)]                 | (1,2)       | (-3,4)     |
[(1,2),(3,4)]                | (1,2)       | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)       | (-5,-12)   |
[(1,2),(3,4)]                | (1,2)       | (10,10)    | [(1,2),(3,4)]                 | (3,4)       | (0,0)      |
[(0,0),(6,6)]                | (-0,0)       | (-10,0)    | [(0,0),(6,6)]                 | (0,0)       | (-3,4)     |
[(0,0),(6,6)]                | (0.5,0.5)       | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)       | (-5,-12)
|[(0,0),(6,6)]                 | (0,0)       | (10,10)    | [(0,0),(6,6)]                 | (6,6)       | (0,0)      |
[(10,-10),(-3,-4)]           | (-2.04878048780488,-4.4390243902439)       | (-10,0)    | [(10,-10),(-3,-4)]
|(-3,-4)       | (-3,4)     | [(10,-10),(-3,-4)]            | (-3,-4)       | (5.1,34.5) | [(10,-10),(-3,-4)]
| (-3,-4)       | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878049,-4.64390243902439)       | (10,10)
|[(10,-10),(-3,-4)]            | (2.39024390243902,-6.48780487804878)       | (0,0)      |
[(-1000000,200),(300000,-40)]| (0.0028402365895872,15.384614860264)       | (-10,0)    | [(-1000000,200),(300000,-40)]
|(-9.99715942258202,15.3864610140473)       | (-3,4)     | [(-1000000,200),(300000,-40)] |
(-2.99789812267519,15.3851688427303)      | (5.1,34.5) | [(-1000000,200),(300000,-40)] |
(5.09647083221496,15.3836744976925)      | (-5,-12)   | [(-1000000,200),(300000,-40)] |
(-4.99494420845634,15.3855375281616)      | (10,10)    | [(-1000000,200),(300000,-40)] |
(10.000993741978,15.3827690473092)      | (0,0)      | [(11,22),(33,44)]             | (11,22)       | (-10,0)    |
[(11,22),(33,44)]            | (11,22)       | (-3,4)     | [(11,22),(33,44)]             | (11,22)       | (5.1,34.5)
|[(11,22),(33,44)]             | (14.3,25.3)       | (-5,-12)   | [(11,22),(33,44)]             | (11,22)       |
(10,10)   | [(11,22),(33,44)]             | (11,22)
 
(30 rows)

--
-- Lines
--
--
-- Boxes
--
SELECT '' as six, box(f1) AS box FROM CIRCLE_TBL;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
SELECT '' AS twentyfour, b.f1 + p.f1 AS translation  FROM BOX_TBL b, POINT_TBL p;twentyfour |       translation       
------------+-------------------------           | (2,2),(0,0)           | (-8,2),(-10,0)           | (-1,6),(-3,4)
     | (7.1,36.5),(5.1,34.5)           | (-3,-10),(-5,-12)           | (12,12),(10,10)           | (3,3),(1,1)
| (-7,3),(-9,1)           | (0,7),(-2,5)           | (8.1,37.5),(6.1,35.5)           | (-2,-9),(-4,-11)           |
(13,13),(11,11)          | (2.5,3.5),(2.5,2.5)           | (-7.5,3.5),(-7.5,2.5)           | (-0.5,7.5),(-0.5,6.5)
    | (7.6,38),(7.6,37)           | (-2.5,-8.5),(-2.5,-9.5)           | (12.5,13.5),(12.5,12.5)           | (3,3),(3,3)
         | (-7,3),(-7,3)           | (0,7),(0,7)           | (8.1,37.5),(8.1,37.5)           | (-2,-9),(-2,-9)
| (13,13),(13,13)
 
(24 rows)

SELECT '' AS twentyfour, b.f1 - p.f1 AS translation  FROM BOX_TBL b, POINT_TBL p;twentyfour |        translation

------------+---------------------------           | (2,2),(0,0)           | (12,2),(10,0)           | (5,-2),(3,-4)
      | (-3.1,-32.5),(-5.1,-34.5)           | (7,14),(5,12)           | (-8,-8),(-10,-10)           | (3,3),(1,1)
   | (13,3),(11,1)           | (6,-1),(4,-3)           | (-2.1,-31.5),(-4.1,-33.5)           | (8,15),(6,13)
|(-7,-7),(-9,-9)           | (2.5,3.5),(2.5,2.5)           | (12.5,3.5),(12.5,2.5)           | (5.5,-0.5),(5.5,-1.5)
      | (-2.6,-31),(-2.6,-32)           | (7.5,15.5),(7.5,14.5)           | (-7.5,-6.5),(-7.5,-7.5)           |
(3,3),(3,3)          | (13,3),(13,3)           | (6,-1),(6,-1)           | (-2.1,-31.5),(-2.1,-31.5)           |
(8,15),(8,15)          | (-7,-7),(-7,-7)
 
(24 rows)

-- scaling and rotation
SELECT '' AS twentyfour, b.f1 * p.f1 AS rotation  FROM BOX_TBL b, POINT_TBL p;twentyfour |          rotation

------------+-----------------------------           | (0,0),(0,0)           | (-0,0),(-20,-20)           |
(-0,2),(-14,0)          | (0,79.2),(-58.8,0)           | (14,-0),(0,-34)           | (0,40),(0,0)           |
(0,0),(0,0)          | (-10,-10),(-30,-30)           | (-7,3),(-21,1)           | (-29.4,118.8),(-88.2,39.6)
|(21,-17),(7,-51)           | (0,60),(0,20)           | (0,0),(0,0)           | (-25,-25),(-25,-35)           |
(-17.5,2.5),(-21.5,-0.5)          | (-73.5,104.1),(-108,99)           | (29.5,-42.5),(17.5,-47.5)           |
(0,60),(-10,50)          | (0,0),(0,0)           | (-30,-30),(-30,-30)           | (-21,3),(-21,3)           |
(-88.2,118.8),(-88.2,118.8)          | (21,-51),(21,-51)           | (0,60),(0,60)
 
(24 rows)

SELECT '' AS twenty, b.f1 / p.f1 AS rotation  FROM BOX_TBL b, POINT_TBL p  WHERE (p.f1 <-> point '(0,0)') >= 1;twenty |
                                   rotation                                      
 
--------+-----------------------------------------------------------------------------------       | (0,-0),(-0.2,-0.2)
     | (-0.1,-0.1),(-0.3,-0.3)       | (-0.25,-0.25),(-0.25,-0.35)       | (-0.3,-0.3),(-0.3,-0.3)       |
(0.08,-0),(0,-0.56)      | (0.12,-0.28),(0.04,-0.84)       | (0.26,-0.7),(0.1,-0.82)       | (0.12,-0.84),(0.12,-0.84)
    | (0.0651176557643925,0),(0,-0.0483449262493217)       |
(0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)      |
(0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)      |
(0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)      |
(-0,0.0828402366863905),(-0.201183431952663,0)      |
(-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)      |
(-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)      |
(-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)      | (0.2,0),(0,0)       |
(0.3,0),(0.1,0)      | (0.3,0.05),(0.25,0)       | (0.3,0),(0.3,0)
 
(20 rows)

--
-- Paths
--
SET geqo TO 'off';
SELECT '' AS eight, npoints(f1) AS npoints, f1 AS path FROM PATH_TBL;eight | npoints |           path            
-------+---------+---------------------------      |       2 | [(1,2),(3,4)]      |       2 | ((1,2),(3,4))      |
4 | [(0,0),(3,0),(4,5),(1,6)]      |       2 | ((1,2),(3,4))      |       2 | ((1,2),(3,4))      |       2 |
[(1,2),(3,4)]     |       2 | [(11,12),(13,14)]      |       2 | ((11,12),(13,14))
 
(8 rows)

SELECT '' AS four, path(f1) FROM POLYGON_TBL;four |        path         
------+---------------------     | ((2,0),(2,4),(0,0))     | ((3,1),(3,3),(1,0))     | ((0,0))     | ((0,1),(0,1))
(4 rows)

-- translation
SELECT '' AS eight, p1.f1 + point '(10,10)' AS dist_add  FROM PATH_TBL p1;eight |             dist_add              
-------+-----------------------------------      | [(11,12),(13,14)]      | ((11,12),(13,14))      |
[(10,10),(13,10),(14,15),(11,16)]     | ((11,12),(13,14))      | ((11,12),(13,14))      | [(11,12),(13,14)]      |
[(21,22),(23,24)]     | ((21,22),(23,24))
 
(8 rows)

-- scaling and rotation
SELECT '' AS eight, p1.f1 * point '(2,-1)' AS dist_mul  FROM PATH_TBL p1;eight |           dist_mul           
-------+------------------------------      | [(4,3),(10,5)]      | ((4,3),(10,5))      | [(0,0),(6,-3),(13,6),(8,11)]
   | ((4,3),(10,5))      | ((4,3),(10,5))      | [(4,3),(10,5)]      | [(34,13),(40,15)]      | ((34,13),(40,15))
 
(8 rows)

RESET geqo;
--
-- Polygons
--
-- containment
SELECT '' AS twentyfour, p.f1, poly.f1, poly.f1 ~ p.f1 AS contains  FROM POLYGON_TBL poly, POINT_TBL p;twentyfour |
f1    |         f1          | contains 
 
------------+------------+---------------------+----------           | (0,0)      | ((2,0),(2,4),(0,0)) | t           |
(-10,0)   | ((2,0),(2,4),(0,0)) | f           | (-3,4)     | ((2,0),(2,4),(0,0)) | f           | (5.1,34.5) |
((2,0),(2,4),(0,0))| f           | (-5,-12)   | ((2,0),(2,4),(0,0)) | f           | (10,10)    | ((2,0),(2,4),(0,0)) |
f          | (0,0)      | ((3,1),(3,3),(1,0)) | f           | (-10,0)    | ((3,1),(3,3),(1,0)) | f           | (-3,4)
 | ((3,1),(3,3),(1,0)) | f           | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f           | (-5,-12)   |
((3,1),(3,3),(1,0))| f           | (10,10)    | ((3,1),(3,3),(1,0)) | f           | (0,0)      | ((0,0))             |
t          | (-10,0)    | ((0,0))             | f           | (-3,4)     | ((0,0))             | f           |
(5.1,34.5)| ((0,0))             | f           | (-5,-12)   | ((0,0))             | f           | (10,10)    | ((0,0))
         | f           | (0,0)      | ((0,1),(0,1))       | f           | (-10,0)    | ((0,1),(0,1))       | f
| (-3,4)     | ((0,1),(0,1))       | f           | (5.1,34.5) | ((0,1),(0,1))       | f           | (-5,-12)   |
((0,1),(0,1))      | f           | (10,10)    | ((0,1),(0,1))       | f
 
(24 rows)

SELECT '' AS twentyfour, p.f1, poly.f1, p.f1 @ poly.f1 AS contained  FROM POLYGON_TBL poly, POINT_TBL p;twentyfour |
f1     |         f1          | contained 
 
------------+------------+---------------------+-----------           | (0,0)      | ((2,0),(2,4),(0,0)) | t
|(-10,0)    | ((2,0),(2,4),(0,0)) | f           | (-3,4)     | ((2,0),(2,4),(0,0)) | f           | (5.1,34.5) |
((2,0),(2,4),(0,0))| f           | (-5,-12)   | ((2,0),(2,4),(0,0)) | f           | (10,10)    | ((2,0),(2,4),(0,0)) |
f          | (0,0)      | ((3,1),(3,3),(1,0)) | f           | (-10,0)    | ((3,1),(3,3),(1,0)) | f           | (-3,4)
 | ((3,1),(3,3),(1,0)) | f           | (5.1,34.5) | ((3,1),(3,3),(1,0)) | f           | (-5,-12)   |
((3,1),(3,3),(1,0))| f           | (10,10)    | ((3,1),(3,3),(1,0)) | f           | (0,0)      | ((0,0))             |
t          | (-10,0)    | ((0,0))             | f           | (-3,4)     | ((0,0))             | f           |
(5.1,34.5)| ((0,0))             | f           | (-5,-12)   | ((0,0))             | f           | (10,10)    | ((0,0))
         | f           | (0,0)      | ((0,1),(0,1))       | f           | (-10,0)    | ((0,1),(0,1))       | f
| (-3,4)     | ((0,1),(0,1))       | f           | (5.1,34.5) | ((0,1),(0,1))       | f           | (-5,-12)   |
((0,1),(0,1))      | f           | (10,10)    | ((0,1),(0,1))       | f
 
(24 rows)

SELECT '' AS four, npoints(f1) AS npoints, f1 AS polygon  FROM POLYGON_TBL;four | npoints |       polygon       
------+---------+---------------------     |       3 | ((2,0),(2,4),(0,0))     |       3 | ((3,1),(3,3),(1,0))     |
  1 | ((0,0))     |       2 | ((0,1),(0,1))
 
(4 rows)

SELECT '' AS four, polygon(f1)  FROM BOX_TBL;four |                  polygon                  
------+-------------------------------------------     | ((0,0),(0,2),(2,2),(2,0))     | ((1,1),(1,3),(3,3),(3,1))
|((2.5,2.5),(2.5,3.5),(2.5,3.5),(2.5,2.5))     | ((3,3),(3,3),(3,3),(3,3))
 
(4 rows)

SELECT '' AS four, polygon(f1)  FROM PATH_TBL WHERE isclosed(f1);four |      polygon      
------+-------------------     | ((1,2),(3,4))     | ((1,2),(3,4))     | ((1,2),(3,4))     | ((11,12),(13,14))
(4 rows)

SELECT '' AS four, f1 AS open_path, polygon( pclose(f1)) AS polygon  FROM PATH_TBL  WHERE isopen(f1);four |
open_path        |          polygon          
 
------+---------------------------+---------------------------     | [(1,2),(3,4)]             | ((1,2),(3,4))     |
[(0,0),(3,0),(4,5),(1,6)]| ((0,0),(3,0),(4,5),(1,6))     | [(1,2),(3,4)]             | ((1,2),(3,4))     |
[(11,12),(13,14)]        | ((11,12),(13,14))
 
(4 rows)

-- convert circles to polygons using the default number of points
SELECT '' AS six, polygon(f1)  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.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.500000000081027))
  |
((-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.500000000048616))
  |
((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.9999999983795))
(6 rows)

-- convert the circle to an 8-point polygon
SELECT '' AS six, polygon(8, f1)  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)

--
-- Circles
--
SELECT '' AS six, circle(f1, 50.0)  FROM POINT_TBL;six |     circle      
-----+-----------------    | <(0,0),50>    | <(-10,0),50>    | <(-3,4),50>    | <(5.1,34.5),50>    | <(-5,-12),50>    |
<(10,10),50>
(6 rows)

SELECT '' AS four, circle(f1)  FROM BOX_TBL;four |         circle          
------+-------------------------     | <(1,1),1.4142135623731>     | <(2,2),1.4142135623731>     | <(2.5,3),0.5>     |
<(3,3),0>
(4 rows)

SELECT '' AS two, circle(f1)  FROM POLYGON_TBL  WHERE (# f1) >= 3;two |                         circle
      
 
-----+--------------------------------------------------------    |
<(1.33333333333333,1.33333333333333),2.04168905063636>   | <(2.33333333333333,1.33333333333333),1.47534300379185>
 
(2 rows)

SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance  FROM CIRCLE_TBL c1, POINT_TBL
p1 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          | <(0,0),3>      | (-10,0)    |                7           | <(1,2),3>      | (-10,0)    |
8.18033988749895          | <(1,2),3>      | (10,10)    |  9.0415945787923           | <(0,0),3>      | (-5,-12)   |
          10           | <(100,0),100>  | (-10,0)    |               10           | <(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          | <(100,200),10> | (10,10)    | 200.237960416286           | <(100,200),10> | (-3,4)     |
211.415898254845          | <(100,200),10> | (0,0)      | 213.606797749979           | <(100,200),10> | (-10,0)    |
218.254244210267          | <(100,200),10> | (-5,-12)   | 226.577682802077
 
(24 rows)


Re: Call for platforms (HP-UX)

From
Tom Lane
Date:
Giles Lean <giles@nemeton.com.au> writes:
>    I'll look at this next week.  If someone can confirm that
>    /usr/bin/sh works for make check on HP-UX 10.20 that would be
>    useful.

It does not work.  See FAQ_HPUX.

> 2. I saw two different sets of output for geometry.out.  These seem to
>    relate to the processor level:

I think it depends more on what software you use.  The existing HPUX
resultmap (geometry-positive-zeros) works on my usual platform (C180,
PA8000 chip I think) when using gcc.  Compile with cc and you get one
different lowest-order digit in two lines, IIRC.  I have not tried it
lately on a 1.1 chip.

>    (a) on PA-RISC 1.1 some of the zero values are negative

Hmm, so does it match any of the existing geometry files?  That would
suggest that HPUX 11 has started adhering more closely to the IEEE rules
about negative zeroes ...
        regards, tom lane


Re: Call for platforms (HP-UX)

From
Tom Lane
Date:
Giles Lean <giles@nemeton.com.au> writes:
>> It does not work.  See FAQ_HPUX.

> I'm confused: I don't see anything about shells or make check hanging
> in doc/FAQ_HPUX.  There is clear instruction to use GNU make, which I
> am doing.

Hm, I thought I had updated that before beta6.  What it has now is

The parallel regression test script (gmake check) is known to lock up
when run under HP's default Bourne shell, at least in HPUX 10.20.  This
appears to be a shell bug, not the fault of the script.  If you see that
the tests have stopped making progress and only a shell process is
consuming CPU, kill the shell and start over withgmake SHELL=/bin/ksh check
to use ksh instead.

        regards, tom lane


Re: Call for platforms (HP-UX)

From
Giles Lean
Date:
> >    I'll look at this next week.  If someone can confirm that
> >    /usr/bin/sh works for make check on HP-UX 10.20 that would be
> >    useful.
> 
> It does not work.  See FAQ_HPUX.

I'm confused: I don't see anything about shells or make check hanging
in doc/FAQ_HPUX.  There is clear instruction to use GNU make, which I
am doing.

I'll look into the problem anyway.

> >    (a) on PA-RISC 1.1 some of the zero values are negative
> 
> Hmm, so does it match any of the existing geometry files?

No ... I was hoping for that, but not.

Regards,

Giles



Re: Call for platforms (HP-UX)

From
Giles Lean
Date:
> Hm, I thought I had updated that before beta6.  What it has now is

<grin>

> The parallel regression test script (gmake check) is known to lock up
> when run under HP's default Bourne shell, at least in HPUX 10.20.  This
> appears to be a shell bug, not the fault of the script.  If you see that
> the tests have stopped making progress and only a shell process is
> consuming CPU, kill the shell and start over with
>     gmake SHELL=/bin/ksh check
> to use ksh instead.

Interestingly, ksh didn't work for me either, but didn't try it on all
the platforms I built on.  I'll make a note to check ksh when I'm
investigating the problem next week though, and let you know what I
find.

Regards,

Giles



Re: Call for platforms (HP-UX)

From
Tom Lane
Date:
Giles Lean <giles@nemeton.com.au> writes:
> 2. I saw two different sets of output for geometry.out.  These seem to
>    relate to the processor level:

Okay, here are my results:

Box 1: C180 (2.0 PA8000), HPUX 10.20

Compile with gcc: all tests pass
Compile with cc: two lines of diffs in geometry (attached)

Box 2: 715/75 (1.1 PA7100LC), HPUX 10.20

Compile with gcc: all tests pass
Compile with cc: all tests pass


Box 1 is more up-to-date on HP patches than box 2, so I wouldn't
necessarily attribute the difference to the processor.
        regards, tom lane

*** ./expected/geometry-positive-zeros.out    Mon Sep 11 23:21:06 2000
--- ./results/geometry.out    Sat Mar 24 02:45:35 2001
***************
*** 127,133 ****         | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878049,-4.64390243902439)         |
(10,10)   | [(10,-10),(-3,-4)]            | (2.39024390243902,-6.48780487804878)         | (0,0)      |
[(-1000000,200),(300000,-40)]| (0.0028402365895872,15.384614860264)
 
!         | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258202,15.3864610140472)         | (-3,4)     |
[(-1000000,200),(300000,-40)]| (-2.99789812267519,15.3851688427303)         | (5.1,34.5) |
[(-1000000,200),(300000,-40)]| (5.09647083221496,15.3836744976925)         | (-5,-12)   | [(-1000000,200),(300000,-40)]
|(-4.99494420845634,15.3855375281616)
 
--- 127,133 ----         | (-5,-12)   | [(10,-10),(-3,-4)]            | (-1.60487804878049,-4.64390243902439)         |
(10,10)   | [(10,-10),(-3,-4)]            | (2.39024390243902,-6.48780487804878)         | (0,0)      |
[(-1000000,200),(300000,-40)]| (0.0028402365895872,15.384614860264)
 
!         | (-10,0)    | [(-1000000,200),(300000,-40)] | (-9.99715942258202,15.3864610140473)         | (-3,4)     |
[(-1000000,200),(300000,-40)]| (-2.99789812267519,15.3851688427303)         | (5.1,34.5) |
[(-1000000,200),(300000,-40)]| (5.09647083221496,15.3836744976925)         | (-5,-12)   | [(-1000000,200),(300000,-40)]
|(-4.99494420845634,15.3855375281616)
 
***************
*** 445,451 ****
-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    |
((-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.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.33012701887967),(-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.500000000048616))
    |
((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.9999999983795))
--- 445,451 ----
-----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    |
((-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.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.500000000081027))
    |
((-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.500000000048616))
    |
((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.9999999983795))

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



Re: Call for platforms (HP-UX)

From
Giles Lean
Date:
> Okay, here are my results:
> 
> Box 1: C180 (2.0 PA8000), HPUX 10.20
> 
> Compile with gcc: all tests pass
> Compile with cc: two lines of diffs in geometry (attached)
> 
> Box 2: 715/75 (1.1 PA7100LC), HPUX 10.20
> 
> Compile with gcc: all tests pass
> Compile with cc: all tests pass

I haven't had time to look at this further yet, except to build 7.1RC3
a couple of times with the HP ANSI C compiler today:

PA-RISC 1.1 code (-Ae +O2 +DAportable):   all tests pass
PA-RISC 2.0 code (-Ae +O2 +DA2.0 +DS2.0): geometry failures

I'm not sure how interesting these differences are anymore -- is there
anyone familiar enough with floating point to determine if the results
are acceptable (although currently unexpected :-) or not?

Regards,

Giles







Re: Call for platforms (HP-UX)

From
Tom Lane
Date:
Giles Lean <giles@nemeton.com.au> writes:
> I'm not sure how interesting these differences are anymore -- is there
> anyone familiar enough with floating point to determine if the results
> are acceptable (although currently unexpected :-) or not?

Differences in the last couple of decimal places in the geometry test
are definitely not a cause for worry.  Although we've tried to create
exact-match reference files for the most popular platforms, I think
that's largely an exercise in time-wasting.  Eventually we will figure
out a way to make the geometry output round off a few digits, and then
the cross-platform differences should mostly vanish.
        regards, tom lane


Call for platforms (Solaris)

From
Mathijs Brands
Date:
Hi

I've been running RC3 regression tests, starting with a FreeBSD 4.2-STABLE
and a Solaris 7 Sparc box. Both tests ran without any problems. I tried
Solaris 8 Sparc next: it still suffered from the same unix socket problems.
I had a look at the code and it seems to me that the use of unix sockets
in RC3 is still enabled, even though it (appearently) doesn't work reliably
on Solaris.

Since it was rather strange that RC3 did work correctly on Solaris 7 but
not 8, I also ran regression tests on another Solaris 7 and another 8 box,
with the same results. Since I still didn't trust it, I also ran RC1 again
on both Solaris 7 and 8; same result. And now things start getting weird.
A little more than a week ago the RC1 regression tests ran with on average
10-15 tests randomly failing. Now, however, I can run the regression several
times without any test failing. But if I run the regression test enough
times (4-6 times), I do have tests that fail (about 2-5). The configuration
of these servers hasn't changed in the last months and I used the same RC1
source and binaries.

Can somebody confirm whether pgsql Solaris does or does not work correctly
out-of-the-box? Disabling unix sockets will probably fix all these problems,
so I'm naturally wondering whether unix socket will or will not be disabled
in pgsql 7.1...

Regards,

Mathijs

Ps. Vince, could you remove test results 46 and 47? I don't trust them
anymore.
-- 
"A book is a fragile creature.  It suffers the wear of time,it fears rodents, the elements, clumsy hands."
UmbertoEco