[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