/* Output type not initialized */
if ( ! outtype )
{
- /* Input is single, make multi */
- if ( ! lwtype_is_collection(intype) )
- outtype = lwtype_get_collectiontype(intype);
- /* Input is multi, make collection */
- else
- outtype = COLLECTIONTYPE;
+ outtype = lwtype_get_collectiontype(intype);
}
-
/* Input type not compatible with output */
/* make output type a collection */
- else if ( outtype != COLLECTIONTYPE && intype != outtype-3 )
+ else if ( outtype != COLLECTIONTYPE && lwtype_get_collectiontype(intype) != outtype )
{
outtype = COLLECTIONTYPE;
}
-- SELECT '#2672', ST_AsTWKBAgg(null::geometry, 3);
+-- #2692
+WITH v AS ( SELECT 'CIRCULARSTRING(0 0, 1 1, 2 2)'::geometry AS g FROM generate_series(1,3) )
+SELECT '#2692a', ST_AsText(st_collect(g)) FROM v;
+WITH v AS ( SELECT 'COMPOUNDCURVE((0 0, 1 1), CIRCULARSTRING(1 1, 1 2, 3 2))'::geometry AS g FROM generate_series(1,3) )
+SELECT '#2692b', ST_AsText(st_collect(g)) FROM v;
+WITH v AS ( SELECT 'TRIANGLE((0 0, 1 1, 1 0, 0 0))'::geometry AS g FROM generate_series(1,3) )
+SELECT '#2692c', ST_AsText(st_collect(g)) FROM v;
+
+
SELECT '#2704', ST_AsText(ST_GeomFromGML('<?xml version="1.0"?>
<gml:Polygon xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
#2168|5340.76237395|5340.76237395|0
#2556|47409|20623
#2556|1|0
+#2692a|MULTICURVE(CIRCULARSTRING(0 0,1 1,2 2),CIRCULARSTRING(0 0,1 1,2 2),CIRCULARSTRING(0 0,1 1,2 2))
+#2692b|MULTICURVE(COMPOUNDCURVE((0 0,1 1),CIRCULARSTRING(1 1,1 2,3 2)),COMPOUNDCURVE((0 0,1 1),CIRCULARSTRING(1 1,1 2,3 2)),COMPOUNDCURVE((0 0,1 1),CIRCULARSTRING(1 1,1 2,3 2)))
+#2692c|TIN(((0 0,1 1,1 0,0 0)),((0 0,1 1,1 0,0 0)),((0 0,1 1,1 0,0 0)))
#2704|POLYGON((0 0,0 1,1 1,1 0,0 0))
#2712|LINESTRING EMPTY
#2717|POINT(-1 -1)|POINT(3 1)|POINT(-1 -1)|POINT(1 1)|POINT(1 1)|POINT(2 2)|POINT(3 1)