mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix cost calculation in test_if_cheaper_ordering() to be cost based
The original code was mostly rule based and preferred clustered or covering indexed independent of cost. There where a few test changes: - Some test changed from using filesort to index or table scan. This happened when most of the rows had to be sorted and the ORDER BY could use covering or a clustered index (innodb_mysql, create_spatial_index). - Some test changed range to filesort. This where mainly because the range was scanning most of the rows or using index scan + row lookup and filesort with table scan is cheaper. (order_by). - Change in join_cache was because sorting 2 rows is faster than retrieving 10 rows. - In selectivity_innodb.test one test changed to use a cheaper index.
This commit is contained in:
@ -94,7 +94,7 @@ ANALYZE TABLE tab;
|
||||
|
||||
# Check the spatial relationship between 2 GIS shapes
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -117,7 +117,7 @@ WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
# Test the MBRWithin
|
||||
--echo # Test the MBRWithin
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) ');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1;
|
||||
@ -129,7 +129,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Crosses
|
||||
--echo # Test the ST_Crosses
|
||||
SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1;
|
||||
@ -152,7 +152,7 @@ WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -164,7 +164,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -176,7 +176,6 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -199,7 +198,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the Overelaps
|
||||
--echo # Test the Overelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -222,7 +221,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Touches
|
||||
--echo # Test the ST_Touches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -245,7 +244,7 @@ WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -268,7 +267,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -280,7 +279,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -292,7 +291,7 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
--echo # Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -315,7 +314,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the MBROverelaps
|
||||
--echo # Test the MBROverelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -327,7 +326,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the MBRTouches
|
||||
--echo # Test the MBRTouches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -339,7 +338,7 @@ WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
# Test with Procedure
|
||||
--echo # Test with Procedure
|
||||
delimiter |;
|
||||
|
||||
CREATE PROCEDURE proc_wl6968()
|
||||
@ -357,7 +356,7 @@ delimiter ;|
|
||||
|
||||
CALL proc_wl6968();
|
||||
|
||||
# Test the Delete & Update
|
||||
--echo # Test the Delete & Update
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -478,7 +477,7 @@ ANALYZE TABLE tab;
|
||||
|
||||
# Check the spatial relationship between 2 GIS shapes
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -501,7 +500,7 @@ WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
# Test the MBRWithin
|
||||
--echo # Test the MBRWithin
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) ');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1;
|
||||
@ -513,7 +512,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Crosses
|
||||
--echo # Test the ST_Crosses
|
||||
SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1;
|
||||
@ -536,7 +535,7 @@ WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -548,7 +547,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -560,7 +559,7 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
--echo # Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -583,7 +582,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the Overelaps
|
||||
--echo # Test the Overelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -606,7 +605,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Touches
|
||||
--echo # Test the ST_Touches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -629,7 +628,7 @@ WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -652,7 +651,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -664,7 +663,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -676,7 +675,7 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
--echo # Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -699,7 +698,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the MBROverelaps
|
||||
--echo # Test the MBROverelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -711,7 +710,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the MBRTouches
|
||||
--echo # Test the MBRTouches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -723,7 +722,7 @@ WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
# Test with Procedure
|
||||
--echo # Test with Procedure
|
||||
delimiter |;
|
||||
|
||||
CREATE PROCEDURE proc_wl6968()
|
||||
@ -741,7 +740,7 @@ delimiter ;|
|
||||
|
||||
CALL proc_wl6968();
|
||||
|
||||
# Test the Delete & Update
|
||||
--echo # Test the Delete & Update
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) ');
|
||||
|
||||
SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1;
|
||||
@ -850,7 +849,7 @@ ANALYZE TABLE tab;
|
||||
|
||||
# Check the spatial relationship between 2 GIS shapes
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -873,7 +872,7 @@ WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1);
|
||||
|
||||
# Test the MBRWithin
|
||||
--echo # Test the MBRWithin
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) ');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1;
|
||||
@ -885,7 +884,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Crosses
|
||||
--echo # Test the ST_Crosses
|
||||
SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1;
|
||||
@ -908,7 +907,7 @@ WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -920,7 +919,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -932,7 +931,7 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
--echo # Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -955,7 +954,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the Overelaps
|
||||
--echo # Test the Overelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -978,7 +977,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the ST_Touches
|
||||
--echo # Test the ST_Touches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1001,7 +1000,7 @@ WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1);
|
||||
|
||||
# Test the MBRContains
|
||||
--echo # Test the MBRContains
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1024,7 +1023,7 @@ WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1);
|
||||
|
||||
# Test the MBRDisjoint
|
||||
--echo # Test the MBRDisjoint
|
||||
SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1036,7 +1035,7 @@ WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1);
|
||||
|
||||
# Test the MBREquals
|
||||
--echo # Test the MBREquals
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1048,7 +1047,7 @@ WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1);
|
||||
|
||||
# Test the MBRintersects
|
||||
--echo # Test the MBRintersects
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1071,7 +1070,7 @@ WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1);
|
||||
|
||||
# Test the MBROverelaps
|
||||
--echo # Test the MBROverelaps
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1083,7 +1082,7 @@ WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1);
|
||||
|
||||
# Test the MBRTouches
|
||||
--echo # Test the MBRTouches
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
|
||||
|
||||
EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1095,7 +1094,7 @@ WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1);
|
||||
|
||||
# Test the Delete & Update
|
||||
--echo # Test the Delete & Update
|
||||
SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))');
|
||||
|
||||
SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1;
|
||||
@ -1124,7 +1123,7 @@ DROP TABLE tab;
|
||||
|
||||
# End of Testcase compress table with Auto_increment
|
||||
|
||||
# Test check constraint on spatial column
|
||||
--echo # Test check constraint on spatial column
|
||||
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||
CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(c1 > 0) ) ENGINE=InnoDB;
|
||||
CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(CAST(c1 AS BINARY) > 0) ) ENGINE=InnoDB;
|
||||
|
Reference in New Issue
Block a user