]> granicus.if.org Git - postgis/commitdiff
Fix st_extent on empty relation (#1385)
authorSandro Santilli <strk@keybit.net>
Sun, 18 Dec 2011 14:22:43 +0000 (14:22 +0000)
committerSandro Santilli <strk@keybit.net>
Sun, 18 Dec 2011 14:22:43 +0000 (14:22 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8451 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/lwgeom_box3d.c
regress/tickets.sql
regress/tickets_expected

index 4ef40e318259aea94a8a3929758370f6e5e6736d..639d56f5e252cbec62a66ac19c43ff743b70abf8 100644 (file)
@@ -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;
index 08aff436778aaa8b13394df4a3eee849c73a687a..833da7828dc06b453c51fa4eefeb8032190c663c 100644 (file)
@@ -458,6 +458,9 @@ SELECT '</#1320>';
 -- #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;
 
index cba398e067b957f8f0e92969a4791cae2e44d0ba..8f37daddbed5e8c488609bd9fdfb0bea30051347 100644 (file)
@@ -141,3 +141,4 @@ ERROR:  Geometry type (Polygon) does not match column type (MultiPolygon)
 #1320.geom.3|MULTIPOLYGON|4326
 </#1320>
 #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|