]> granicus.if.org Git - postgis/commitdiff
Mark ST_Extent, ST_Mem* aggregate functions parallel safe
authorRegina Obe <lr@pcorp.us>
Sat, 26 Nov 2016 19:54:38 +0000 (19:54 +0000)
committerRegina Obe <lr@pcorp.us>
Sat, 26 Nov 2016 19:54:38 +0000 (19:54 +0000)
closes #3650 for PostGIS 2.3.1

git-svn-id: http://svn.osgeo.org/postgis/branches/2.3@15256 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
postgis/postgis.sql.in

diff --git a/NEWS b/NEWS
index 9330005eb6cae252ff8d29c223abd9789af2e47a..f6fe8f5c6a044177cbfb95dd1e90df94ad36ab2a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 PostGIS 2.3.1
-2016/xx/xx
+2016/11/2x
 
   * Bug Fixes
   - #1973, st_concavehull() returns sometimes empty geometry collection
@@ -8,6 +8,8 @@ PostGIS 2.3.1
         for large tables
   - #3643, PostGIS not building on latest OSX XCode
   - #3644, Deadlock on interrupt
+  - #3650, Mark ST_Extent, ST_3DExtent and ST_Mem* 
+        agg functions as parallel safe so they can be parallelized
   - #3652, Crash on Collection(MultiCurve())
   - #3656, Fix upgrade of aggregates from 2.2 or lower version
   - #3659, Crash caused by raster GUC define after CREATE EXTENSION
index 6ea5aa1b0f89c483edd9ed3659829c91dfe7214b..3df912efb2a3e44c242c7ee3eece69c1bafb28d5 100644 (file)
@@ -3744,25 +3744,27 @@ CREATE OR REPLACE FUNCTION ST_Combine_BBox(box2d,geometry)
 -- Availability: 1.2.2
 -- Changed: 2.2.0 to use non-deprecated ST_CombineBBox (r13535)
 -- Changed: 2.3.0 to support PostgreSQL 9.6
-CREATE AGGREGATE ST_Extent(
+-- Changed: 2.3.1 to support PostgreSQL 9.6 parallel safe
+CREATE AGGREGATE ST_Extent(geometry) (
        sfunc = ST_CombineBBox,
+  stype = box3d,
 #if POSTGIS_PGSQL_VERSION >= 96
-  combinefunc = ST_CombineBBox,
+       combinefunc = ST_CombineBBox,
+       parallel = safe,
 #endif
-       finalfunc = box2d,
-       basetype = geometry,
-       stype = box3d
+       finalfunc = box2d
        );
 
 -- Availability: 2.0.0
 -- Changed: 2.2.0 to use non-deprecated ST_CombineBBox (r13535)
 -- Changed: 2.3.0 to support PostgreSQL 9.6
-CREATE AGGREGATE ST_3DExtent(
+-- Changed: 2.3.1 to support PostgreSQL 9.6 parallel safe
+CREATE AGGREGATE ST_3DExtent(geometry)(
        sfunc = ST_CombineBBox,
 #if POSTGIS_PGSQL_VERSION >= 96
-  combinefunc = ST_CombineBBox,
+       combinefunc = ST_CombineBBox,
+       parallel = safe,
 #endif
-       basetype = geometry,
        stype = box3d
        );
 
@@ -3774,12 +3776,13 @@ CREATE OR REPLACE FUNCTION ST_Collect(geom1 geometry, geom2 geometry)
 
 -- Availability: 1.2.2
 -- Changed: 2.3.0 to support PostgreSQL 9.6
-CREATE AGGREGATE ST_MemCollect(
+-- Changed: 2.3.1 to support PostgreSQL 9.6 parallel safe
+CREATE AGGREGATE ST_MemCollect(geometry)(
        sfunc = ST_collect,
 #if POSTGIS_PGSQL_VERSION >= 96
-  combinefunc = ST_collect,
+       combinefunc = ST_collect,
+       parallel = safe,
 #endif
-       basetype = geometry,
        stype = geometry
        );
 
@@ -3791,11 +3794,12 @@ CREATE OR REPLACE FUNCTION ST_Collect(geometry[])
 
 -- Availability: 1.2.2
 -- Changed: 2.3.0 to support PostgreSQL 9.6
-CREATE AGGREGATE ST_MemUnion (
-       basetype = geometry,
+-- Changed: 2.3.1 to support PostgreSQL 9.6 parallel safe
+CREATE AGGREGATE ST_MemUnion(geometry) (
        sfunc = ST_Union,
 #if POSTGIS_PGSQL_VERSION >= 96
-  combinefunc = ST_Union,
+       combinefunc = ST_Union,
+       parallel = safe,
 #endif
        stype = geometry
        );