Back out ST_CollectionExtract changes, too many regression failures

git-svn-id: http://svn.osgeo.org/postgis/trunk@9766 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
Paul Ramsey 2012-05-21 10:57:13 +00:00
parent 57137849df
commit 5dc20a53ba
2 changed files with 28 additions and 20 deletions

View file

@ -2558,12 +2558,13 @@ Datum ST_CollectionExtract(PG_FUNCTION_ARGS)
/* Non-collections of the matching type go back */
if(lwgeom_type == type)
{
lwcol = lwgeom_as_multi(lwgeom);
lwgeom_free(lwgeom);
PG_RETURN_POINTER(input);
}
/* Others go back as EMPTY */
else
{
lwcol = lwgeom_as_multi(lwgeom_construct_empty(type, lwgeom->srid, FLAGS_GET_Z(lwgeom->flags), FLAGS_GET_M(lwgeom->flags)));
lwcol = lwgeom_construct_empty(type, lwgeom->srid, FLAGS_GET_Z(lwgeom->flags), FLAGS_GET_M(lwgeom->flags));
}
}
else
@ -2571,6 +2572,13 @@ Datum ST_CollectionExtract(PG_FUNCTION_ARGS)
lwcol = lwcollection_as_lwgeom(lwcollection_extract((LWCOLLECTION*)lwgeom, type));
}
#if 0
if (lwgeom_is_empty(lwcollection_as_lwgeom(lwcol)))
{
lwgeom_free(lwgeom);
PG_RETURN_NULL();
}
#endif
output = geometry_serialize((LWGEOM*)lwcol);
lwgeom_free(lwgeom);
lwgeom_free(lwcol);

View file

@ -73,24 +73,24 @@ NOTICE: Too few points in geometry component at or near point 0 0
NOTICE: IllegalArgumentException: Invalid number of points in LinearRing found 2 - must be 0 or >= 4
#408.3|f
#408.4|IllegalArgumentException: Invalid number of points in LinearRing found 2 - must be 0 or >= 4
#457.1|MULTIPOINT(0 0)
#457.2|MULTILINESTRING EMPTY
#457.3|MULTIPOLYGON EMPTY
#457.4|MULTIPOINT EMPTY
#457.5|MULTILINESTRING((0 0,1 1))
#457.6|MULTIPOLYGON EMPTY
#457.7|MULTIPOINT EMPTY
#457.8|MULTILINESTRING EMPTY
#457.9|MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)))
#835.1|MULTIPOINT EMPTY
#835.2|MULTILINESTRING EMPTY
#835.3|MULTIPOLYGON EMPTY
#835.4|MULTIPOINT EMPTY
#835.5|MULTILINESTRING EMPTY
#835.6|MULTIPOLYGON EMPTY
#835.7|MULTIPOINT EMPTY
#835.8|MULTILINESTRING EMPTY
#835.9|MULTIPOLYGON EMPTY
#457.1|POINT(0 0)
#457.2|LINESTRING EMPTY
#457.3|POLYGON EMPTY
#457.4|POINT EMPTY
#457.5|LINESTRING(0 0,1 1)
#457.6|POLYGON EMPTY
#457.7|POINT EMPTY
#457.8|LINESTRING EMPTY
#457.9|POLYGON((0 0,1 0,1 1,0 1,0 0))
#835.1|POINT EMPTY
#835.2|LINESTRING EMPTY
#835.3|POLYGON EMPTY
#835.4|POINT EMPTY
#835.5|LINESTRING EMPTY
#835.6|POLYGON EMPTY
#835.7|POINT EMPTY
#835.8|LINESTRING EMPTY
#835.9|POLYGON EMPTY
#835.10|MULTIPOINT EMPTY
#835.11|MULTILINESTRING EMPTY
#835.12|MULTIPOLYGON EMPTY