diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2011-07-12 11:21:20 +0500 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2011-07-12 11:21:20 +0500 |
commit | e7c9f52fd960440614c30c3f852bf74f1febe6b3 (patch) | |
tree | dcc91ea14246ff163baf7f51f5448531f96e7c02 /mysql-test/t/gis-precise.test | |
parent | 67e937095cec8aa922ff3ea971204d59ee3047ff (diff) | |
download | mariadb-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.test | 11 |
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)')))); + |