SELECT 'T2.2', ST_AsEWKT(ST_Buffer('SRID=4326;LINESTRING EMPTY', 0));
SELECT 'T2.3', ST_AsEWKT(ST_Buffer('SRID=4326;MULTIPOLYGON EMPTY', 0));
WITH b as ( SELECT ST_Buffer('SRID=4326;MULTIPOINT EMPTY', 1) as g )
-SELECT '#322.4', ST_Srid(g), GeometryType(g) from b;
+SELECT 'T2.4', ST_Srid(g), GeometryType(g) from b;
+-- ST_AsGML (output may need some tweaking)
+SELECT 'T3.1', ST_AsGML('POINT EMPTY');
+SELECT 'T3.2', ST_AsGML('LINESTRING EMPTY');
+SELECT 'T3.3', ST_AsGML('POLYGON EMPTY');
+SELECT 'T3.4', ST_AsGML('MULTIPOLYGON EMPTY');
+SELECT 'T3.5', ST_AsGML('MULTILINESTRING EMPTY');
+SELECT 'T3.6', ST_AsGML('GEOMETRYCOLLECTION EMPTY');
+-- There's a crash somewhere in here...
+--SELECT 'T3.7', ST_AsGML(3,'POINT EMPTY'::geometry);
+--SELECT 'T3.8', ST_AsGML(3,'LINESTRING EMPTY'::geometry);
+--SELECT 'T3.9', ST_AsGML(3,'POLYGON EMPTY'::geometry);
+--SELECT 'T3.10', ST_AsGML(3,'MULTIPOLYGON EMPTY'::geometry);
+--SELECT 'T3.11', ST_AsGML(3,'MULTILINESTRING EMPTY'::geometry);
+--SELECT 'T3.12', ST_AsGML(3,'GEOMETRYCOLLECTION EMPTY'::geometry);
+--SELECT 'T3.13', ST_AsGML(3,'POINT EMPTY'::geometry);
+--SELECT 'T3.14', ST_AsGML(3,'LINESTRING EMPTY'::geometry);
+--SELECT 'T3.15', ST_AsGML(3,'POLYGON EMPTY'::geometry);
+--SELECT 'T3.16', ST_AsGML(3,'MULTIPOLYGON EMPTY'::geometry);
+--SELECT 'T3.17', ST_AsGML(3,'MULTILINESTRING EMPTY'::geometry);
+--SELECT 'T3.18', ST_AsGML(3,'GEOMETRYCOLLECTION EMPTY'::geometry);
T2.2|SRID=4326;POLYGON EMPTY
T2.3|SRID=4326;POLYGON EMPTY
T2.4|4326|POLYGON
+T3.1|<gml:Point><gml:coordinates></gml:coordinates></gml:Point>
+T3.2|<gml:LineString><gml:coordinates></gml:coordinates></gml:LineString>
+T3.3|<gml:Polygon></gml:Polygon>
+T3.4|<gml:MultiPolygon></gml:MultiPolygon>
+T3.5|<gml:MultiLineString></gml:MultiLineString>
+T3.6|<gml:MultiGeometry></gml:MultiGeometry>