mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			308 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| SET @tmp=ST_GIS_DEBUG(1);
 | |
| DROP TABLE IF EXISTS p1;
 | |
| CREATE PROCEDURE p1(dist DOUBLE, geom TEXT)
 | |
| BEGIN
 | |
| DECLARE g GEOMETRY;
 | |
| SET g=GeomFromText(geom);
 | |
| SELECT geom AS `-----`;
 | |
| SELECT dist, GeometryType(@buf:=ST_Buffer(g, dist)) AS `buffer`, ROUND(ST_AREA(@buf),2) AS buf_area;
 | |
| END|
 | |
| #
 | |
| # Testing ST_BUFFER with positive distance
 | |
| #
 | |
| -----
 | |
| POINT(0 0))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	3.14
 | |
| -----
 | |
| LineString(0 1, 1 1))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	5.14
 | |
| -----
 | |
| LineString(9 9,8 1,1 5,0 0)
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	44.63
 | |
| -----
 | |
| Polygon((2 2,2 8,8 8,8 2,2 2))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	63.14
 | |
| -----
 | |
| Polygon((0 0,0 8,8 8,8 0,0 0),(2 2,6 2,6 6,2 6,2 2))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	95.14
 | |
| -----
 | |
| Polygon((0 0, 0 8, 8 8, 8 10, -10 10, -10 0, 0 0))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	174.93
 | |
| -----
 | |
| MultiPoint(9 9,8 1,1 5)
 | |
| dist	buffer	buf_area
 | |
| 1	MULTIPOLYGON	9.42
 | |
| -----
 | |
| MultiLineString((0 0,2 2))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	8.80
 | |
| -----
 | |
| MultiLineString((0 0,2 2,0 4))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	14.24
 | |
| -----
 | |
| MultiLineString((0 0,2 2),(0 2,2 0))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	13.59
 | |
| -----
 | |
| MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14))
 | |
| dist	buffer	buf_area
 | |
| 1	MULTIPOLYGON	70.06
 | |
| -----
 | |
| MultiPolygon(((2 2,2 8,8 8,8 2,2 2)), ((9 9,8 1,1 5,9 9)))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	73.18
 | |
| -----
 | |
| MultiPolygon(((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),((9 9,8 1,1 5,9 9)))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	73.18
 | |
| -----
 | |
| GeometryCollection(Point(0 0))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	3.14
 | |
| -----
 | |
| GeometryCollection(LineString(0 0, 2 2)))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	8.80
 | |
| -----
 | |
| GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2))))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	63.14
 | |
| -----
 | |
| GeometryCollection(MultiPoint(9 9,8 1,1 5))
 | |
| dist	buffer	buf_area
 | |
| 1	MULTIPOLYGON	9.42
 | |
| -----
 | |
| GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1)))
 | |
| dist	buffer	buf_area
 | |
| 1	MULTIPOLYGON	10.28
 | |
| -----
 | |
| GeometryCollection(MultiPolygon(((0 0, 3 0, 3 3, 0 3, 0 0)),((6 6,6 9,9 9,9 6,6 6))))
 | |
| dist	buffer	buf_area
 | |
| 1	MULTIPOLYGON	48.28
 | |
| -----
 | |
| GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2)))
 | |
| dist	buffer	buf_area
 | |
| 1	POLYGON	75.92
 | |
| #
 | |
| # Testing ST_BUFFER with zero distance
 | |
| #
 | |
| -----
 | |
| POINT(0 0))
 | |
| dist	buffer	buf_area
 | |
| 0	POINT	0.00
 | |
| -----
 | |
| LineString(0 1, 1 1))
 | |
| dist	buffer	buf_area
 | |
| 0	LINESTRING	0.00
 | |
| -----
 | |
| LineString(9 9,8 1,1 5,0 0)
 | |
| dist	buffer	buf_area
 | |
| 0	LINESTRING	0.00
 | |
| -----
 | |
| Polygon((2 2,2 8,8 8,8 2,2 2))
 | |
| dist	buffer	buf_area
 | |
| 0	POLYGON	36.00
 | |
| -----
 | |
| Polygon((0 0,0 8,8 8,8 0,0 0),(2 2,6 2,6 6,2 6,2 2))
 | |
| dist	buffer	buf_area
 | |
| 0	POLYGON	48.00
 | |
| -----
 | |
| Polygon((0 0, 0 8, 8 8, 8 10, -10 10, -10 0, 0 0))
 | |
| dist	buffer	buf_area
 | |
| 0	POLYGON	116.00
 | |
| -----
 | |
| MultiPoint(9 9,8 1,1 5)
 | |
| dist	buffer	buf_area
 | |
| 0	MULTIPOINT	NULL
 | |
| -----
 | |
| MultiLineString((0 0,2 2))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTILINESTRING	NULL
 | |
| -----
 | |
| MultiLineString((0 0,2 2,0 4))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTILINESTRING	NULL
 | |
| -----
 | |
| MultiLineString((0 0,2 2),(0 2,2 0))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTILINESTRING	NULL
 | |
| -----
 | |
| MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTILINESTRING	NULL
 | |
| -----
 | |
| MultiPolygon(((2 2,2 8,8 8,8 2,2 2)), ((9 9,8 1,1 5,9 9)))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTIPOLYGON	66.00
 | |
| -----
 | |
| MultiPolygon(((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),((9 9,8 1,1 5,9 9)))
 | |
| dist	buffer	buf_area
 | |
| 0	MULTIPOLYGON	62.00
 | |
| -----
 | |
| GeometryCollection(Point(0 0))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(LineString(0 0, 2 2)))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2))))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	36.00
 | |
| -----
 | |
| GeometryCollection(MultiPoint(9 9,8 1,1 5))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	NULL
 | |
| -----
 | |
| GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1)))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	NULL
 | |
| -----
 | |
| GeometryCollection(MultiPolygon(((0 0, 3 0, 3 3, 0 3, 0 0)),((6 6,6 9,9 9,9 6,6 6))))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	18.00
 | |
| -----
 | |
| GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2)))
 | |
| dist	buffer	buf_area
 | |
| 0	GEOMETRYCOLLECTION	36.00
 | |
| #
 | |
| # Testing ST_BUFFER with negative distance
 | |
| #
 | |
| -----
 | |
| POINT(0 0))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| LineString(0 1, 1 1))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| LineString(9 9,8 1,1 5,0 0)
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| Polygon((2 2,2 8,8 8,8 2,2 2))
 | |
| dist	buffer	buf_area
 | |
| -1	POLYGON	16.00
 | |
| -----
 | |
| MultiPoint(9 9,8 1,1 5)
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| MultiLineString((0 0,2 2))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| MultiLineString((0 0,2 2,0 4))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| MultiLineString((0 0,2 2),(0 2,2 0))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(Point(0 0))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(LineString(0 0, 2 2)))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2))))
 | |
| dist	buffer	buf_area
 | |
| -1	POLYGON	16.00
 | |
| -----
 | |
| GeometryCollection(MultiPoint(9 9,8 1,1 5))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1)))
 | |
| dist	buffer	buf_area
 | |
| -1	GEOMETRYCOLLECTION	0.00
 | |
| -----
 | |
| GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2)))
 | |
| dist	buffer	buf_area
 | |
| -1	POLYGON	16.00
 | |
| SELECT ST_CONTAINS(
 | |
| GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
 | |
| GeomFromText('POINT(5 10)'));
 | |
| ST_CONTAINS(
 | |
| GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
 | |
| GeomFromText('POINT(5 10)'))
 | |
| 0
 | |
| SELECT AsText(ST_UNION(
 | |
| GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
 | |
| GeomFromText('POINT(5 10)')));
 | |
| AsText(ST_UNION(
 | |
| GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
 | |
| GeomFromText('POINT(5 10)')))
 | |
| GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10))
 | |
| DROP PROCEDURE p1;
 | |
| #
 | |
| # Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
 | |
| #
 | |
| SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
 | |
| GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3))
 | |
| POLYGON
 | |
| #
 | |
| # Bug #13832749 	HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
 | |
| #
 | |
| SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
 | |
| GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1))
 | |
| POLYGON
 | |
| #
 | |
| # Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
 | |
| #
 | |
| DO ST_BUFFER(ST_GEOMCOLLFROMTEXT('linestring(1 1,2 2)'),'');
 | |
| Warnings:
 | |
| Warning	1292	Truncated incorrect DOUBLE value: ''
 | |
| SELECT ST_WITHIN(
 | |
| LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
 | |
| ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
 | |
| ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
 | |
| ST_WITHIN(
 | |
| LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
 | |
| ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ')
 | |
| 0
 | |
| SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
 | |
| ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
 | |
| ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
 | |
| ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))))
 | |
| 2
 | |
| SELECT ST_NUMINTERIORRINGS(
 | |
| ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
 | |
| SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
 | |
| ST_NUMINTERIORRINGS(
 | |
| ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
 | |
| SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))))
 | |
| 0
 | |
| SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
 | |
| SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
 | |
| ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
 | |
| SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))))
 | |
| POLYGON((9 9,5 2,4 5,9 9))
 | |
| #
 | |
| # Start of 10.2 tests
 | |
| #
 | |
| #
 | |
| # MDEV-10134 Add full support for DEFAULT
 | |
| #
 | |
| CREATE TABLE t1 (a INT DEFAULT ST_GIS_DEBUG(1));
 | |
| ERROR HY000: Function or expression 'st_gis_debug()' cannot be used in the DEFAULT clause of `a`
 | |
| #
 | |
| # End of 10.2 tests
 | |
| #
 |