--- suite/storage_engine/type_spatial_indexes.result 2013-08-05 18:08:49.000000000 +0400 +++ suite/storage_engine/type_spatial_indexes.reject 2013-08-05 18:27:47.000000000 +0400 @@ -2,1399 +2,31 @@ DROP DATABASE IF EXISTS gis_ogs; CREATE DATABASE gis_ogs; CREATE TABLE gis_point (fid , g POINT, g(g(128))) ENGINE= ; -CREATE TABLE gis_line (fid , g LINESTRING, g(g(256))) ENGINE= ; -CREATE TABLE gis_polygon (fid , g POLYGON, g(g(512))) ENGINE= ; -CREATE TABLE gis_multi_point (fid , g MULTIPOINT, g(g(128))) ENGINE= ; -CREATE TABLE gis_multi_line (fid , g MULTILINESTRING, g(g(256))) ENGINE= ; -CREATE TABLE gis_multi_polygon (fid , g MULTIPOLYGON) ENGINE= ; -CREATE TABLE gis_geometrycollection (fid , g GEOMETRYCOLLECTION) ENGINE= ; -CREATE TABLE gis_geometry (fid , g GEOMETRY) ENGINE= ; -USE gis_ogs; -CREATE TABLE lakes (fid INT , -name CHAR(64) , -shore POLYGON, s(shore(64))) ENGINE= ; -CREATE TABLE road_segments (fid INT , -name CHAR(64) , -aliases CHAR(64) , -num_lanes INT , -centerline LINESTRING, c(centerline(128))) ENGINE= ; -CREATE TABLE divided_routes (fid INT , -name CHAR(64) , -num_lanes INT , -centerlines MULTILINESTRING, c(centerlines(512))) ENGINE= ; -CREATE TABLE forests (fid INT , -name CHAR(64) , -boundary MULTIPOLYGON, b(boundary(128))) ENGINE= ; -CREATE TABLE bridges (fid INT , -name CHAR(64) , -position POINT, p(`position`(64))) ENGINE= ; -CREATE TABLE streams (fid INT , -name CHAR(64) , -centerline LINESTRING, c(centerline(256))) ENGINE= ; -CREATE TABLE buildings (fid INT , -name CHAR(64) , -position POINT, -footprint POLYGON, p(`position`(64)), f(footprint(128))) ENGINE= ; -CREATE TABLE ponds (fid INT , -name CHAR(64) , -type CHAR(64) , -shores MULTIPOLYGON, s(shores(256))) ENGINE= ; -CREATE TABLE named_places (fid INT , -name CHAR(64) , -boundary POLYGON, b(boundary(512))) ENGINE= ; -CREATE TABLE map_neatlines (fid INT , -neatline POLYGON, n(neatline(700))) ENGINE= ; -USE test; -SHOW FIELDS FROM gis_point; -Field Type Null Key Default Extra -fid int(11) YES NULL -g point YES MUL NULL -SHOW FIELDS FROM gis_line; -Field Type Null Key Default Extra -fid int(11) YES NULL -g linestring YES MUL NULL -SHOW FIELDS FROM gis_polygon; -Field Type Null Key Default Extra -fid int(11) YES NULL -g polygon YES MUL NULL -SHOW FIELDS FROM gis_multi_point; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multipoint YES MUL NULL -SHOW FIELDS FROM gis_multi_line; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multilinestring YES MUL NULL -SHOW FIELDS FROM gis_multi_polygon; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multipolygon YES NULL -SHOW FIELDS FROM gis_geometrycollection; -Field Type Null Key Default Extra -fid int(11) YES NULL -g geometrycollection YES NULL -SHOW FIELDS FROM gis_geometry; -Field Type Null Key Default Extra -fid int(11) YES NULL -g geometry YES NULL -INSERT INTO gis_point (fid,g) VALUES -(101, PointFromText('POINT(10 10)')), -(102, PointFromText('POINT(20 10)')), -(103, PointFromText('POINT(20 20)')), -(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)')))); -INSERT INTO gis_line (fid,g) VALUES -(105, LineFromText('LINESTRING(0 0,0 10,10 0)')), -(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), -(107, LineStringFromWKB(AsWKB(LineString(Point(10, 10), Point(40, 10))))); -INSERT INTO gis_polygon (fid,g) VALUES -(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), -(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), -(110, PolyFromWKB(AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); -INSERT INTO gis_multi_point (fid,g) VALUES -(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), -(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), -(113, MPointFromWKB(AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); -INSERT INTO gis_multi_line (fid,g) VALUES -(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), -(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), -(116, MLineFromWKB(AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); -INSERT INTO gis_multi_polygon (fid,g) VALUES -(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), -(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), -(119, MPolyFromWKB(AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); -INSERT INTO gis_geometrycollection (fid,g) VALUES -(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), -(121, GeometryFromWKB(AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))), -(122, GeomFromText('GeometryCollection()')), -(123, GeomFromText('GeometryCollection EMPTY')); -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_point; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_line; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_polygon; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_point; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_line; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_polygon; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_geometrycollection; -SELECT fid, AsText(g) FROM gis_point; -fid AsText(g) -101 POINT(10 10) -102 POINT(20 10) -103 POINT(20 20) -104 POINT(10 20) -SELECT fid, AsText(g) FROM gis_line; -fid AsText(g) -105 LINESTRING(0 0,0 10,10 0) -106 LINESTRING(10 10,20 10,20 20,10 20,10 10) -107 LINESTRING(10 10,40 10) -SELECT fid, AsText(g) FROM gis_polygon; -fid AsText(g) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) -110 POLYGON((0 0,30 0,30 30,0 0)) -SELECT fid, AsText(g) FROM gis_multi_point; -fid AsText(g) -111 MULTIPOINT(0 0,10 10,10 20,20 20) -112 MULTIPOINT(1 1,11 11,11 21,21 21) -113 MULTIPOINT(3 6,4 10) -SELECT fid, AsText(g) FROM gis_multi_line; -fid AsText(g) -114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) -115 MULTILINESTRING((10 48,10 21,10 0)) -116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) -SELECT fid, AsText(g) FROM gis_multi_polygon; -fid AsText(g) -117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) -SELECT fid, AsText(g) FROM gis_geometrycollection; -fid AsText(g) -120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) -121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, AsText(g) FROM gis_geometry; -fid AsText(g) -101 POINT(10 10) -102 POINT(20 10) -103 POINT(20 20) -104 POINT(10 20) -105 LINESTRING(0 0,0 10,10 0) -106 LINESTRING(10 10,20 10,20 20,10 20,10 10) -107 LINESTRING(10 10,40 10) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) -110 POLYGON((0 0,30 0,30 30,0 0)) -111 MULTIPOINT(0 0,10 10,10 20,20 20) -112 MULTIPOINT(1 1,11 11,11 21,21 21) -113 MULTIPOINT(3 6,4 10) -114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) -115 MULTILINESTRING((10 48,10 21,10 0)) -116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) -117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) -120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) -121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, Dimension(g) FROM gis_geometry; -fid Dimension(g) -101 0 -102 0 -103 0 -104 0 -105 1 -106 1 -107 1 -108 2 -109 2 -110 2 -111 0 -112 0 -113 0 -114 1 -115 1 -116 1 -117 2 -118 2 -119 2 -120 1 -121 1 -122 0 -123 0 -SELECT fid, GeometryType(g) FROM gis_geometry; -fid GeometryType(g) -101 POINT -102 POINT -103 POINT -104 POINT -105 LINESTRING -106 LINESTRING -107 LINESTRING -108 POLYGON -109 POLYGON -110 POLYGON -111 MULTIPOINT -112 MULTIPOINT -113 MULTIPOINT -114 MULTILINESTRING -115 MULTILINESTRING -116 MULTILINESTRING -117 MULTIPOLYGON -118 MULTIPOLYGON -119 MULTIPOLYGON -120 GEOMETRYCOLLECTION -121 GEOMETRYCOLLECTION -122 GEOMETRYCOLLECTION -123 GEOMETRYCOLLECTION -SELECT fid, IsEmpty(g) FROM gis_geometry; -fid IsEmpty(g) -101 0 -102 0 -103 0 -104 0 -105 0 -106 0 -107 0 -108 0 -109 0 -110 0 -111 0 -112 0 -113 0 -114 0 -115 0 -116 0 -117 0 -118 0 -119 0 -120 0 -121 0 -122 0 -123 0 -SELECT fid, AsText(Envelope(g)) FROM gis_geometry; -fid AsText(Envelope(g)) -101 POLYGON((10 10,10 10,10 10,10 10,10 10)) -102 POLYGON((20 10,20 10,20 10,20 10,20 10)) -103 POLYGON((20 20,20 20,20 20,20 20,20 20)) -104 POLYGON((10 20,10 20,10 20,10 20,10 20)) -105 POLYGON((0 0,10 0,10 10,0 10,0 0)) -106 POLYGON((10 10,20 10,20 20,10 20,10 10)) -107 POLYGON((10 10,40 10,40 10,10 10,10 10)) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0)) -110 POLYGON((0 0,30 0,30 30,0 30,0 0)) -111 POLYGON((0 0,20 0,20 20,0 20,0 0)) -112 POLYGON((1 1,21 1,21 21,1 21,1 1)) -113 POLYGON((3 6,4 6,4 10,3 10,3 6)) -114 POLYGON((10 0,16 0,16 48,10 48,10 0)) -115 POLYGON((10 0,10 0,10 48,10 48,10 0)) -116 POLYGON((1 2,21 2,21 8,1 8,1 2)) -117 POLYGON((28 0,84 0,84 42,28 42,28 0)) -118 POLYGON((28 0,84 0,84 42,28 42,28 0)) -119 POLYGON((0 0,3 0,3 3,0 3,0 0)) -120 POLYGON((0 0,10 0,10 10,0 10,0 0)) -121 POLYGON((3 6,44 6,44 9,3 9,3 6)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, X(g) FROM gis_point; -fid X(g) -101 10 -102 20 -103 20 -104 10 -SELECT fid, Y(g) FROM gis_point; -fid Y(g) -101 10 -102 10 -103 20 -104 20 -SELECT fid, AsText(StartPoint(g)) FROM gis_line; -fid AsText(StartPoint(g)) -105 POINT(0 0) -106 POINT(10 10) -107 POINT(10 10) -SELECT fid, AsText(EndPoint(g)) FROM gis_line; -fid AsText(EndPoint(g)) -105 POINT(10 0) -106 POINT(10 10) -107 POINT(40 10) -SELECT fid, GLength(g) FROM gis_line; -fid GLength(g) -105 24.14213562373095 -106 40 -107 30 -SELECT fid, NumPoints(g) FROM gis_line; -fid NumPoints(g) -105 3 -106 5 -107 2 -SELECT fid, AsText(PointN(g, 2)) FROM gis_line; -fid AsText(PointN(g, 2)) -105 POINT(0 10) -106 POINT(20 10) -107 POINT(40 10) -SELECT fid, IsClosed(g) FROM gis_line; -fid IsClosed(g) -105 0 -106 1 -107 0 -SELECT fid, AsText(Centroid(g)) FROM gis_polygon; -fid AsText(Centroid(g)) -108 POINT(15 15) -109 POINT(25.416666666666668 25.416666666666668) -110 POINT(20 10) -SELECT fid, Area(g) FROM gis_polygon; -fid Area(g) -108 100 -109 2400 -110 450 -SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon; -fid AsText(ExteriorRing(g)) -108 LINESTRING(10 10,20 10,20 20,10 20,10 10) -109 LINESTRING(0 0,50 0,50 50,0 50,0 0) -110 LINESTRING(0 0,30 0,30 30,0 0) -SELECT fid, NumInteriorRings(g) FROM gis_polygon; -fid NumInteriorRings(g) -108 0 -109 1 -110 0 -SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon; -fid AsText(InteriorRingN(g, 1)) -108 NULL -109 LINESTRING(10 10,20 10,20 20,10 20,10 10) -110 NULL -SELECT fid, IsClosed(g) FROM gis_multi_line; -fid IsClosed(g) -114 0 -115 0 -116 0 -SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon; -fid AsText(Centroid(g)) -117 POINT(57.98031067576927 17.854754130800433) -118 POINT(57.98031067576927 17.854754130800433) -119 POINT(2 2) -SELECT fid, Area(g) FROM gis_multi_polygon; -fid Area(g) -117 1684.5 -118 1684.5 -119 4.5 -SELECT fid, NumGeometries(g) from gis_multi_point; -fid NumGeometries(g) -111 4 -112 4 -113 2 -SELECT fid, NumGeometries(g) from gis_multi_line; -fid NumGeometries(g) -114 2 -115 1 -116 2 -SELECT fid, NumGeometries(g) from gis_multi_polygon; -fid NumGeometries(g) -117 2 -118 2 -119 1 -SELECT fid, NumGeometries(g) from gis_geometrycollection; -fid NumGeometries(g) -120 2 -121 2 -122 0 -123 0 -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point; -fid AsText(GeometryN(g, 2)) -111 POINT(10 10) -112 POINT(11 11) -113 POINT(4 10) -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line; -fid AsText(GeometryN(g, 2)) -114 LINESTRING(16 0,16 23,16 48) -115 NULL -116 LINESTRING(2 5,5 8,21 7) -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon; -fid AsText(GeometryN(g, 2)) -117 POLYGON((59 18,67 18,67 13,59 13,59 18)) -118 POLYGON((59 18,67 18,67 13,59 13,59 18)) -119 NULL -SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection; -fid AsText(GeometryN(g, 2)) -120 LINESTRING(0 0,10 10) -121 LINESTRING(3 6,7 9) -122 NULL -123 NULL -SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection; -fid AsText(GeometryN(g, 1)) -120 POINT(0 0) -121 POINT(44 6) -122 NULL -123 NULL -SELECT g1.fid as first, g2.fid as second, -Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o, -Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, -Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r -FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; -first second w c o e d t i r -120 120 1 1 0 1 0 0 1 0 -120 121 0 0 1 0 0 0 1 0 -120 122 NULL NULL NULL NULL NULL NULL NULL NULL -120 123 NULL NULL NULL NULL NULL NULL NULL NULL -121 120 0 0 1 0 0 0 1 0 -121 121 1 1 0 1 0 0 1 0 -121 122 NULL NULL NULL NULL NULL NULL NULL NULL -121 123 NULL NULL NULL NULL NULL NULL NULL NULL -122 120 NULL NULL NULL NULL NULL NULL NULL NULL -122 121 NULL NULL NULL NULL NULL NULL NULL NULL -122 122 NULL NULL NULL NULL NULL NULL NULL NULL -122 123 NULL NULL NULL NULL NULL NULL NULL NULL -123 120 NULL NULL NULL NULL NULL NULL NULL NULL -123 121 NULL NULL NULL NULL NULL NULL NULL NULL -123 122 NULL NULL NULL NULL NULL NULL NULL NULL -123 123 NULL NULL NULL NULL NULL NULL NULL NULL -DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; -USE gis_ogs; -# Lakes -INSERT INTO lakes (fid,name,shore) VALUES ( -101, 'BLUE LAKE', -PolyFromText( -'POLYGON( - (52 18,66 23,73 9,48 6,52 18), - (59 18,67 18,67 13,59 13,59 18) - )', -101)); -# Road Segments -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(102, 'Route 5', NULL, 2, -LineFromText( -'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(103, 'Route 5', 'Main Street', 4, -LineFromText( -'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(104, 'Route 5', NULL, 2, -LineFromText( -'LINESTRING( 70 38, 72 48 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(105, 'Main Street', NULL, 4, -LineFromText( -'LINESTRING( 70 38, 84 42 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(106, 'Dirt Road by Green Forest', NULL, -1, -LineFromText( -'LINESTRING( 28 26, 28 0 )',101)); -# DividedRoutes -INSERT INTO divided_routes (fid,name,num_lanes,centerlines) VALUES(119, 'Route 75', 4, -MLineFromText( -'MULTILINESTRING((10 48,10 21,10 0), - (16 0,16 23,16 48))', 101)); -# Forests -INSERT INTO forests (fid,name,boundary) VALUES(109, 'Green Forest', -MPolyFromText( -'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), - (52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', -101)); -# Bridges -INSERT INTO bridges (fid,name,position) VALUES(110, 'Cam Bridge', PointFromText( -'POINT( 44 31 )', 101)); -# Streams -INSERT INTO streams (fid,name,centerline) VALUES(111, 'Cam Stream', -LineFromText( -'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); -INSERT INTO streams (fid,name,centerline) VALUES(112, NULL, -LineFromText( -'LINESTRING( 76 0, 78 4, 73 9 )', 101)); -# Buildings -INSERT INTO buildings (fid,name,position,footprint) VALUES(113, '123 Main Street', -PointFromText( -'POINT( 52 30 )', 101), -PolyFromText( -'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); -INSERT INTO buildings (fid,name,position,footprint) VALUES(114, '215 Main Street', -PointFromText( -'POINT( 64 33 )', 101), -PolyFromText( -'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); -# Ponds -INSERT INTO ponds (fid,name,type,shores) VALUES(120, NULL, 'Stock Pond', -MPolyFromText( -'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), - ( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); -# Named Places -INSERT INTO named_places (fid,name,boundary) VALUES(117, 'Ashton', -PolyFromText( -'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); -INSERT INTO named_places (fid,name,boundary) VALUES(118, 'Goose Island', -PolyFromText( -'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); -# Map Neatlines -INSERT INTO map_neatlines (fid,neatline) VALUES(115, -PolyFromText( -'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); -SELECT Dimension(shore) -FROM lakes -WHERE name = 'Blue Lake'; -Dimension(shore) -2 -SELECT GeometryType(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -GeometryType(centerlines) -MULTILINESTRING -SELECT AsText(boundary) -FROM named_places -WHERE name = 'Goose Island'; -AsText(boundary) -POLYGON((67 13,67 18,59 18,59 13,67 13)) -SELECT AsText(PolyFromWKB(AsBinary(boundary),101)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(PolyFromWKB(AsBinary(boundary),101)) -POLYGON((67 13,67 18,59 18,59 13,67 13)) -SELECT SRID(boundary) -FROM named_places -WHERE name = 'Goose Island'; -SRID(boundary) -101 -SELECT IsEmpty(centerline) -FROM road_segments -WHERE name = 'Route 5' -AND aliases = 'Main Street'; -IsEmpty(centerline) -0 -SELECT AsText(Envelope(boundary)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(Envelope(boundary)) -POLYGON((59 13,67 13,67 18,59 18,59 13)) -SELECT X(position) -FROM bridges -WHERE name = 'Cam Bridge'; -X(position) -44 -SELECT Y(position) -FROM bridges -WHERE name = 'Cam Bridge'; -Y(position) -31 -SELECT AsText(StartPoint(centerline)) -FROM road_segments -WHERE fid = 102; -AsText(StartPoint(centerline)) -POINT(0 18) -SELECT AsText(EndPoint(centerline)) -FROM road_segments -WHERE fid = 102; -AsText(EndPoint(centerline)) -POINT(44 31) -SELECT GLength(centerline) -FROM road_segments -WHERE fid = 106; -GLength(centerline) -26 -SELECT NumPoints(centerline) -FROM road_segments -WHERE fid = 102; -NumPoints(centerline) -5 -SELECT AsText(PointN(centerline, 1)) -FROM road_segments -WHERE fid = 102; -AsText(PointN(centerline, 1)) -POINT(0 18) -SELECT AsText(Centroid(boundary)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(Centroid(boundary)) -POINT(63 15.5) -SELECT Area(boundary) -FROM named_places -WHERE name = 'Goose Island'; -Area(boundary) -40 -SELECT AsText(ExteriorRing(shore)) -FROM lakes -WHERE name = 'Blue Lake'; -AsText(ExteriorRing(shore)) -LINESTRING(52 18,66 23,73 9,48 6,52 18) -SELECT NumInteriorRings(shore) -FROM lakes -WHERE name = 'Blue Lake'; -NumInteriorRings(shore) -1 -SELECT AsText(InteriorRingN(shore, 1)) -FROM lakes -WHERE name = 'Blue Lake'; -AsText(InteriorRingN(shore, 1)) -LINESTRING(59 18,67 18,67 13,59 13,59 18) -SELECT NumGeometries(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -NumGeometries(centerlines) -2 -SELECT AsText(GeometryN(centerlines, 2)) -FROM divided_routes -WHERE name = 'Route 75'; -AsText(GeometryN(centerlines, 2)) -LINESTRING(16 0,16 23,16 48) -SELECT IsClosed(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -IsClosed(centerlines) -0 -SELECT GLength(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -GLength(centerlines) -96 -SELECT AsText(Centroid(shores)) -FROM ponds -WHERE fid = 120; -AsText(Centroid(shores)) -POINT(25 42) -SELECT Area(shores) -FROM ponds -WHERE fid = 120; -Area(shores) -8 -SELECT ST_Equals(boundary, -PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) -FROM named_places -WHERE name = 'Goose Island'; -ST_Equals(boundary, -PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) -1 -SELECT ST_Disjoint(centerlines, boundary) -FROM divided_routes, named_places -WHERE divided_routes.name = 'Route 75' -AND named_places.name = 'Ashton'; -ST_Disjoint(centerlines, boundary) -1 -SELECT ST_Touches(centerline, shore) -FROM streams, lakes -WHERE streams.name = 'Cam Stream' -AND lakes.name = 'Blue Lake'; -ST_Touches(centerline, shore) -1 -SELECT Crosses(road_segments.centerline, divided_routes.centerlines) -FROM road_segments, divided_routes -WHERE road_segments.fid = 102 -AND divided_routes.name = 'Route 75'; -Crosses(road_segments.centerline, divided_routes.centerlines) -1 -SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) -FROM road_segments, divided_routes -WHERE road_segments.fid = 102 -AND divided_routes.name = 'Route 75'; -ST_Intersects(road_segments.centerline, divided_routes.centerlines) -1 -SELECT ST_Contains(forests.boundary, named_places.boundary) -FROM forests, named_places -WHERE forests.name = 'Green Forest' -AND named_places.name = 'Ashton'; -ST_Contains(forests.boundary, named_places.boundary) -0 -SELECT ST_Distance(position, boundary) -FROM bridges, named_places -WHERE bridges.name = 'Cam Bridge' -AND named_places.name = 'Ashton'; -ST_Distance(position, boundary) -12 -SELECT AsText(ST_Difference(named_places.boundary, forests.boundary)) -FROM named_places, forests -WHERE named_places.name = 'Ashton' -AND forests.name = 'Green Forest'; -AsText(ST_Difference(named_places.boundary, forests.boundary)) -POLYGON((56 34,62 48,84 48,84 42,56 34)) -SELECT AsText(ST_Union(shore, boundary)) -FROM lakes, named_places -WHERE lakes.name = 'Blue Lake' -AND named_places.name = 'Goose Island'; -AsText(ST_Union(shore, boundary)) -POLYGON((48 6,52 18,66 23,73 9,48 6)) -SELECT AsText(ST_SymDifference(shore, boundary)) -FROM lakes, named_places -WHERE lakes.name = 'Blue Lake' -AND named_places.name = 'Ashton'; -AsText(ST_SymDifference(shore, boundary)) -MULTIPOLYGON(((48 6,52 18,66 23,73 9,48 6),(59 13,59 18,67 18,67 13,59 13)),((56 30,56 34,62 48,84 48,84 30,56 30))) -SELECT count(*) -FROM buildings, bridges -WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; -count(*) -1 +ERROR 42000: The storage engine for the table doesn't support GEOMETRY +# ERROR: Statement ended with errno 1178, errname ER_CHECK_NOT_IMPLEMENTED (expected to succeed) +# ------------ UNEXPECTED RESULT ------------ +# [ CREATE TABLE gis_point (fid INT(11) /*!*/ /*Custom column options*/, g POINT, /*!INDEX*/ /*Custom index*/ g(g(128))) ENGINE=MRG_MYISAM /*!*/ /*Custom table options*/ UNION(mrg.gis_point) INSERT_METHOD=LAST ] +# The statement|command finished with ER_CHECK_NOT_IMPLEMENTED. +# Geometry types or indexes on them or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors. +# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def. +# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped. +# Also, this problem may cause a chain effect (more errors of different kinds in the test). +# ------------------------------------------- DROP DATABASE gis_ogs; USE test; DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; DROP DATABASE IF EXISTS gis_ogs; CREATE DATABASE gis_ogs; CREATE TABLE gis_point (fid , g POINT NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_line (fid , g LINESTRING NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_polygon (fid , g POLYGON NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_multi_point (fid , g MULTIPOINT NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_multi_line (fid , g MULTILINESTRING NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_multi_polygon (fid , g MULTIPOLYGON NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_geometrycollection (fid , g GEOMETRYCOLLECTION NOT NULL, SPATIAL INDEX(g)) ENGINE= ; -CREATE TABLE gis_geometry (fid , g GEOMETRY NOT NULL) ENGINE= ; -USE gis_ogs; -CREATE TABLE lakes (fid INT , -name CHAR(64) , -shore POLYGON NOT NULL, SPATIAL INDEX s(shore)) ENGINE= ; -CREATE TABLE road_segments (fid INT , -name CHAR(64) , -aliases CHAR(64) , -num_lanes INT , -centerline LINESTRING NOT NULL, SPATIAL INDEX c(centerline)) ENGINE= ; -CREATE TABLE divided_routes (fid INT , -name CHAR(64) , -num_lanes INT , -centerlines MULTILINESTRING NOT NULL, SPATIAL INDEX c(centerlines)) ENGINE= ; -CREATE TABLE forests (fid INT , -name CHAR(64) , -boundary MULTIPOLYGON NOT NULL, SPATIAL INDEX b(boundary)) ENGINE= ; -CREATE TABLE bridges (fid INT , -name CHAR(64) , -position POINT NOT NULL, SPATIAL INDEX p(position)) ENGINE= ; -CREATE TABLE streams (fid INT , -name CHAR(64) , -centerline LINESTRING NOT NULL, SPATIAL INDEX c(centerline)) ENGINE= ; -CREATE TABLE buildings (fid INT , -name CHAR(64) , -position POINT NOT NULL, -footprint POLYGON NOT NULL, SPATIAL INDEX p(position), SPATIAL INDEX f(footprint)) ENGINE= ; -CREATE TABLE ponds (fid INT , -name CHAR(64) , -type CHAR(64) , -shores MULTIPOLYGON NOT NULL, SPATIAL INDEX s(shores)) ENGINE= ; -CREATE TABLE named_places (fid INT , -name CHAR(64) , -boundary POLYGON NOT NULL, SPATIAL INDEX b(boundary)) ENGINE= ; -CREATE TABLE map_neatlines (fid INT , -neatline POLYGON NOT NULL, SPATIAL INDEX n(neatline)) ENGINE= ; -USE test; -SHOW FIELDS FROM gis_point; -Field Type Null Key Default Extra -fid int(11) YES NULL -g point NO MUL NULL -SHOW FIELDS FROM gis_line; -Field Type Null Key Default Extra -fid int(11) YES NULL -g linestring NO MUL NULL -SHOW FIELDS FROM gis_polygon; -Field Type Null Key Default Extra -fid int(11) YES NULL -g polygon NO MUL NULL -SHOW FIELDS FROM gis_multi_point; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multipoint NO MUL NULL -SHOW FIELDS FROM gis_multi_line; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multilinestring NO MUL NULL -SHOW FIELDS FROM gis_multi_polygon; -Field Type Null Key Default Extra -fid int(11) YES NULL -g multipolygon NO MUL NULL -SHOW FIELDS FROM gis_geometrycollection; -Field Type Null Key Default Extra -fid int(11) YES NULL -g geometrycollection NO MUL NULL -SHOW FIELDS FROM gis_geometry; -Field Type Null Key Default Extra -fid int(11) YES NULL -g geometry NO NULL -INSERT INTO gis_point (fid,g) VALUES -(101, PointFromText('POINT(10 10)')), -(102, PointFromText('POINT(20 10)')), -(103, PointFromText('POINT(20 20)')), -(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)')))); -INSERT INTO gis_line (fid,g) VALUES -(105, LineFromText('LINESTRING(0 0,0 10,10 0)')), -(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), -(107, LineStringFromWKB(AsWKB(LineString(Point(10, 10), Point(40, 10))))); -INSERT INTO gis_polygon (fid,g) VALUES -(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), -(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), -(110, PolyFromWKB(AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); -INSERT INTO gis_multi_point (fid,g) VALUES -(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), -(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), -(113, MPointFromWKB(AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); -INSERT INTO gis_multi_line (fid,g) VALUES -(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), -(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), -(116, MLineFromWKB(AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); -INSERT INTO gis_multi_polygon (fid,g) VALUES -(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), -(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), -(119, MPolyFromWKB(AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); -INSERT INTO gis_geometrycollection (fid,g) VALUES -(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), -(121, GeometryFromWKB(AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))), -(122, GeomFromText('GeometryCollection()')), -(123, GeomFromText('GeometryCollection EMPTY')); -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_point; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_line; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_polygon; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_point; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_line; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_multi_polygon; -INSERT into gis_geometry (fid,g) SELECT fid,g FROM gis_geometrycollection; -SELECT fid, AsText(g) FROM gis_point; -fid AsText(g) -101 POINT(10 10) -102 POINT(20 10) -103 POINT(20 20) -104 POINT(10 20) -SELECT fid, AsText(g) FROM gis_line; -fid AsText(g) -105 LINESTRING(0 0,0 10,10 0) -106 LINESTRING(10 10,20 10,20 20,10 20,10 10) -107 LINESTRING(10 10,40 10) -SELECT fid, AsText(g) FROM gis_polygon; -fid AsText(g) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) -110 POLYGON((0 0,30 0,30 30,0 0)) -SELECT fid, AsText(g) FROM gis_multi_point; -fid AsText(g) -111 MULTIPOINT(0 0,10 10,10 20,20 20) -112 MULTIPOINT(1 1,11 11,11 21,21 21) -113 MULTIPOINT(3 6,4 10) -SELECT fid, AsText(g) FROM gis_multi_line; -fid AsText(g) -114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) -115 MULTILINESTRING((10 48,10 21,10 0)) -116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) -SELECT fid, AsText(g) FROM gis_multi_polygon; -fid AsText(g) -117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) -SELECT fid, AsText(g) FROM gis_geometrycollection; -fid AsText(g) -120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) -121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, AsText(g) FROM gis_geometry; -fid AsText(g) -101 POINT(10 10) -102 POINT(20 10) -103 POINT(20 20) -104 POINT(10 20) -105 LINESTRING(0 0,0 10,10 0) -106 LINESTRING(10 10,20 10,20 20,10 20,10 10) -107 LINESTRING(10 10,40 10) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) -110 POLYGON((0 0,30 0,30 30,0 0)) -111 MULTIPOINT(0 0,10 10,10 20,20 20) -112 MULTIPOINT(1 1,11 11,11 21,21 21) -113 MULTIPOINT(3 6,4 10) -114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) -115 MULTILINESTRING((10 48,10 21,10 0)) -116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) -117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) -119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) -120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) -121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, Dimension(g) FROM gis_geometry; -fid Dimension(g) -101 0 -102 0 -103 0 -104 0 -105 1 -106 1 -107 1 -108 2 -109 2 -110 2 -111 0 -112 0 -113 0 -114 1 -115 1 -116 1 -117 2 -118 2 -119 2 -120 1 -121 1 -122 0 -123 0 -SELECT fid, GeometryType(g) FROM gis_geometry; -fid GeometryType(g) -101 POINT -102 POINT -103 POINT -104 POINT -105 LINESTRING -106 LINESTRING -107 LINESTRING -108 POLYGON -109 POLYGON -110 POLYGON -111 MULTIPOINT -112 MULTIPOINT -113 MULTIPOINT -114 MULTILINESTRING -115 MULTILINESTRING -116 MULTILINESTRING -117 MULTIPOLYGON -118 MULTIPOLYGON -119 MULTIPOLYGON -120 GEOMETRYCOLLECTION -121 GEOMETRYCOLLECTION -122 GEOMETRYCOLLECTION -123 GEOMETRYCOLLECTION -SELECT fid, IsEmpty(g) FROM gis_geometry; -fid IsEmpty(g) -101 0 -102 0 -103 0 -104 0 -105 0 -106 0 -107 0 -108 0 -109 0 -110 0 -111 0 -112 0 -113 0 -114 0 -115 0 -116 0 -117 0 -118 0 -119 0 -120 0 -121 0 -122 0 -123 0 -SELECT fid, AsText(Envelope(g)) FROM gis_geometry; -fid AsText(Envelope(g)) -101 POLYGON((10 10,10 10,10 10,10 10,10 10)) -102 POLYGON((20 10,20 10,20 10,20 10,20 10)) -103 POLYGON((20 20,20 20,20 20,20 20,20 20)) -104 POLYGON((10 20,10 20,10 20,10 20,10 20)) -105 POLYGON((0 0,10 0,10 10,0 10,0 0)) -106 POLYGON((10 10,20 10,20 20,10 20,10 10)) -107 POLYGON((10 10,40 10,40 10,10 10,10 10)) -108 POLYGON((10 10,20 10,20 20,10 20,10 10)) -109 POLYGON((0 0,50 0,50 50,0 50,0 0)) -110 POLYGON((0 0,30 0,30 30,0 30,0 0)) -111 POLYGON((0 0,20 0,20 20,0 20,0 0)) -112 POLYGON((1 1,21 1,21 21,1 21,1 1)) -113 POLYGON((3 6,4 6,4 10,3 10,3 6)) -114 POLYGON((10 0,16 0,16 48,10 48,10 0)) -115 POLYGON((10 0,10 0,10 48,10 48,10 0)) -116 POLYGON((1 2,21 2,21 8,1 8,1 2)) -117 POLYGON((28 0,84 0,84 42,28 42,28 0)) -118 POLYGON((28 0,84 0,84 42,28 42,28 0)) -119 POLYGON((0 0,3 0,3 3,0 3,0 0)) -120 POLYGON((0 0,10 0,10 10,0 10,0 0)) -121 POLYGON((3 6,44 6,44 9,3 9,3 6)) -122 GEOMETRYCOLLECTION EMPTY -123 GEOMETRYCOLLECTION EMPTY -SELECT fid, X(g) FROM gis_point; -fid X(g) -101 10 -102 20 -103 20 -104 10 -SELECT fid, Y(g) FROM gis_point; -fid Y(g) -101 10 -102 10 -103 20 -104 20 -SELECT fid, AsText(StartPoint(g)) FROM gis_line; -fid AsText(StartPoint(g)) -105 POINT(0 0) -106 POINT(10 10) -107 POINT(10 10) -SELECT fid, AsText(EndPoint(g)) FROM gis_line; -fid AsText(EndPoint(g)) -105 POINT(10 0) -106 POINT(10 10) -107 POINT(40 10) -SELECT fid, GLength(g) FROM gis_line; -fid GLength(g) -105 24.14213562373095 -106 40 -107 30 -SELECT fid, NumPoints(g) FROM gis_line; -fid NumPoints(g) -105 3 -106 5 -107 2 -SELECT fid, AsText(PointN(g, 2)) FROM gis_line; -fid AsText(PointN(g, 2)) -105 POINT(0 10) -106 POINT(20 10) -107 POINT(40 10) -SELECT fid, IsClosed(g) FROM gis_line; -fid IsClosed(g) -105 0 -106 1 -107 0 -SELECT fid, AsText(Centroid(g)) FROM gis_polygon; -fid AsText(Centroid(g)) -108 POINT(15 15) -109 POINT(25.416666666666668 25.416666666666668) -110 POINT(20 10) -SELECT fid, Area(g) FROM gis_polygon; -fid Area(g) -108 100 -109 2400 -110 450 -SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon; -fid AsText(ExteriorRing(g)) -108 LINESTRING(10 10,20 10,20 20,10 20,10 10) -109 LINESTRING(0 0,50 0,50 50,0 50,0 0) -110 LINESTRING(0 0,30 0,30 30,0 0) -SELECT fid, NumInteriorRings(g) FROM gis_polygon; -fid NumInteriorRings(g) -108 0 -109 1 -110 0 -SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon; -fid AsText(InteriorRingN(g, 1)) -108 NULL -109 LINESTRING(10 10,20 10,20 20,10 20,10 10) -110 NULL -SELECT fid, IsClosed(g) FROM gis_multi_line; -fid IsClosed(g) -114 0 -115 0 -116 0 -SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon; -fid AsText(Centroid(g)) -117 POINT(57.98031067576927 17.854754130800433) -118 POINT(57.98031067576927 17.854754130800433) -119 POINT(2 2) -SELECT fid, Area(g) FROM gis_multi_polygon; -fid Area(g) -117 1684.5 -118 1684.5 -119 4.5 -SELECT fid, NumGeometries(g) from gis_multi_point; -fid NumGeometries(g) -111 4 -112 4 -113 2 -SELECT fid, NumGeometries(g) from gis_multi_line; -fid NumGeometries(g) -114 2 -115 1 -116 2 -SELECT fid, NumGeometries(g) from gis_multi_polygon; -fid NumGeometries(g) -117 2 -118 2 -119 1 -SELECT fid, NumGeometries(g) from gis_geometrycollection; -fid NumGeometries(g) -120 2 -121 2 -122 0 -123 0 -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point; -fid AsText(GeometryN(g, 2)) -111 POINT(10 10) -112 POINT(11 11) -113 POINT(4 10) -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line; -fid AsText(GeometryN(g, 2)) -114 LINESTRING(16 0,16 23,16 48) -115 NULL -116 LINESTRING(2 5,5 8,21 7) -SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon; -fid AsText(GeometryN(g, 2)) -117 POLYGON((59 18,67 18,67 13,59 13,59 18)) -118 POLYGON((59 18,67 18,67 13,59 13,59 18)) -119 NULL -SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection; -fid AsText(GeometryN(g, 2)) -120 LINESTRING(0 0,10 10) -121 LINESTRING(3 6,7 9) -122 NULL -123 NULL -SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection; -fid AsText(GeometryN(g, 1)) -120 POINT(0 0) -121 POINT(44 6) -122 NULL -123 NULL -SELECT g1.fid as first, g2.fid as second, -Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o, -Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, -Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r -FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; -first second w c o e d t i r -120 120 1 1 0 1 0 0 1 0 -120 121 0 0 1 0 0 0 1 0 -120 122 NULL NULL NULL NULL NULL NULL NULL NULL -120 123 NULL NULL NULL NULL NULL NULL NULL NULL -121 120 0 0 1 0 0 0 1 0 -121 121 1 1 0 1 0 0 1 0 -121 122 NULL NULL NULL NULL NULL NULL NULL NULL -121 123 NULL NULL NULL NULL NULL NULL NULL NULL -122 120 NULL NULL NULL NULL NULL NULL NULL NULL -122 121 NULL NULL NULL NULL NULL NULL NULL NULL -122 122 NULL NULL NULL NULL NULL NULL NULL NULL -122 123 NULL NULL NULL NULL NULL NULL NULL NULL -123 120 NULL NULL NULL NULL NULL NULL NULL NULL -123 121 NULL NULL NULL NULL NULL NULL NULL NULL -123 122 NULL NULL NULL NULL NULL NULL NULL NULL -123 123 NULL NULL NULL NULL NULL NULL NULL NULL -DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; -USE gis_ogs; -# Lakes -INSERT INTO lakes (fid,name,shore) VALUES ( -101, 'BLUE LAKE', -PolyFromText( -'POLYGON( - (52 18,66 23,73 9,48 6,52 18), - (59 18,67 18,67 13,59 13,59 18) - )', -101)); -# Road Segments -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(102, 'Route 5', NULL, 2, -LineFromText( -'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(103, 'Route 5', 'Main Street', 4, -LineFromText( -'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(104, 'Route 5', NULL, 2, -LineFromText( -'LINESTRING( 70 38, 72 48 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(105, 'Main Street', NULL, 4, -LineFromText( -'LINESTRING( 70 38, 84 42 )' ,101)); -INSERT INTO road_segments (fid,name,aliases,num_lanes,centerline) VALUES(106, 'Dirt Road by Green Forest', NULL, -1, -LineFromText( -'LINESTRING( 28 26, 28 0 )',101)); -# DividedRoutes -INSERT INTO divided_routes (fid,name,num_lanes,centerlines) VALUES(119, 'Route 75', 4, -MLineFromText( -'MULTILINESTRING((10 48,10 21,10 0), - (16 0,16 23,16 48))', 101)); -# Forests -INSERT INTO forests (fid,name,boundary) VALUES(109, 'Green Forest', -MPolyFromText( -'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), - (52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', -101)); -# Bridges -INSERT INTO bridges (fid,name,position) VALUES(110, 'Cam Bridge', PointFromText( -'POINT( 44 31 )', 101)); -# Streams -INSERT INTO streams (fid,name,centerline) VALUES(111, 'Cam Stream', -LineFromText( -'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); -INSERT INTO streams (fid,name,centerline) VALUES(112, NULL, -LineFromText( -'LINESTRING( 76 0, 78 4, 73 9 )', 101)); -# Buildings -INSERT INTO buildings (fid,name,position,footprint) VALUES(113, '123 Main Street', -PointFromText( -'POINT( 52 30 )', 101), -PolyFromText( -'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); -INSERT INTO buildings (fid,name,position,footprint) VALUES(114, '215 Main Street', -PointFromText( -'POINT( 64 33 )', 101), -PolyFromText( -'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); -# Ponds -INSERT INTO ponds (fid,name,type,shores) VALUES(120, NULL, 'Stock Pond', -MPolyFromText( -'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), - ( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); -# Named Places -INSERT INTO named_places (fid,name,boundary) VALUES(117, 'Ashton', -PolyFromText( -'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); -INSERT INTO named_places (fid,name,boundary) VALUES(118, 'Goose Island', -PolyFromText( -'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); -# Map Neatlines -INSERT INTO map_neatlines (fid,neatline) VALUES(115, -PolyFromText( -'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); -SELECT Dimension(shore) -FROM lakes -WHERE name = 'Blue Lake'; -Dimension(shore) -2 -SELECT GeometryType(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -GeometryType(centerlines) -MULTILINESTRING -SELECT AsText(boundary) -FROM named_places -WHERE name = 'Goose Island'; -AsText(boundary) -POLYGON((67 13,67 18,59 18,59 13,67 13)) -SELECT AsText(PolyFromWKB(AsBinary(boundary),101)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(PolyFromWKB(AsBinary(boundary),101)) -POLYGON((67 13,67 18,59 18,59 13,67 13)) -SELECT SRID(boundary) -FROM named_places -WHERE name = 'Goose Island'; -SRID(boundary) -101 -SELECT IsEmpty(centerline) -FROM road_segments -WHERE name = 'Route 5' -AND aliases = 'Main Street'; -IsEmpty(centerline) -0 -SELECT AsText(Envelope(boundary)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(Envelope(boundary)) -POLYGON((59 13,67 13,67 18,59 18,59 13)) -SELECT X(position) -FROM bridges -WHERE name = 'Cam Bridge'; -X(position) -44 -SELECT Y(position) -FROM bridges -WHERE name = 'Cam Bridge'; -Y(position) -31 -SELECT AsText(StartPoint(centerline)) -FROM road_segments -WHERE fid = 102; -AsText(StartPoint(centerline)) -POINT(0 18) -SELECT AsText(EndPoint(centerline)) -FROM road_segments -WHERE fid = 102; -AsText(EndPoint(centerline)) -POINT(44 31) -SELECT GLength(centerline) -FROM road_segments -WHERE fid = 106; -GLength(centerline) -26 -SELECT NumPoints(centerline) -FROM road_segments -WHERE fid = 102; -NumPoints(centerline) -5 -SELECT AsText(PointN(centerline, 1)) -FROM road_segments -WHERE fid = 102; -AsText(PointN(centerline, 1)) -POINT(0 18) -SELECT AsText(Centroid(boundary)) -FROM named_places -WHERE name = 'Goose Island'; -AsText(Centroid(boundary)) -POINT(63 15.5) -SELECT Area(boundary) -FROM named_places -WHERE name = 'Goose Island'; -Area(boundary) -40 -SELECT AsText(ExteriorRing(shore)) -FROM lakes -WHERE name = 'Blue Lake'; -AsText(ExteriorRing(shore)) -LINESTRING(52 18,66 23,73 9,48 6,52 18) -SELECT NumInteriorRings(shore) -FROM lakes -WHERE name = 'Blue Lake'; -NumInteriorRings(shore) -1 -SELECT AsText(InteriorRingN(shore, 1)) -FROM lakes -WHERE name = 'Blue Lake'; -AsText(InteriorRingN(shore, 1)) -LINESTRING(59 18,67 18,67 13,59 13,59 18) -SELECT NumGeometries(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -NumGeometries(centerlines) -2 -SELECT AsText(GeometryN(centerlines, 2)) -FROM divided_routes -WHERE name = 'Route 75'; -AsText(GeometryN(centerlines, 2)) -LINESTRING(16 0,16 23,16 48) -SELECT IsClosed(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -IsClosed(centerlines) -0 -SELECT GLength(centerlines) -FROM divided_routes -WHERE name = 'Route 75'; -GLength(centerlines) -96 -SELECT AsText(Centroid(shores)) -FROM ponds -WHERE fid = 120; -AsText(Centroid(shores)) -POINT(25 42) -SELECT Area(shores) -FROM ponds -WHERE fid = 120; -Area(shores) -8 -SELECT ST_Equals(boundary, -PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) -FROM named_places -WHERE name = 'Goose Island'; -ST_Equals(boundary, -PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) -1 -SELECT ST_Disjoint(centerlines, boundary) -FROM divided_routes, named_places -WHERE divided_routes.name = 'Route 75' -AND named_places.name = 'Ashton'; -ST_Disjoint(centerlines, boundary) -1 -SELECT ST_Touches(centerline, shore) -FROM streams, lakes -WHERE streams.name = 'Cam Stream' -AND lakes.name = 'Blue Lake'; -ST_Touches(centerline, shore) -1 -SELECT Crosses(road_segments.centerline, divided_routes.centerlines) -FROM road_segments, divided_routes -WHERE road_segments.fid = 102 -AND divided_routes.name = 'Route 75'; -Crosses(road_segments.centerline, divided_routes.centerlines) -1 -SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) -FROM road_segments, divided_routes -WHERE road_segments.fid = 102 -AND divided_routes.name = 'Route 75'; -ST_Intersects(road_segments.centerline, divided_routes.centerlines) -1 -SELECT ST_Contains(forests.boundary, named_places.boundary) -FROM forests, named_places -WHERE forests.name = 'Green Forest' -AND named_places.name = 'Ashton'; -ST_Contains(forests.boundary, named_places.boundary) -0 -SELECT ST_Distance(position, boundary) -FROM bridges, named_places -WHERE bridges.name = 'Cam Bridge' -AND named_places.name = 'Ashton'; -ST_Distance(position, boundary) -12 -SELECT AsText(ST_Difference(named_places.boundary, forests.boundary)) -FROM named_places, forests -WHERE named_places.name = 'Ashton' -AND forests.name = 'Green Forest'; -AsText(ST_Difference(named_places.boundary, forests.boundary)) -POLYGON((56 34,62 48,84 48,84 42,56 34)) -SELECT AsText(ST_Union(shore, boundary)) -FROM lakes, named_places -WHERE lakes.name = 'Blue Lake' -AND named_places.name = 'Goose Island'; -AsText(ST_Union(shore, boundary)) -POLYGON((48 6,52 18,66 23,73 9,48 6)) -SELECT AsText(ST_SymDifference(shore, boundary)) -FROM lakes, named_places -WHERE lakes.name = 'Blue Lake' -AND named_places.name = 'Ashton'; -AsText(ST_SymDifference(shore, boundary)) -MULTIPOLYGON(((48 6,52 18,66 23,73 9,48 6),(59 13,59 18,67 18,67 13,59 13)),((56 30,56 34,62 48,84 48,84 30,56 30))) -SELECT count(*) -FROM buildings, bridges -WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; -count(*) -1 +ERROR 42000: The storage engine for the table doesn't support GEOMETRY +# ERROR: Statement ended with errno 1178, errname ER_CHECK_NOT_IMPLEMENTED (expected to succeed) +# ------------ UNEXPECTED RESULT ------------ +# [ CREATE TABLE gis_point (fid INT(11) /*!*/ /*Custom column options*/, g POINT NOT NULL, SPATIAL INDEX(g)) ENGINE=MRG_MYISAM /*!*/ /*Custom table options*/ UNION(mrg.gis_point) INSERT_METHOD=LAST ] +# The statement|command finished with ER_CHECK_NOT_IMPLEMENTED. +# Geometry types or spatial indexes or the mix could be unsupported|malfunctioning, or the problem was caused by previous errors. +# You can change the engine code, or create an rdiff, or disable the test by adding it to disabled.def. +# Further in this test, the message might sometimes be suppressed; a part of the test might be skipped. +# Also, this problem may cause a chain effect (more errors of different kinds in the test). +# ------------------------------------------- DROP DATABASE gis_ogs; USE test;