From da36dfce37f7726932a3fa8305ddc9f44548c34a Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Sun, 18 Dec 2011 14:22:43 +0000 Subject: [PATCH] Fix st_extent on empty relation (#1385) git-svn-id: http://svn.osgeo.org/postgis/trunk@8451 b70326c6-7e19-0410-871a-916f4a2858ee --- postgis/lwgeom_box3d.c | 2 +- regress/tickets.sql | 3 +++ regress/tickets_expected | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) 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| -- 2.50.1