From: Sandro Santilli Date: Sun, 18 Dec 2011 14:22:43 +0000 (+0000) Subject: Fix st_extent on empty relation (#1385) X-Git-Tag: 2.0.0alpha1~423 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da36dfce37f7726932a3fa8305ddc9f44548c34a;p=postgis Fix st_extent on empty relation (#1385) git-svn-id: http://svn.osgeo.org/postgis/trunk@8451 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/postgis/lwgeom_box3d.c b/postgis/lwgeom_box3d.c index 4ef40e318..639d56f5e 100644 --- a/postgis/lwgeom_box3d.c +++ b/postgis/lwgeom_box3d.c @@ -345,7 +345,7 @@ PG_FUNCTION_INFO_V1(BOX3D_combine); Datum BOX3D_combine(PG_FUNCTION_ARGS) { BOX3D *box = (BOX3D*)PG_GETARG_POINTER(0); - GSERIALIZED *geom = (GSERIALIZED*)PG_DETOAST_DATUM(PG_GETARG_POINTER(1)); + GSERIALIZED *geom = PG_ARGISNULL(1) ? NULL : (GSERIALIZED*)PG_DETOAST_DATUM(PG_GETARG_POINTER(1)); LWGEOM *lwgeom = NULL; BOX3D *result = NULL; GBOX gbox; diff --git a/regress/tickets.sql b/regress/tickets.sql index 08aff4367..833da7828 100644 --- a/regress/tickets.sql +++ b/regress/tickets.sql @@ -458,6 +458,9 @@ SELECT ''; -- #1344 select '#1344', ST_AsEWKB(st_makeline(g)) FROM ( values ('POINT(0 0)'::geometry ) ) as foo(g); +-- #1385 +SELECT '#1385', ST_Extent(g) FROM ( select null::geometry as g ) as foo; + -- Clean up DELETE FROM spatial_ref_sys; diff --git a/regress/tickets_expected b/regress/tickets_expected index cba398e06..8f37daddb 100644 --- a/regress/tickets_expected +++ b/regress/tickets_expected @@ -141,3 +141,4 @@ ERROR: Geometry type (Polygon) does not match column type (MultiPolygon) #1320.geom.3|MULTIPOLYGON|4326 #1344|\001\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 +#1385|