[postgis-tickets] r15256 - Mark ST_Extent, ST_Mem* aggregate functions parallel safe

Regina Obe lr at pcorp.us
Sat Nov 26 11:54:38 PST 2016


Author: robe
Date: 2016-11-26 11:54:38 -0800 (Sat, 26 Nov 2016)
New Revision: 15256

Modified:
   branches/2.3/NEWS
   branches/2.3/postgis/postgis.sql.in
Log:
Mark ST_Extent, ST_Mem* aggregate functions parallel safe
closes #3650 for PostGIS 2.3.1


Modified: branches/2.3/NEWS
===================================================================
--- branches/2.3/NEWS	2016-11-26 19:23:00 UTC (rev 15255)
+++ branches/2.3/NEWS	2016-11-26 19:54:38 UTC (rev 15256)
@@ -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 @@
         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

Modified: branches/2.3/postgis/postgis.sql.in
===================================================================
--- branches/2.3/postgis/postgis.sql.in	2016-11-26 19:23:00 UTC (rev 15255)
+++ branches/2.3/postgis/postgis.sql.in	2016-11-26 19:54:38 UTC (rev 15256)
@@ -3744,25 +3744,27 @@
 -- 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 @@
 
 -- 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 @@
 
 -- 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
 	);



More information about the postgis-tickets mailing list