[postgis-tickets] [PostGIS] #3220: Mingw failure on cluster test

PostGIS trac at osgeo.org
Sat Aug 22 16:25:51 PDT 2015


#3220: Mingw failure on cluster test
----------------------+---------------------------
  Reporter:  robe     |      Owner:  pramsey
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  PostGIS 2.2.0
 Component:  postgis  |    Version:  trunk
Resolution:           |   Keywords:
----------------------+---------------------------
Changes (by robe):

 * cc: pramsey, nicklas (added)


Comment:

 Okay for completeness, I put in a notice to trap whenever the union
 operation is being called:

 Test:

 {{{
 CREATE TEMPORARY TABLE cluster_inputs (id int, geom geometry);
 INSERT INTO cluster_inputs VALUES
 (1, 'LINESTRING (0 0, 1 1)'),
 (2, 'LINESTRING (5 5, 4 4)'),
 (3, NULL),
 (4, 'LINESTRING (0 0, -1 -1)'),
 (5, 'LINESTRING (6 6, 7 7)'),
 (6, 'POLYGON EMPTY'),
 (7, 'POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0))');

 SELECT 't3', ST_AsText(unnest(ST_ClusterWithin(geom, 1.4 ORDER BY id)))
 FROM cluster_inputs;
 }}}


 -- failing mingw64 PostgreSQL using postgis mingw64 compiled binaries
 gives these notices

 {{{
 NOTICE:  mindist: 0, cxt tolerance: 1.38242e+306
 NOTICE:  Performaing union
 NOTICE:  mindist: 0, cxt tolerance: 1.38242e+306
 NOTICE:  Performaing union
 NOTICE:  mindist: 4.24264, cxt tolerance: 1.38242e+306
 NOTICE:  Performaing union
 NOTICE:  mindist: 7.07107, cxt tolerance: 1.38242e+306
 NOTICE:  Performaing union
 }}}


 -- passing VC++ build (against mingw64 compiled postgis binaries gives
 this

 {{{
 NOTICE:  mindist: 0, cxt tolerance: 1.4
 NOTICE:  Performaing union
 NOTICE:  mindist: 0, cxt tolerance: 1.4
 NOTICE:  Performaing union
 NOTICE:  mindist: 0, cxt tolerance: 1.4
 NOTICE:  Performaing union
 NOTICE:  mindist: 1.41421, cxt tolerance: 1.4
 NOTICE:  mindist: 1.41421, cxt tolerance: 1.4
 }}}

 So the failing one always thinks 1.38242..+306 is bigger than mindist.
 I vaguely remember we having this problem before and pramsey or nicklas
 came up with a fix for it (some sort of macro as I recall).  Maybe one of
 them can remember (added them to cc).  I'll hunt in code base to see if I
 can bring that up.

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3220#comment:11>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list