diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2011-07-08 15:38:15 +0500 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2011-07-08 15:38:15 +0500 |
commit | 67e937095cec8aa922ff3ea971204d59ee3047ff (patch) | |
tree | 611143cd07430b4c9a947ce1cc18aa6e8d35660f /mysql-test/r | |
parent | e182ae27cd11548feeb59306799aea3c342e8af9 (diff) | |
download | mariadb-git-67e937095cec8aa922ff3ea971204d59ee3047ff.tar.gz |
Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult.
A polygon has no right to have holes that are actually points.
So just skip them when we collect the result of an operation.
per-file comments:
mysql-test/r/gis-precise.result
Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult.
test result updated.
mysql-test/t/gis-precise.test
Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult.
test case added.
sql/gcalc_tools.cc
Fix for bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult.
Skip the point in the result if it's the hole inside a polygon.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/gis-precise.result | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/r/gis-precise.result b/mysql-test/r/gis-precise.result index 42cc2758a03..98d081f48e3 100644 --- a/mysql-test/r/gis-precise.result +++ b/mysql-test/r/gis-precise.result @@ -265,3 +265,17 @@ Round(ST_AREA(ST_BUFFER( ST_UNION( POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'), POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6) 21.901403 +SELECT AsText(ST_UNION(MultiPolygonFromText(' + MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)), + ((0 0, 8 3, 7 4, 0 0)), + ((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)))'), +MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)), + ((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1)), + ((7 7, 4 7, 6 3, 7 2, 7 7)), + ((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) '))); +AsText(ST_UNION(MultiPolygonFromText(' + MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)), + ((0 0, 8 3, 7 4, 0 0)), + ((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)))'), +MultiPolygonFr +POLYGON((0 0,0 5,0.555555555555556 5,1 9,2 8,8 8,8 2,7 2,5.33333333333333 2,3 1.125,3 0,0 0),(1 1,1 1.5,1.33333333333333 2,1 2,2 2,2 1.14285714285714,1.75 1,1 1),(3 1.71428571428571,3 2,3.5 2,3 1.71428571428571),(4 4,4 6,4.5 6,5.5 4,4 4)) |