[postgis-tickets] [PostGIS] #5033: Note Breaking change in PostGIS 3.1 with introduction of gridSize

PostGIS trac at osgeo.org
Wed Dec 15 07:45:53 PST 2021


#5033: Note Breaking change in PostGIS 3.1 with introduction of gridSize
---------------------+---------------------------
 Reporter:  robe     |      Owner:  pramsey
     Type:  defect   |     Status:  new
 Priority:  medium   |  Milestone:  PostGIS 3.1.5
Component:  postgis  |    Version:  3.1.x
 Keywords:           |
---------------------+---------------------------
 I got a complaint recently from someone that they can't upgrade to PostGIS
 3.1 from prior versions.

 Issue is they have Materialized views that rely on:


 {{{
  ST_Intersection(geometry, geometry)
 }}}


 and our upgrade wants to drop that function and add


 {{{
 ST_Intersection(geometry, geometry, gridSize default -1)
 }}}

 I'm ticketing this just in case we can do something about it in the
 future.

 My solution to them would involve hacking their extension script so I
 could put back ST_Intersection(geometry, geometry) and make the
 ST_Intersection(geometry, geometry, gridSize (not a default).

 Unfortunately I can't hack their extension script cause they are on Amazon
 RDS so extension scripts are off limits.

 Martin asked why can't we fix it now, and reason is 4 microversions have
 been released of 3.1 since.  Anyone who was bitten by this probably sucked
 it up dropped their views and recreated them.  Fixing this would then
 break things in a microversion which is a huge no no.

 I think the most we can do about this is put a warning in next 3.1.5
 release notes about this breaking news that between 3.1/3.0

 Sadly of all the things we noted as breaking, we neglected to mention this
 one

 https://git.osgeo.org/gitea/postgis/postgis/src/branch/stable-3.1/NEWS#L87

 This affects all functions where we added a gridSize from new things:

 {{{

 ST_Difference - Enhanced: 3.1.0 accept a gridSize parameter - requires
 GEOS >= 3.9.0 Returns a geometry representing the part of geometry A that
 does not intersect geometry B.
 ST_Intersection - Enhanced: 3.1.0 accept a gridSize parameter - requires
 GEOS >= 3.9.0 Returns a geometry representing the shared portion of
 geometries A and B.

 ST_Subdivide - Enhanced: 3.1.0 accept a gridSize parameter, requires GEOS
 >= 3.9.0 to use this new feature. Computes a rectilinear subdivision of a
 geometry.
 ST_SymDifference - Enhanced: 3.1.0 accept a gridSize parameter - requires
 GEOS >= 3.9.0 Returns a geometry representing the portions of geometries A
 and B that do not intersect.

 ST_UnaryUnion - Enhanced: 3.1.0 accept a gridSize parameter - requires
 GEOS >= 3.9.0 Computes the union of the components of a single geometry.

 ST_Union - Enhanced: 3.1.0 accept a gridSize parameter - requires GEOS >=
 3.9.0 Returns a geometry representing the point-set union of the input
 geometries.
 }}}

 I suspect most impacted will be ST_Intersection, ST_UnaryUnion, and
 ST_Union

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5033>
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