polardbxengine/mysql-test/suite/gis/r/spatial_operators_differenc...

1658 lines
102 KiB
Plaintext

#Creating the spatial Geometry object
USE test;
CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY);
SET @star_elem_vertical= 'POLYGON((5 0,15 25,25 0,15 5,5 0))';
SET @star_elem_horizontal= 'POLYGON((25 0,0 15,30 15,22 10,25 0))';
SET @star_center= 'POINT(15 10)';
SET @star_top= 'POINT(15 25)';
SET @star_bottom_left= 'POINT(5 0)';
SET @star_bottom_right= 'POINT(25 0)';
SET @star_bottom_points= 'MULTIPOINT(5 0,25 0)';
SET @star_all_points= 'MULTIPOINT(5 0,25 0,15 10,15 25)';
SET @star_line_horizontal= 'LINESTRING(10 15,20 15)';
SET @star_line_vertical= 'LINESTRING(15 5,15 25)';
SET @star_top_to_center= 'LINESTRING(15 25,15 10)';
SET @star_lines_near_horizontal= 'MULTILINESTRING((25 0,0 15,15 30,0 5))';
SET @star_lines_near_vertical= 'MULTILINESTRING((0 5,15 25,0 25))';
SET @star= 'POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))';
SET @star_elem_vertical_val= '((5 0,15 25,25 0,15 5,5 0))';
SET @star_elem_horizontal_val= '((25 0,0 15,30 15,22 10,25 0))';
SET @star_of_elems='MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))';
SET @star_collection_elems='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))';
SET @star_collection_multilinestr='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),MULTILINESTRING((25 0,0 15,15 30,0 5)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))';
SET @star_elem_vertical_1= 'POLYGON((5 0,15 25,25 0,15 5,5 0))';
SET @star_elem_horizontal_1= 'POLYGON((25 0,0 15,30 15,22 10,25 0))';
SET @star_center_1= 'POINT(15 10)';
SET @star_top_1= 'POINT(15 25)';
SET @star_bottom_left_1= 'POINT(5 0)';
SET @star_bottom_right_1= 'POINT(25 0)';
SET @star_bottom_points_1= 'MULTIPOINT(5 0,25 0)';
SET @star_all_points_1= 'MULTIPOINT(5 0,25 0,15 10,15 25)';
SET @star_line_horizontal_1= 'LINESTRING(10 15,20 15)';
SET @star_line_vertical_1= 'LINESTRING(15 5,15 25)';
SET @star_top_to_center_1= 'LINESTRING(15 25,15 10)';
SET @star_lines_near_horizontal_1= 'MULTILINESTRING((25 0,0 15,15 30,0 5))';
SET @star_lines_near_vertical_1= 'MULTILINESTRING((0 5,15 25,0 25))';
SET @star_1= 'POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))';
SET @star_elem_vertical_val_1= '((5 0,15 25,25 0,15 5,5 0))';
SET @star_elem_horizontal_val_1= '((25 0,0 15,30 15,22 10,25 0))';
SET @star_of_elems_1='MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))';
SET @star_collection_elems_1='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))';
SET @star_elem_vertical_2= 'POLYGON((15 0,25 25,35 0,25 5,15 0))';
SET @star_elem_horizontal_2= 'POLYGON((35 0,10 15,40 15,32 10,35 0))';
SET @star_center_2= 'POINT(25 10)';
SET @star_top_2= 'POINT(25 25)';
SET @star_bottom_left_2= 'POINT(15 0)';
SET @star_bottom_right_2= 'POINT(35 0)';
SET @star_bottom_points_2= 'MULTIPOINT(15 0,35 0)';
SET @star_all_points_2= 'MULTIPOINT(15 0,35 0,35 10,25 25)';
SET @star_line_horizontal_2= 'LINESTRING(20 15,30 15)';
SET @star_line_vertical_2= 'LINESTRING(25 5,25 25)';
SET @star_top_to_center_2= 'LINESTRING(25 25,25 10)';
SET @star_lines_near_horizontal_2= 'MULTILINESTRING((35 0,10 15,25 30,10 5))';
SET @star_lines_near_vertical_2= 'MULTILINESTRING((10 5,25 25,10 25))';
SET @star_2= 'POLYGON((15 0,17 10,10 15,20 15,25 25,30 15,40 15,32 10,35 0,25 5,15 0))';
SET @star_elem_vertical_val_2= '((15 0,25 25,35 0,25 5,15 0))';
SET @star_elem_horizontal_val_2= '((35 0,10 15,40 15,32 10,35 0))';
SET @star_of_elems_2='MULTIPOLYGON(((15 0,25 25,35 0,25 5,15 0)),((35 0,10 15,40 15,32 10,35 0)))';
SET @star_collection_elems_2='GEOMETRYCOLLECTION(MULTIPOLYGON(((15 0,25 25,35 0,25 5,15 0)),((35 0,10 15,40 15,32 10,35 0))),POLYGON((15 0,17 10,10 15,20 15,25 25,30 15,40 15,32 10,35 0,25 5,15 0)),LINESTRING(25 25,25 10),MULTIPOINT(15 0,35 0),POINT(25 25))';
SET @star_elem_vertical_3= 'POLYGON((65 0,75 25,85 0,75 5,65 0))';
SET @star_elem_horizontal_3= 'POLYGON((85 0,60 15,90 15,82 10,85 0))';
SET @star_center_3= 'POINT(75 10)';
SET @star_top_3= 'POINT(75 25)';
SET @star_bottom_left_3= 'POINT(65 0)';
SET @star_bottom_right_3= 'POINT(85 0)';
SET @star_bottom_points_3= 'MULTIPOINT(65 0,85 0)';
SET @star_all_points_3= 'MULTIPOINT(65 0,85 0,75 10,75 25)';
SET @star_line_horizontal_3= 'LINESTRING(70 15,80 15)';
SET @star_line_vertical_3= 'LINESTRING(75 5,75 25)';
SET @star_top_to_center_3= 'LINESTRING(75 25,75 10)';
SET @star_lines_near_horizontal_3= 'MULTILINESTRING((85 0,60 15,85 30,60 5))';
SET @star_lines_near_vertical_3= 'MULTILINESTRING((60 5,75 25,60 25))';
SET @star_3= 'POLYGON((65 0,67 10,60 15,70 15,75 25,80 15,90 15,82 10,85 0,75 5,65 0))';
SET @star_elem_vertical_val_3= '((65 0,75 25,85 0,75 5,65 0))';
SET @star_elem_horizontal_val_3= '((85 0,60 15,90 15,82 10,85 0))';
SET @star_of_elems_3='MULTIPOLYGON(((65 0,75 25,85 0,75 5,65 0)),((85 0,60 15,90 15,82 10,85 0)))';
SET @star_collection_elems_3='GEOMETRYCOLLECTION(MULTIPOLYGON(((65 0,75 25,85 0,75 5,65 0)),((85 0,60 15,90 15,82 10,85 0))),POLYGON((65 0,67 10,60 15,70 15,75 25,80 15,90 15,82 10,85 0,75 5,65 0)),LINESTRING(75 25,75 10),MULTIPOINT(65 0,85 0),POINT(75 25))';
#INSERT base star
INSERT INTO gis_geometrycollection VALUES
(100,ST_GEOMFROMTEXT(@star)),
(101,ST_GEOMFROMTEXT(@star_elem_vertical)),
(102,ST_GEOMFROMTEXT(@star_elem_horizontal)),
(103,ST_GEOMFROMTEXT(@star_of_elems)),
(104,ST_GEOMFROMTEXT(@star_top)),
(105,ST_GEOMFROMTEXT(@star_center)),
(106,ST_GEOMFROMTEXT(@star_bottom_left)),
(107,ST_GEOMFROMTEXT(@star_bottom_right)),
(108,ST_GEOMFROMTEXT(@star_bottom_points)),
(109,ST_GEOMFROMTEXT(@star_all_points)),
(110,ST_GEOMFROMTEXT(@star_line_horizontal)),
(111,ST_GEOMFROMTEXT(@star_line_vertical)),
(112,ST_GEOMFROMTEXT(@star_top_to_center)),
(113,ST_GEOMFROMTEXT(@star_lines_near_horizontal)),
(114,ST_GEOMFROMTEXT(@star_lines_near_vertical)),
(115,ST_GEOMFROMTEXT(@star_collection_elems));
#INSERT identical (to base) star
INSERT INTO gis_geometrycollection VALUES
(200,ST_GEOMFROMTEXT(@star_1)),
(201,ST_GEOMFROMTEXT(@star_elem_vertical_1)),
(202,ST_GEOMFROMTEXT(@star_elem_horizontal_1)),
(203,ST_GEOMFROMTEXT(@star_of_elems_1)),
(204,ST_GEOMFROMTEXT(@star_top_1)),
(205,ST_GEOMFROMTEXT(@star_center_1)),
(206,ST_GEOMFROMTEXT(@star_bottom_left_1)),
(207,ST_GEOMFROMTEXT(@star_bottom_right_1)),
(208,ST_GEOMFROMTEXT(@star_bottom_points_1)),
(209,ST_GEOMFROMTEXT(@star_all_points_1)),
(210,ST_GEOMFROMTEXT(@star_line_horizontal_1)),
(211,ST_GEOMFROMTEXT(@star_line_vertical_1)),
(212,ST_GEOMFROMTEXT(@star_top_to_center_1)),
(213,ST_GEOMFROMTEXT(@star_lines_near_horizontal_1)),
(214,ST_GEOMFROMTEXT(@star_lines_near_vertical_1)),
(215,ST_GEOMFROMTEXT(@star_collection_elems_1));
#INSERT overlapping star
INSERT INTO gis_geometrycollection VALUES
(300,ST_GEOMFROMTEXT(@star_2)),
(301,ST_GEOMFROMTEXT(@star_elem_vertical_2)),
(302,ST_GEOMFROMTEXT(@star_elem_horizontal_2)),
(303,ST_GEOMFROMTEXT(@star_of_elems_2)),
(304,ST_GEOMFROMTEXT(@star_top_2)),
(305,ST_GEOMFROMTEXT(@star_center_2)),
(306,ST_GEOMFROMTEXT(@star_bottom_left_2)),
(307,ST_GEOMFROMTEXT(@star_bottom_right_2)),
(308,ST_GEOMFROMTEXT(@star_bottom_points_2)),
(309,ST_GEOMFROMTEXT(@star_all_points_2)),
(310,ST_GEOMFROMTEXT(@star_line_horizontal_2)),
(311,ST_GEOMFROMTEXT(@star_line_vertical_2)),
(312,ST_GEOMFROMTEXT(@star_top_to_center_2)),
(313,ST_GEOMFROMTEXT(@star_lines_near_horizontal_2)),
(314,ST_GEOMFROMTEXT(@star_lines_near_vertical_2)),
(315,ST_GEOMFROMTEXT(@star_collection_elems_2));
#INSERT seperate star
INSERT INTO gis_geometrycollection VALUES
(400,ST_GEOMFROMTEXT(@star_3)),
(401,ST_GEOMFROMTEXT(@star_elem_vertical_3)),
(402,ST_GEOMFROMTEXT(@star_elem_horizontal_3)),
(403,ST_GEOMFROMTEXT(@star_of_elems_3)),
(404,ST_GEOMFROMTEXT(@star_top_3)),
(405,ST_GEOMFROMTEXT(@star_center_3)),
(406,ST_GEOMFROMTEXT(@star_bottom_left_3)),
(407,ST_GEOMFROMTEXT(@star_bottom_right_3)),
(408,ST_GEOMFROMTEXT(@star_bottom_points_3)),
(409,ST_GEOMFROMTEXT(@star_all_points_3)),
(410,ST_GEOMFROMTEXT(@star_line_horizontal_3)),
(411,ST_GEOMFROMTEXT(@star_line_vertical_3)),
(412,ST_GEOMFROMTEXT(@star_top_to_center_3)),
(413,ST_GEOMFROMTEXT(@star_lines_near_horizontal_3)),
(414,ST_GEOMFROMTEXT(@star_lines_near_vertical_3)),
(415,ST_GEOMFROMTEXT(@star_collection_elems_3));
CREATE TABLE gis_geometrycollection_2 SELECT fid as fid2,g as g2 FROM gis_geometrycollection;
#Checking the integrity of the above create/insert statements
#64 rows.
SELECT count(ST_ASTEXT(g) != 'NULL') FROM gis_geometrycollection;
count(ST_ASTEXT(g) != 'NULL')
64
#64 rows.
SELECT count(ST_ASTEXT(g2) != 'NULL') FROM gis_geometrycollection_2;
count(ST_ASTEXT(g2) != 'NULL')
64
#####################################################################################
# ST_DIFFERENCE(g1,g2)
#####################################################################################
#====================================================================================
# point,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_center)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center)))
POINT(15 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) FROM gis_geometrycollection WHERE fid=105;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_center)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_bottom_points)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_bottom_points)))
POINT(15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=106;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_top_to_center)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_top_to_center)))
POINT(5 0)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=104;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
POINT(15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=104;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star)))
POINT(75 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star))) FROM gis_geometrycollection WHERE fid=104;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,multipolygon
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_of_elems)))
POINT(75 25)
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=104;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# point,geometrycollection
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_collection_elems)))
POINT(75 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=104;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_multilinestr)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_multilinestr)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
POINT(0 0)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
POINT(0 0)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(4 4)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),LINESTRING(0 0,1 1))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(4 4)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),LINESTRING(0 0,1 1))')))
POINT(4 4)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(4 4)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),POLYGON((0 0,0 5,5 5,5 0,0 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(4 4)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),POLYGON((0 0,0 5,5 5,5 0,0 0)))')))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# multipoint,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top)))
MULTIPOINT((5 0),(15 10),(25 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_center)))
MULTIPOINT((5 0),(25 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_left))) FROM gis_geometrycollection WHERE fid=108;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_left)))
POINT(25 0)
#====================================================================================
# multipoint,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_bottom_points)))
MULTIPOINT((15 10),(15 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_all_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_all_points)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_all_points_1)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_all_points_1)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) FROM gis_geometrycollection WHERE fid=108;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# multipoint,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center)))
MULTIPOINT((5 0),(25 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center)))
MULTIPOINT((5 0),(25 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=109;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center)))
MULTIPOINT((5 0),(25 0))
#====================================================================================
# multipoint,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
MULTIPOINT((5 0),(15 10),(25 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
MULTIPOINT((5 0),(15 10),(15 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) FROM gis_geometrycollection WHERE fid=109;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
MULTIPOINT((5 0),(15 10),(15 25))
#====================================================================================
# multipoint,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_vertical)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_horizontal)))
MULTIPOINT((5 0),(15 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_horizontal))) FROM gis_geometrycollection WHERE fid=109;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_horizontal)))
MULTIPOINT((5 0),(15 25))
#====================================================================================
# multipoint,multipolygon
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_of_elems)))
MULTIPOINT((0 0),(0 30),(30 25))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=109;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# multipoint,geometrycollection
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_collection_elems)))
MULTIPOINT((0 0),(0 30),(30 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=109;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_multilinestr)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_multilinestr)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,10 10)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,10 10)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
MULTIPOINT((0 0),(10 10))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1,2 2)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1,2 2)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
MULTIPOINT((0 0),(1 1),(2 2))
#====================================================================================
# linestring,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_center)))
LINESTRING(15 25,15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(15 25,15 10)'),ST_GEOMFROMTEXT('POINT(15 10)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(15 25,15 10)'),ST_GEOMFROMTEXT('POINT(15 10)')))
LINESTRING(15 25,15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_bottom_left)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_bottom_left)))
LINESTRING(15 25,15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=110 and fid2=105;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
LINESTRING(10 15,20 15)
#====================================================================================
# linestring,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)')))
LINESTRING(15 5,15 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_all_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_all_points)))
LINESTRING(15 5,15 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)'))) FROM gis_geometrycollection WHERE fid=111;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)')))
LINESTRING(15 5,15 25)
#====================================================================================
# linestring,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_top_to_center)))
LINESTRING(15 5,15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_line_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_line_vertical)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_top_to_center_1)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_top_to_center_1)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=111;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center)))
LINESTRING(15 5,15 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(3 3,4 4,5 5)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(3 3,4 4,5 5)')))
MULTILINESTRING((0 0,3 3),(5 5,10 10))
#====================================================================================
# linestring,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
LINESTRING(10 15,20 15)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
LINESTRING(10 15,20 15)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) FROM gis_geometrycollection WHERE fid=110;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
LINESTRING(10 15,20 15)
#====================================================================================
# linestring,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))')))
MULTILINESTRING((10 15,11 15),(19 15,20 15))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_elem_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_elem_horizontal)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))'))) FROM gis_geometrycollection WHERE fid=110;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))')))
MULTILINESTRING((10 15,11 15),(19 15,20 15))
#====================================================================================
# linestring,multipolygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)))')))
MULTILINESTRING((10 15,11 15),(19 15,20 15))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_of_elems)))
MULTILINESTRING((10 15,11 15),(19 15,20 15))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)),((25 0,0 15,25 10,25 0)))'))) FROM gis_geometrycollection WHERE fid=110;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)),((25 0,0 15,25 10,25 0)))')))
MULTILINESTRING((10 15,11 15),(19 15,20 15))
#====================================================================================
# linestring,geometrycollection
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems_3)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems_3)))
LINESTRING(10 15,20 15)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems_3))) FROM gis_geometrycollection WHERE fid=110;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems_3)))
LINESTRING(10 15,20 15)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
LINESTRING(0 0,10 10)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1,2 2)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1,2 2)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
LINESTRING(0 0,1 1,2 2)
#====================================================================================
# multilinestring,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_top)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_top)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_center)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top)))
LINESTRING(0 5,15 25,0 25)
#====================================================================================
# multilinestring,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_bottom_points)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_all_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_all_points)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=114 and fid2=108;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
LINESTRING(0 5,15 25,0 25)
#====================================================================================
# multilinestring,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_vertical)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_horizontal)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0, 1 1))'),ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0, 1 1))'),ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10))'),ST_GEOMFROMTEXT('LINESTRING(3 3,4 4,5 5)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10))'),ST_GEOMFROMTEXT('LINESTRING(3 3,4 4,5 5)')))
MULTILINESTRING((0 0,3 3),(5 5,10 10))
#====================================================================================
# multilinestring,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))')))
LINESTRING(15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))'))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))')))
LINESTRING(15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical)))
LINESTRING(0 5,15 25,0 25)
#====================================================================================
# multilinestring,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_vertical)))
LINESTRING(0 5,15 25,0 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_horizontal)))
MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical)))
LINESTRING(0 5,15 25,0 25)
#====================================================================================
# multilinestring,multipolygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_elem_vertical)))
MULTILINESTRING((0 25,10.714285714285715 14.285714285714286),(25 0,25 30))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_of_elems)))
MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems)))
MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))
#====================================================================================
# multilinestring,geometrycollection
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_collection_elems)))
MULTILINESTRING((0 25,10 15),(25 0,25 11.875),(25 15,25 30))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_collection_elems)))
MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=114;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(2 2,7 7))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(2 2,7 7))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
MULTILINESTRING((0 0,10 10),(2 2,7 7))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
'GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
'GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))
LINESTRING(0 0,1 1,2 2)
#====================================================================================
# polygon,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_center)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('POINT(0 0)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('POINT(0 0)')))
POLYGON((5 0,15 25,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_center)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
#====================================================================================
# polygon,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('MULTIPOINT(0 0,30 25)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('MULTIPOINT(0 0,30 25)')))
POLYGON((5 0,15 25,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
#====================================================================================
# polygon,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_line_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_line_vertical)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_line_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_line_horizontal)))
POLYGON((5 0,15 25,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=100 and fid2=111;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
#====================================================================================
# polygon,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal)))
POLYGON((5 0,15 25,25 0,15 5,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical)))
POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))
#====================================================================================
# polygon,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_elem_vertical)))
MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25)))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0, 1 0, 0 1, 0 0))'),ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0, 1 0, 0 1, 0 0))'),ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical)))
MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25)))
#====================================================================================
# polygon,multipolygon
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems_3)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems_3)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# polygon,geometrycollection
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems_3)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems_3)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=100;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
POLYGON((0 0,0 10,10 10,10 0,0 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((4 4,4 6,6 6,6 4,4 4),(0 0,0 10,10 10,10 0,0 0))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((4 4,4 6,6 6,6 4,4 4),(0 0,0 10,10 10,10 0,0 0))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
POLYGON((4 4,4 6,6 6,6 4,4 4),(0 0,0 10,10 10,10 0,0 0))
#====================================================================================
# multipolygon,point
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POINT(30 30)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POINT(30 30)')))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
#====================================================================================
# multipolygon,multipoint
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_bottom_points)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)')))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
#====================================================================================
# multipolygon,linestring
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top_to_center)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)')))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
#====================================================================================
# multipolygon,multilinestring
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))')))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical)))
MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))
#====================================================================================
# multipolygon,polygon
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_elem_vertical)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))')))
MULTIPOLYGON(((23 15,25.333333333333332 12.083333333333334,30 15,23 15)),((6.617647058823529 11.029411764705882,9 15,0 15,6.617647058823529 11.029411764705882)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical)))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# multipolygon,multipolygon
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 -10,-10 -10,-10 0,0 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 -10,-10 -10,-10 0,0 0)))')))
MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0)))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('MULTIPOLYGOn(((5 5,5 10,10 10,10 5,5 5)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('MULTIPOLYGOn(((5 5,5 10,10 10,10 5,5 5)))')))
POLYGON((5 5,0 5,0 0,5 0,5 5))
#====================================================================================
# multipolygon,geometrycollectionn
#====================================================================================
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems_3)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems_3)))
MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=115 and fid2=115;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_multilinestr)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_multilinestr)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()')))
POLYGON((0 0,0 10,10 10,10 0,0 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((4 4,4 6,6 6,6 4,4 4)),((0 0,0 10,10 10,10 0,0 0)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((4 4,4 6,6 6,6 4,4 4)),((0 0,0 10,10 10,10 0,0 0)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()))')))
MULTIPOLYGON(((4 4,4 6,6 6,6 4,4 4)),((0 0,0 10,10 10,10 0,0 0)))
#====================================================================================
# geometrycollection,point
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POINT(30 30)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POINT(30 30)')))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),LINESTRING(0 0,1 1))'),ST_GEOMFROMTEXT('POINT(4 4)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),LINESTRING(0 0,1 1))'),ST_GEOMFROMTEXT('POINT(4 4)')))
GEOMETRYCOLLECTION(POINT(3 3),LINESTRING(0 0,1 1))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),POLYGON((0 0,0 5,5 5,5 0,0 0)))'),ST_GEOMFROMTEXT('POINT(4 4)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(3 3),POLYGON((0 0,0 5,5 5,5 0,0 0)))'),ST_GEOMFROMTEXT('POINT(4 4)')))
POLYGON((0 0,5 0,5 5,0 5,0 0))
#====================================================================================
# geometrycollection,multipoint
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_bottom_points)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_bottom_points)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)')))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
#====================================================================================
# geometrycollection,linestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top_to_center)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top_to_center)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)')))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
#====================================================================================
# geometrycollection,multilinestring
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))')))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
#====================================================================================
# geometrycollection,polygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_elem_vertical)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_elem_vertical)))
MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25)))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))')))
MULTIPOLYGON(((6.3 10.5,9 15,0 15,6.3 10.5)),((23 15,25.333333333333332 12.083333333333334,30 15,23 15)))
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical)))
MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25)))
#====================================================================================
# geometrycollection,multipolygon
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))')))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=115 and fid2=215;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(1 1),POINT(2 2))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(1 1),POINT(2 2))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(0 0,2 2),LINESTRING(4 4,6 6))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(0 0,2 2),LINESTRING(4 4,6 6))'),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))')))
GEOMETRYCOLLECTION EMPTY
#====================================================================================
# geometrycollection,geometrycollectionn
#====================================================================================
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems_3)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems_3)))
POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=115;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=115 and fid2=215;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_multilinestr),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_multilinestr),ST_GEOMFROMTEXT(@star_collection_elems)))
MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(1 1,2 2))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(5 5))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(1 1,2 2))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(5 5))')))
LINESTRING(1 1,2 2)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(2 2),POLYGON((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(5 5))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(2 2),POLYGON((0 0,0 5,5 5,5 0,0 0)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),POINT(5 5))')))
POLYGON((0 0,5 0,5 5,0 5,0 0))
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')))
POINT(1 1)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'),
ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))')))
GEOMETRYCOLLECTION EMPTY
#####################################################################################
# Testing ST_DIFFERENCE() with 2 geometries of same SRID
#####################################################################################
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0)))
POINT(15 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,4145),ST_GEOMFROMTEXT(@star_center,4145)));
ERROR 22S00: st_difference(POINT, POINT) has not been implemented for geographic spatial reference systems.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,4326),ST_GEOMFROMTEXT(@star_center,4326)));
ERROR 22S00: st_difference(POINT, POINT) has not been implemented for geographic spatial reference systems.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,4135),ST_GEOMFROMTEXT(@star_center,4135)));
ERROR 22S00: st_difference(POINT, POINT) has not been implemented for geographic spatial reference systems.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1),ST_GEOMFROMTEXT(@star_center,-1)));
ERROR 22003: SRID value is out of range in 'st_geomfromtext'
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1024),ST_GEOMFROMTEXT(@star_center,-1024)));
ERROR 22003: SRID value is out of range in 'st_geomfromtext'
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,4294967295000),ST_GEOMFROMTEXT(@star_center,4294967295000)));
ERROR 22003: SRID value is out of range in 'st_geomfromtext'
#####################################################################################
# Invalid function calls
#####################################################################################
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center,4326)));
ERROR HY000: Binary geometry function st_difference given two geometries of different srids: 0 and 4326, which should have been identical.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,4145),ST_GEOMFROMTEXT(@star_center,4326)));
ERROR HY000: Binary geometry function st_difference given two geometries of different srids: 4145 and 4326, which should have been identical.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,1048576),ST_GEOMFROMTEXT(@star_center,1048576)));
ERROR SR001: There's no spatial reference system with SRID 1048576.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,1048575),ST_GEOMFROMTEXT(@star_center,1048575)));
ERROR SR001: There's no spatial reference system with SRID 1048575.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0)))
POINT(15 25)
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1),ST_GEOMFROMTEXT(@star_center,-1)));
ERROR 22003: SRID value is out of range in 'st_geomfromtext'
SELECT ST_ASTEXT(ST_DIFFERENCE(NULL,ST_GEOMFROMTEXT(@star_top)));
ST_ASTEXT(ST_DIFFERENCE(NULL,ST_GEOMFROMTEXT(@star_top)))
NULL
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),NULL));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),NULL))
NULL
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,NULL)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103;
ST_ASTEXT(ST_DIFFERENCE(g,NULL))
NULL
SELECT ST_ASTEXT(ST_DIFFERENCE(NULL,NULL));
ST_ASTEXT(ST_DIFFERENCE(NULL,NULL))
NULL
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(fid,NULL)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103;
ST_ASTEXT(ST_DIFFERENCE(fid,NULL))
NULL
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(fid,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103;
ERROR 22023: Invalid GIS data provided to function st_difference.
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),fid)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103;
ERROR 22023: Invalid GIS data provided to function st_difference.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(a 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(! 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT('!' 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POINT(12,34 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(a 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,! 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING('!' 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(12,34 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((a 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,! 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON(('!' 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((12,34 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((12,34 0,10 10,10 0,0 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')));
ERROR 22023: Invalid GIS data provided to function st_geomfromtext.
SELECT ST_ASTEXT(ST_DIFFERENCE(,));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',))' at line 1
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1
SELECT ST_ASTEXT(ST_DIFFERENCE(,ST_GEOMFROMTEXT(@star_top)));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',ST_GEOMFROMTEXT(@star_top)))' at line 1
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_collection_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_collection_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_of_elems)));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))')))
MULTIPOLYGON(((6.617647058823529 11.029411764705882,9 15,0 15,6.617647058823529 11.029411764705882)),((23 15,25.333333333333332 12.083333333333334,30 15,23 15)))
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=103;
ST_ASTEXT(ST_DIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems)))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103;
ST_ASTEXT(ST_DIFFERENCE(g,g2))
GEOMETRYCOLLECTION EMPTY
# Invalid geometry in input
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))')));
ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),
ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))')))
MULTIPOLYGON(((6.3 10.5,9 15,0 15,6.3 10.5)),((23 15,25.333333333333332 12.083333333333334,30 15,23 15)))
CREATE TABLE t1 (pk INT PRIMARY KEY, g GEOMETRY NOT NULL);
INSERT INTO t1 VALUES (1, ST_GEOMFROMTEXT('POINT(1 1)'));
INSERT INTO t1 VALUES (2, ST_GEOMFROMTEXT('LINESTRING(1 1, 2 2)'));
INSERT INTO t1 VALUES (3, ST_GEOMFROMTEXT(
'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'));
INSERT INTO t1 VALUES (4, ST_GEOMFROMTEXT(
'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (4 4, 4 6, 6 6, 6 4, 4 4))'));
INSERT INTO t1 VALUES (5, ST_GEOMFROMTEXT('MULTIPOINT(1 1, 2 2)'));
INSERT INTO t1 VALUES (6, ST_GEOMFROMTEXT('MULTILINESTRING((1 1, 2 2),'
'(3 3, 4 4))'));
INSERT INTO t1 VALUES (7, ST_GEOMFROMTEXT(
'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)),((5 5, 10 5, 10 10, 5 10, 5 5)))'));
INSERT INTO t1 VALUES (8, ST_GEOMFROMTEXT(
'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5), '
'(6 6, 6 7, 7 7, 7 6, 6 6)))'));
INSERT INTO t1 VALUES (9, ST_GEOMFROMTEXT(
'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((1 1, 10 1, 10 10, 1 10, 1 1), '
'(4 4, 4 6, 6 6, 6 4, 4 4)))'));
INSERT INTO t1 VALUES (10, ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(1 1))'));
INSERT INTO t1 VALUES (11, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(LINESTRING(1 1, 2 2))'));
INSERT INTO t1 VALUES (12, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)))'));
INSERT INTO t1 VALUES (13, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), '
'(4 4, 4 6, 6 6, 6 4, 4 4)))'));
INSERT INTO t1 VALUES (14, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(MULTIPOINT(1 1, 2 2))'));
INSERT INTO t1 VALUES (15, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(MULTILINESTRING((1 1, 2 2), (3 3, 4 4)))'));
INSERT INTO t1 VALUES (16, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), '
'((5 5, 10 5, 10 10, 5 10, 5 5))))'));
INSERT INTO t1 VALUES (17, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), '
'((5 5, 10 5, 10 10, 5 10, 5 5), (6 6, 6 7, 7 7, 7 6, 6 6))))'));
INSERT INTO t1 VALUES (18, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), '
'((1 1, 10 1, 10 10, 1 10, 1 1), (4 4, 4 6, 6 6, 6 4, 4 4))))'));
INSERT INTO t1 VALUES (19, ST_GEOMFROMTEXT(
'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 1, 2 2),'
'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)),'
'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (4 4, 4 6, 6 6, 6 4, 4 4)),'
'MULTIPOINT(1 1, 2 2),MULTILINESTRING((1 1, 2 2), (3 3, 4 4)),'
'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5))),'
'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5), '
'(6 6, 7 6, 7 7, 6 7, 6 6))))'));
INSERT INTO t1 VALUES(20,
GEOMETRYCOLLECTION(POINT(1,1),LINESTRING(POINT(1,1),POINT(2,2)),
POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,1),POINT(0,0))),
POLYGON(LINESTRING(POINT(0,0),POINT(10,0),POINT(10,10),POINT(0,10),
POINT(0,0)),LINESTRING(POINT(4,4),POINT(6,4),POINT(6,6),POINT(4,6),
POINT(4,4))),MULTIPOINT(POINT(1,1),POINT(2,2)),
MULTILINESTRING(LINESTRING(POINT(1,1),POINT(2,2)),LINESTRING(POINT(3,3),
POINT(4,4))),MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),
POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5),
POINT(10,10),POINT(5,10),POINT(5,5)))),
MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,1),
POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5),POINT(10,10),
POINT(5,10),POINT(5,5)),LINESTRING(POINT(6,6),POINT(6,7),POINT(7,7),
POINT(7,6),POINT(6,6)))),GEOMETRYCOLLECTION(POINT(1,1)),
GEOMETRYCOLLECTION(LINESTRING(POINT(1,1),POINT(2,2))),
GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),
POINT(0,1),POINT(0,0)))),GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(0,0),
POINT(10,0),POINT(10,10),POINT(0,10),POINT(0,0)),LINESTRING(POINT(4,4),
POINT(4,6),POINT(6,6),POINT(6,6),POINT(4,4)))),
GEOMETRYCOLLECTION(MULTIPOINT(POINT(1,1),POINT(2,2))),
GEOMETRYCOLLECTION(MULTILINESTRING(LINESTRING(POINT(1,1),POINT(2,2)),
LINESTRING(POINT(3,3),POINT(4,4)))),
GEOMETRYCOLLECTION(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),
POINT(1,1),POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5),
POINT(10,10),POINT(5,10),POINT(5,5))))),
GEOMETRYCOLLECTION(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),
POINT(1,1),POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5),
POINT(10,10),POINT(5,10),POINT(5,5)),LINESTRING(POINT(6,6),POINT(6,7),
POINT(7,7),POINT(7,6),POINT(6,6)))))));
INSERT INTO t1 VALUES (21,
GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1,1)),
GEOMETRYCOLLECTION(LINESTRING(POINT(1,1),POINT(2,2))),
GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(1,1), POINT(10,1), POINT(10,10),
POINT(1,10), POINT(1,1)), LINESTRING(POINT(4,4),POINT(4,6),POINT(6,6),
POINT(6,4),POINT(4,4))))));
SELECT ST_ASTEXT(ST_DIFFERENCE(a.g, b.g)) FROM t1 AS a JOIN t1 AS b ORDER BY a.pk, b.pk;
ST_ASTEXT(ST_DIFFERENCE(a.g, b.g))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,0 1,0 0,1 0,1 1))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1))
MULTIPOLYGON(((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1)),((6 6,7 6,7 7,6 7,6 6)))
MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1)))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1))
MULTIPOLYGON(((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1)),((6 6,7 6,7 7,6 7,6 6)))
MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10))
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
LINESTRING(3 3,4 4)
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
LINESTRING(3 3,4 4)
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
POLYGON((5 5,10 5,10 10,5 10,5 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
GEOMETRYCOLLECTION EMPTY
POLYGON((6 6,7 6,7 7,6 7,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
POLYGON((5 5,10 5,10 10,5 10,5 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
GEOMETRYCOLLECTION EMPTY
POLYGON((6 6,7 6,7 7,6 7,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((5 6,5 5,6 5,6 6,5 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((5 6,5 5,6 5,6 6,5 6))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((5 6,5 5,6 5,6 6,5 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,0 1,0 0,1 0,1 1))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
LINESTRING(1 1,2 2)
LINESTRING(1 1,2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,1 0,1 1,0 1,0 0))
POLYGON((0 0,1 0,1 1,0 1,0 0))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,0 1,0 0,1 0,1 1))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1))
MULTIPOLYGON(((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1)),((6 6,7 6,7 7,6 7,6 6)))
MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1)))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
POLYGON((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1))
MULTIPOLYGON(((0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1)),((6 6,7 6,7 7,6 7,6 6)))
MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10))
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POINT(2 2)
POINT(2 2)
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
LINESTRING(3 3,4 4)
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
LINESTRING(3 3,4 4)
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
MULTILINESTRING((1 1,2 2),(3 3,4 4))
MULTILINESTRING((1 1,2 2),(3 3,4 4))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
POLYGON((5 5,10 5,10 10,5 10,5 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
GEOMETRYCOLLECTION EMPTY
POLYGON((6 6,7 6,7 7,6 7,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
POLYGON((5 5,10 5,10 10,5 10,5 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5)))
GEOMETRYCOLLECTION EMPTY
POLYGON((6 6,7 6,7 7,6 7,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((5 6,5 5,6 5,6 6,5 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))
POLYGON((5 6,5 5,6 5,6 6,5 6))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((5 6,5 5,6 5,6 6,5 6))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((5 6,5 5,6 5,6 6,5 6)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,0 1,0 0,1 0,1 1))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)))
MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6)))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((5 6,5 5,6 5,6 6,5 6))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5))
POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)))
MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6)))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5))
POLYGON((5 6,5 5,4 4,6 4,6 6,5 6))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)))
MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6)))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5))
POLYGON((5 6,5 5,4 4,6 4,6 6,5 6))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5))
POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)))
MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6)))
POLYGON((4 4,6 4,6 5,5 5,4 4))
GEOMETRYCOLLECTION EMPTY
MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6)))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
GEOMETRYCOLLECTION EMPTY
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))
POLYGON((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10))
MULTIPOLYGON(((5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10)),((6 6,7 6,7 7,6 7,6 6)))
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
#clean up
DROP TABLE gis_geometrycollection;
DROP TABLE gis_geometrycollection_2;
DROP TABLE t1;
#
# Bug#21977775 ST_DIFFERENCE(POLYGON, POLYGON) RETURNS INVALID GEOMETRY
#
SELECT ST_ASTEXT(ST_DIFFERENCE(ST_GEOMFROMTEXT('POLYGON((8 6,5 7,-1
4,-8 -7,0 -17,8 6),(3 6,5 5,0 -2,3 6))'), ST_GEOMFROMTEXT('POLYGON((3 5,-17
11,-8 -3,3 5))'))) AS result;
result
MULTIPOLYGON(((1.75 5.375,2.662921348314607 5.101123595505618,3 6,1.75 5.375)),((-3.2615384615384615 0.44615384615384635,-8 -7,0 -17,8 6,5 7,3 6,5 5,0 -2,2.484375 4.625,-3.2615384615384615 0.44615384615384635)))
#
# WL#8579 Spatial Reference Systems
#
# SRID 0 (should pass)
SELECT ST_ASTEXT(ST_DIFFERENCE(
ST_GEOMFROMTEXT('POINT(0 0)', 0),
ST_GEOMFROMTEXT('POINT(0 0)', 0)
));
ST_ASTEXT(ST_DIFFERENCE(
ST_GEOMFROMTEXT('POINT(0 0)', 0),
ST_GEOMFROMTEXT('POINT(0 0)', 0)
))
GEOMETRYCOLLECTION EMPTY
# Projected SRS (should pass)
SELECT ST_ASTEXT(ST_DIFFERENCE(
ST_GEOMFROMTEXT('POINT(0 0)', 2000),
ST_GEOMFROMTEXT('POINT(0 0)', 2000)
));
ST_ASTEXT(ST_DIFFERENCE(
ST_GEOMFROMTEXT('POINT(0 0)', 2000),
ST_GEOMFROMTEXT('POINT(0 0)', 2000)
))
GEOMETRYCOLLECTION EMPTY
# Geographic SRS (should fail)
SELECT ST_ASTEXT(ST_DIFFERENCE(
ST_GEOMFROMTEXT('POINT(0 0)', 4326),
ST_GEOMFROMTEXT('POINT(0 0)', 4326)
));
ERROR 22S00: st_difference(POINT, POINT) has not been implemented for geographic spatial reference systems.
#
# WL#11096 Don't do Cartesian computations on geographic geometries
#
# Assume SRID 10 is not defined.
DO ST_DIFFERENCE(
x'0A000000010100000000000000000000000000000000000000',
x'0A000000010100000000000000000000000000000000000000'
);
ERROR SR001: There's no spatial reference system with SRID 10.