[postgis-tickets] [PostGIS] #5251: winnie regression on tickets #4011 ST_LineMerge

PostGIS trac at osgeo.org
Mon Sep 26 17:02:45 PDT 2022


#5251: winnie regression on tickets #4011 ST_LineMerge
-----------------------+---------------------------
 Reporter:  robe       |      Owner:  robe
     Type:  defect     |     Status:  new
 Priority:  blocker    |  Milestone:  PostGIS 3.4.0
Component:  buildbots  |    Version:  master
 Keywords:             |
-----------------------+---------------------------
 I'm not sure how long this one has been going on since we had the other
 GEOS issue too.
 Regression on test #4011

 {{{
 PostgreSQL 14.5, compiled by Visual C++ build 1914, 64-bit
   Postgis 3.4.0dev - (3.3.0rc2-128-g1bd0a8410) - 2022-09-26 20:52:35
   scripts 3.4.0dev 3.3.0rc2-128-g1bd0a8410
   raster scripts 3.4.0dev 3.3.0rc2-128-g1bd0a8410
   GEOS: 3.12.0dev-CAPI-1.18.0
   PROJ: 7.2.1
   SFCGAL: 1.4.1
   GDAL: GDAL 3.4.3, released 2022/04/22

  ./regress/core/tickets .. failed (diff expected obtained:
 /projects/postgis/tmp/3.4.0dev_pg14_geos3.12_gdal3.4.3w64/test_84_diff)
 -----------------------------------------------------------------------------
 --- ./regress/core/tickets_expected     2022-08-27 01:03:01.977034900
 -0400
 +++ /projects/postgis/tmp/3.4.0dev_pg14_geos3.12_gdal3.4.3w64/test_84_out
 2022-09-26 17:11:56.173769200 -0400
 @@ -320,7 +320,7 @@
  #4011|ST_LineString|MULTILINESTRING((0 0,1 1),EMPTY)|f|t
  #4011|ST_MultiLineString|MULTILINESTRING(EMPTY,EMPTY)|t|t
  #4011||||
 -#4011|ST_GeometryCollection|POLYGON((0 0,1 0,1 1,0 0))|f|t
 +#4011|ST_LineString|POLYGON((0 0,1 0,1 1,0 0))|f|t
  #4011|ST_LineString|GEOMETRYCOLLECTION(LINESTRING(0 0,1 1))|f|t
  #4011|ST_MultiLineString|MULTILINESTRING EMPTY|t|t
  #4011|ST_GeometryCollection|MULTILINESTRING((0 0,0 0))|f|f
 -----------------------------------------------------------------------------
 }}}


 winnie might be the only bot testing GEOS 3.12dev, so could be a GEOS
 issue.

 I'll flip debbie to test GEOS main to see if she runs into the same issue

 The query is


 {{{
 SELECT '#4011',
 ST_GeometryType(ST_LineMerge(geom)) AS linemerge,
 ST_AsText(geom) AS geom,
 ST_IsEmpty(geom) AS empty,
 ST_IsValid(geom) AS valid
 FROM (VALUES
 ('LINESTRING(0 0, 1 1)'),
 ('MULTILINESTRING((0 0, 1 1), (1 1, 2 2))'),
 ('MULTILINESTRING((0 0, 1 1), EMPTY)'),
 ('MULTILINESTRING(EMPTY, EMPTY)'),
 (NULL),
 ('POLYGON((0 0, 1 0, 1 1, 0 0))'),
 ('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1))'),
 ('MULTILINESTRING EMPTY'),
 ('MULTILINESTRING((0 0, 0 0))')
 ) as f(geom);
 }}}


 The one in particular that is giving different answer is

 {{{
 SELECT ST_LineMerge('POLYGON((0 0, 1 0, 1 1, 0 0))'::geometry);

 }}}

 In past, this would give false ''GEOMETRYCOLLECTION EMPTY'' now it's
 giving ''LINESTRING(0 0,1 0,1 1,0 0)''

 I think it's a geos change, cause my geos 3.12dev dates 9/14 gave the old
 answer. I copied winnie's geos build from today and now get this new
 answer.
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5251>
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