summaryrefslogtreecommitdiff
path: root/mysql-test/t/gis-precise.test
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2011-07-12 11:21:20 +0500
committerAlexey Botchkov <holyfoot@askmonty.org>2011-07-12 11:21:20 +0500
commite7c9f52fd960440614c30c3f852bf74f1febe6b3 (patch)
treedcc91ea14246ff163baf7f51f5448531f96e7c02 /mysql-test/t/gis-precise.test
parent67e937095cec8aa922ff3ea971204d59ee3047ff (diff)
downloadmariadb-git-e7c9f52fd960440614c30c3f852bf74f1febe6b3.tar.gz
Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple.
We cannot cut a line from a polygon. So if the polygon fits the condition, and the intersection of a line and the polygon doesn't, we just skip the line. That rule wasn't applied if the line start was inside the polygon, which leaded to the assertion. per-file comments: mysql-test/r/gis-precise.result Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. test result updated. mysql-test/t/gis-precise.test Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. test case added. sql/gcalc_tools.cc Fix for bug #801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple. Don't mark the line as a border if it's inside a polygon that fits the result condition.
Diffstat (limited to 'mysql-test/t/gis-precise.test')
-rw-r--r--mysql-test/t/gis-precise.test11
1 files changed, 10 insertions, 1 deletions
diff --git a/mysql-test/t/gis-precise.test b/mysql-test/t/gis-precise.test
index 30445219d90..bf36e6e9628 100644
--- a/mysql-test/t/gis-precise.test
+++ b/mysql-test/t/gis-precise.test
@@ -158,7 +158,7 @@ SELECT Round(ST_AREA(ST_BUFFER( ST_UNION(
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6);
-#buf #804259 Second assertion in Gis_geometry_collection::init_from_opresult
+#bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult
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)),
@@ -168,3 +168,12 @@ 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))) ')));
+
+
+#bug 801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple
+
+SELECT AsText(ST_SYMDIFFERENCE(
+ MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
+ (6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
+ Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))));
+