Skip to content

Commit

Permalink
Bug#11761559 SUPPORT OGC STANDARD WKT FOR MULTIPOINT
Browse files Browse the repository at this point in the history
Issue:

Our WKT parser doesn't allow multipoint provided in this form: MULTIPOINT((0 0), (1 1)),
but this format was defined by OGC as standard WKT format for multipoints.

Fix:

Allow above format, and also allow the old format: MULTIPOINT(0 0, 1 1),
but do not allow the mixture of both formats in the same multipoint geometry.
And at the same time, output multipoint WKT in OGC standard format.

(cherry picked from commit ac4ee0362856916abb7f06562347296d9dceb659)
  • Loading branch information
david-zhao authored and bjornmu committed Sep 28, 2015
1 parent 2da5cc3 commit 9718495
Show file tree
Hide file tree
Showing 25 changed files with 445 additions and 368 deletions.
12 changes: 6 additions & 6 deletions mysql-test/r/archive_gis.result
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,9 @@ fid ST_AsText(g)
110 POLYGON((0 0,30 0,30 30,0 0))
SELECT fid, ST_AsText(g) FROM gis_multi_point ORDER by fid;
fid ST_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)
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, ST_AsText(g) FROM gis_multi_line ORDER by fid;
fid ST_AsText(g)
114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
Expand All @@ -129,9 +129,9 @@ fid ST_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))
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)
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))
Expand Down
56 changes: 39 additions & 17 deletions mysql-test/r/gis-precise.result

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions mysql-test/r/gis.result
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,9 @@ fid ST_AsText(g)
110 POLYGON((0 0,30 0,30 30,0 0))
SELECT fid, ST_AsText(g) FROM gis_multi_point;
fid ST_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)
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, ST_AsText(g) FROM gis_multi_line;
fid ST_AsText(g)
114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
Expand All @@ -124,9 +124,9 @@ fid ST_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))
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)
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))
Expand Down Expand Up @@ -2806,7 +2806,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SELECT ST_AsText(mp) FROM t1;
ST_AsText(mp)
MULTIPOINT(1 1)
MULTIPOINT((1 1))
ALTER TABLE t1 MODIFY COLUMN mp GEOMETRYCOLLECTION NOT NULL;
ALTER TABLE t1 MODIFY COLUMN mp GEOMETRY NOT NULL;
ALTER TABLE t1 MODIFY COLUMN mp GEOMETRYCOLLECTION NOT NULL;
Expand All @@ -2818,7 +2818,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SELECT ST_AsText(mp) FROM t1;
ST_AsText(mp)
MULTIPOINT(1 1)
MULTIPOINT((1 1))
DROP TABLE t1;
# Convert a GEOMETRY column without rows to GEOMETRY NOT NULL
CREATE TABLE t1 (g GEOMETRY) ENGINE=InnoDB;
Expand Down
30 changes: 15 additions & 15 deletions mysql-test/suite/gis/r/all_geometry_types_instantiable.result
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ INSERT INTO tab VALUES (@c1, @c2, @c3, @c4, @c5, @c6, @c7, @c8);
# Check the above inserted values
SELECT ST_ASTEXT(c1), ST_ASTEXT(c2), ST_ASTEXT(c3), ST_ASTEXT(c4), ST_ASTEXT(c5), ST_ASTEXT(c6), ST_ASTEXT(c7), ST_ASTEXT(c8) FROM tab;
ST_ASTEXT(c1) ST_ASTEXT(c2) ST_ASTEXT(c3) ST_ASTEXT(c4) ST_ASTEXT(c5) ST_ASTEXT(c6) ST_ASTEXT(c7) ST_ASTEXT(c8)
POINT(10 10) LINESTRING(10 10,20 20,30 30) POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTIPOINT(0 0,5 5,10 10,20 20) MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))) GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3))
POINT(10 10) LINESTRING(10 10,20 20,30 30) POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTIPOINT((0 0),(5 5),(10 10),(20 20)) MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))) GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3))
# Cleanup the table
TRUNCATE TABLE tab;
# Create a procedure with INOUT params
Expand Down Expand Up @@ -469,7 +469,7 @@ ST_ASTEXT(c3)
POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
SELECT ST_ASTEXT(c4) FROM tab2;
ST_ASTEXT(c4)
MULTIPOINT(0 0,5 5,10 10,20 20)
MULTIPOINT((0 0),(5 5),(10 10),(20 20))
SELECT ST_ASTEXT(c5) FROM tab2;
ST_ASTEXT(c5)
MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))
Expand Down Expand Up @@ -506,7 +506,7 @@ FROM tab AS tableX, tab2 AS tableY
WHERE tableX.c1 = tableY.c1 AND tableX.c3 = tableY.c3 AND tableX.c4 = tableY.c4 AND
tableX.c5 = tableY.c5 AND tableX.c7 = tableY.c7 AND tableX.c8 = tableY.c8;
ST_ASTEXT(tableX.c1) ST_ASTEXT(tableX.c4) ST_ASTEXT(tableX.c3)
POINT(10 10) MULTIPOINT(0 0,5 5,10 10,20 20) POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
POINT(10 10) MULTIPOINT((0 0),(5 5),(10 10),(20 20)) POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
# Check equi join
SELECT ST_ASTEXT(tableX.c3), ST_ASTEXT(tableY.c3) FROM tab AS tableX, tab2 AS tableY WHERE tableX.c3 = tableY.c3;
ST_ASTEXT(tableX.c3) ST_ASTEXT(tableY.c3)
Expand Down Expand Up @@ -563,10 +563,10 @@ fid ST_ASTEXT(g)
310 POLYGON((0 0,0 5,5 5,0 0))
313 POLYGON((0 0,0 10,10 10,10 0,5 5,0 0))
315 POLYGON((0 0,0 10,10 10,10 0,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))
402 MULTIPOINT(0 0,2 2,4 4)
403 MULTIPOINT(0 0,5 5,10 10)
408 MULTIPOINT(0 0,10 10)
409 MULTIPOINT(0 0,2 2,4 4,6 6)
402 MULTIPOINT((0 0),(2 2),(4 4))
403 MULTIPOINT((0 0),(5 5),(10 10))
408 MULTIPOINT((0 0),(10 10))
409 MULTIPOINT((0 0),(2 2),(4 4),(6 6))
501 MULTILINESTRING((0 0,2 2))
502 MULTILINESTRING((0 0,2 2,4 4))
503 MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))
Expand All @@ -586,13 +586,13 @@ fid ST_ASTEXT(g)
704 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
705 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10),POLYGON((0 0,0 10,10 10,10 0,0 0)))
708 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,2 2,4 4,6 6,8 8),POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))
713 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10),POLYGON((0 0,0 10,10 10,10 0,0 0)),MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),MULTILINESTRING((0 0,10 10),(0 10,10 0)),MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))
714 GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(0 0)),GEOMETRYCOLLECTION(LINESTRING(0 0,10 10)),GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0))),GEOMETRYCOLLECTION(MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10)),GEOMETRYCOLLECTION(MULTILINESTRING((0 0,10 10),(0 10,10 0))),GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))))
715 GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),POINT(0 0),GEOMETRYCOLLECTION(LINESTRING(0 0,10 10),GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())),GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()),POLYGON((0 0,0 10,10 10,10 0,0 0)),MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),MULTILINESTRING((0 0,10 10),(0 10,10 0)),MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))
713 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10),POLYGON((0 0,0 10,10 10,10 0,0 0)),MULTIPOINT((0 0),(2 2),(4 4),(6 6),(8 8),(10 10)),MULTILINESTRING((0 0,10 10),(0 10,10 0)),MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))
714 GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(0 0)),GEOMETRYCOLLECTION(LINESTRING(0 0,10 10)),GEOMETRYCOLLECTION(POLYGON((0 0,0 10,10 10,10 0,0 0))),GEOMETRYCOLLECTION(MULTIPOINT((0 0),(2 2),(4 4),(6 6),(8 8),(10 10))),GEOMETRYCOLLECTION(MULTILINESTRING((0 0,10 10),(0 10,10 0))),GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))))
715 GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),POINT(0 0),GEOMETRYCOLLECTION(LINESTRING(0 0,10 10),GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())),GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION(GEOMETRYCOLLECTION()),POLYGON((0 0,0 10,10 10,10 0,0 0)),MULTIPOINT((0 0),(2 2),(4 4),(6 6),(8 8),(10 10)),MULTILINESTRING((0 0,10 10),(0 10,10 0)),MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))
903 LINESTRING(0 0,5 5,10 10)
905 POLYGON((0 0,0 5,5 5,5 0,0 0))
906 POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))
907 MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10)
907 MULTIPOINT((0 0),(2 2),(4 4),(6 6),(8 8),(10 10))
911 MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))
912 MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,1 10,10 5,5 5)))
913 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,5 5,10 10),POLYGON((0 0,0 10,10 10,10 0,0 0)))
Expand Down Expand Up @@ -629,10 +629,10 @@ ST_ASTEXT(ST_MLINEFROMWKB(ST_GEOMFROMTEXT(@multilinestring_text)))
MULTILINESTRING((10 10,11 11),(9 9,10 10))
SELECT ST_ASTEXT(ST_MPOINTFROMTEXT(@multipoint_text));
ST_ASTEXT(ST_MPOINTFROMTEXT(@multipoint_text))
MULTIPOINT(10 10,11 11)
MULTIPOINT((10 10),(11 11))
SELECT ST_ASTEXT(ST_MPOINTFROMWKB(ST_GEOMFROMTEXT(@multipoint_text)));
ST_ASTEXT(ST_MPOINTFROMWKB(ST_GEOMFROMTEXT(@multipoint_text)))
MULTIPOINT(10 10,11 11)
MULTIPOINT((10 10),(11 11))
SELECT ST_ASTEXT(ST_MPOLYFROMTEXT(@multipolygon_text));
ST_ASTEXT(ST_MPOLYFROMTEXT(@multipolygon_text))
MULTIPOLYGON(((40 40,20 45,45 30,40 40)),((20 35,10 30,10 10,30 5,45 20,20 35),(30 20,20 15,20 25,30 20)))
Expand All @@ -647,10 +647,10 @@ ST_ASTEXT(ST_MULTILINESTRINGFROMWKB(ST_GEOMFROMTEXT(@multilinestring_text)))
MULTILINESTRING((10 10,11 11),(9 9,10 10))
SELECT ST_ASTEXT(ST_MULTIPOINTFROMTEXT(@multipoint_text));
ST_ASTEXT(ST_MULTIPOINTFROMTEXT(@multipoint_text))
MULTIPOINT(10 10,11 11)
MULTIPOINT((10 10),(11 11))
SELECT ST_ASTEXT(ST_MULTIPOINTFROMWKB(ST_GEOMFROMTEXT(@multipoint_text)));
ST_ASTEXT(ST_MULTIPOINTFROMWKB(ST_GEOMFROMTEXT(@multipoint_text)))
MULTIPOINT(10 10,11 11)
MULTIPOINT((10 10),(11 11))
SELECT ST_ASTEXT(ST_MULTIPOLYGONFROMTEXT(@multipolygon_text));
ST_ASTEXT(ST_MULTIPOLYGONFROMTEXT(@multipolygon_text))
MULTIPOLYGON(((40 40,20 45,45 30,40 40)),((20 35,10 30,10 10,30 5,45 20,20 35),(30 20,20 15,20 25,30 20)))
Expand Down
16 changes: 8 additions & 8 deletions mysql-test/suite/gis/r/geojson_functions.result
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(
ST_ASTEXT(ST_GEOMFROMGEOJSON(
"{ \"type\": \"MultiPoint\", \"coordinates\": "
"[ [-105.01, 39.57],[-80.66, 35.0] ] }"))
MULTIPOINT(-105.01 39.57,-80.66 35)
MULTIPOINT((-105.01 39.57),(-80.66 35))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(
" { \"type\": \"MultiLineString\", \"coordinates\": "
" [ "
Expand Down Expand Up @@ -906,7 +906,7 @@ ST_ASTEXT(ST_GEOMFROMGEOJSON(
" [ "
" { \"type\": \"MultiPoint\", \"coordinates\": "
" [
GEOMETRYCOLLECTION(MULTIPOINT(-105.01 39.57,-80.66 35),POINT(102 0.5),POINT(102 0.5),GEOMETRYCOLLECTION(POINT(102 0.5),POINT(102 0.5)),POINT(102 0.5))
GEOMETRYCOLLECTION(MULTIPOINT((-105.01 39.57),(-80.66 35)),POINT(102 0.5),POINT(102 0.5),GEOMETRYCOLLECTION(POINT(102 0.5),POINT(102 0.5)),POINT(102 0.5))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(
" { \"type\": \"GeometryCollection\", \"geometries\": "
" [ "
Expand Down Expand Up @@ -987,7 +987,7 @@ ST_ASTEXT(ST_GEOMFROMGEOJSON(
" [ "
" { \"type\": \"Point\", \"coordinates\": "
" [-105.01621, 39.57422]
GEOMETRYCOLLECTION(POINT(-105.01621 39.57422),MULTIPOINT(-105.01 39.57,-80.66 35.05),LINESTRING(-101.5 39.662,-101.75 39.2415,-101.64 39.2415),MULTILINESTRING((-101.5 39.662,-101.75 39.2415,-101.23 39.2415,-101.749 39.7984,-101.5 39.011),(-99.23 38.6605,-99.56 38.727,-99.25 38.018),(-98.499 38.913,-98.499 38.913,-98.38 38.15,-97.5 38.629)),POLYGON((41.83 71.01,56.95 33.75,21.79 36.56,41.83 71.01)),MULTIPOLYGON(((102 2,103 2,103 3,102 3,102 2)),((100 0,101 0,101 1,100 1,100 0))))
GEOMETRYCOLLECTION(POINT(-105.01621 39.57422),MULTIPOINT((-105.01 39.57),(-80.66 35.05)),LINESTRING(-101.5 39.662,-101.75 39.2415,-101.64 39.2415),MULTILINESTRING((-101.5 39.662,-101.75 39.2415,-101.23 39.2415,-101.749 39.7984,-101.5 39.011),(-99.23 38.6605,-99.56 38.727,-99.25 38.018),(-98.499 38.913,-98.499 38.913,-98.38 38.15,-97.5 38.629)),POLYGON((41.83 71.01,56.95 33.75,21.79 36.56,41.83 71.01)),MULTIPOLYGON(((102 2,103 2,103 3,102 3,102 2)),((100 0,101 0,101 1,100 1,100 0))))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(
" { "
" \"type\": \"Feature\", \"id\": \"stadium\", \"geometry\": "
Expand Down Expand Up @@ -3212,10 +3212,10 @@ ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("POLYGON((35 10, 45 45
POLYGON((35 10,45 45,15 40,10 20,35 10),(20 30,35 35,30 20,20 30))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTIPOINT(10 40, 40 30, 20 20, 30 10)"))));
ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTIPOINT(10 40, 40 30, 20 20, 30 10)"))))
MULTIPOINT(10 40,40 30,20 20,30 10)
MULTIPOINT((10 40),(40 30),(20 20),(30 10))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTIPOINT(0 0, 10 10, 20 20, 30 30, 40 40)"))));
ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTIPOINT(0 0, 10 10, 20 20, 30 30, 40 40)"))))
MULTIPOINT(0 0,10 10,20 20,30 30,40 40)
MULTIPOINT((0 0),(10 10),(20 20),(30 30),(40 40))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTILINESTRING((10 10, 20 20, 10 40),"
"(40 40, 30 30, 40 20, 30 10))"))));
ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("MULTILINESTRING((10 10, 20 20, 10 40),"
Expand Down Expand Up @@ -3275,7 +3275,7 @@ ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("GEOMETRYCOLLECTION( "
"POINT(4 6),"
"LINESTRING(4 6,7 10),"
"POLYGON ((30 10, 40 40, 20 4
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10),POLYGON((30 10,40 40,20 40,10 20,30 10)),MULTIPOINT(10 40,40 30,20 20,30 10),MULTILINESTRING((10 10,20 20,10 40),(40 40,30 30,40 20,30 10)),MULTIPOLYGON(((30 20,45 40,10 40,30 20)),((15 5,40 10,10 20,5 10,15 5))))
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10),POLYGON((30 10,40 40,20 40,10 20,30 10)),MULTIPOINT((10 40),(40 30),(20 20),(30 10)),MULTILINESTRING((10 10,20 20,10 40),(40 40,30 30,40 20,30 10)),MULTIPOLYGON(((30 20,45 40,10 40,30 20)),((15 5,40 10,10 20,5 10,15 5))))
SELECT ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("GEOMETRYCOLLECTION( "
"POINT(4 6),"
"GEOMETRYCOLLECTION("
Expand All @@ -3293,7 +3293,7 @@ ST_ASTEXT(ST_GEOMFROMGEOJSON(ST_ASGEOJSON(ST_GEOMFROMTEXT("GEOMETRYCOLLECTION( "
"POINT(4 6),"
"GEOMETRYCOLLECTION("
"POLYGON ((30 10, 40 40, 20 4
GEOMETRYCOLLECTION(POINT(4 6),GEOMETRYCOLLECTION(POLYGON((30 10,40 40,20 40,10 20,30 10)),MULTIPOINT(10 40,40 30,20 20,30 10),MULTILINESTRING((10 10,20 20,10 40),(40 40,30 30,40 20,30 10)),MULTIPOLYGON(((30 20,45 40,10 40,30 20)),((15 5,40 10,10 20,5 10,15 5)))),POINT(6 4))
GEOMETRYCOLLECTION(POINT(4 6),GEOMETRYCOLLECTION(POLYGON((30 10,40 40,20 40,10 20,30 10)),MULTIPOINT((10 40),(40 30),(20 20),(30 10)),MULTILINESTRING((10 10,20 20,10 40),(40 40,30 30,40 20,30 10)),MULTIPOLYGON(((30 20,45 40,10 40,30 20)),((15 5,40 10,10 20,5 10,15 5)))),POINT(6 4))
SELECT ST_ASGEOJSON(ST_GEOMFROMGEOJSON(
"{ \"type\": \"Point\", \"coordinates\": [102.0, 0.0]}"));
ST_ASGEOJSON(ST_GEOMFROMGEOJSON(
Expand Down Expand Up @@ -3921,7 +3921,7 @@ POINT(100 0)
LINESTRING(100 0,101 1)
POLYGON((100 0,101 0,101 1,100 1,100 0))
POLYGON((100 0,101 0,101 1,100 1,100 0),(100.2 0.2,100.8 0.2,100.8 0.8,100.2 0.8,100.2 0.2))
MULTIPOINT(100 0,101 1)
MULTIPOINT((100 0),(101 1))
POINT(-12.144 13.736489)
DROP TABLE json_tbl;
# Checking that member and type names with extra ending does not get
Expand Down
Loading

0 comments on commit 9718495

Please sign in to comment.