summaryrefslogtreecommitdiff
path: root/mysql-test/t/gis-precise.test
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2012-04-29 18:08:11 +0500
committerAlexey Botchkov <holyfoot@askmonty.org>2012-04-29 18:08:11 +0500
commitaf084bcd78a29f05dd5a14bc70494cf3760935b3 (patch)
treeec3dd1836f12150be67484fd215ff9161d9cf62e /mysql-test/t/gis-precise.test
parent8cfa6c3f33d28052aadfed2efb8ef41d03bb97e7 (diff)
downloadmariadb-git-af084bcd78a29f05dd5a14bc70494cf3760935b3.tar.gz
bug #977021 ST_BUFFER fails with the negative D.
Points and lines should disappear if we got negative D. To make it work properly inside the GEOMETRYCOLLECTION, we add the empty operation there. bug #986977 Assertion `!cur_p->event' failed in Gcalc_scan_iterator::arrange_event(int, int). The double->inernal coord conversion produced -0 (minus zero) on some data. That minus-zero produces invalid comparison results when compared agains plus-zero. So we fixed the gcalc_set_double() to avoid it. per-file comments: mysql-test/r/gis-precise.result result updated. mysql-test/t/gis-precise.test tests for #977021 and #986977 added. sql/gcalc_slicescan.cc bug #986977. The gcalc_set_double fixed to not produce minus-zero. sql/item_geofunc.cc bug #977021. Add the NOOP for the disappearing features.
Diffstat (limited to 'mysql-test/t/gis-precise.test')
-rw-r--r--mysql-test/t/gis-precise.test12
1 files changed, 12 insertions, 0 deletions
diff --git a/mysql-test/t/gis-precise.test b/mysql-test/t/gis-precise.test
index b48da25c3c9..f3c619f7df0 100644
--- a/mysql-test/t/gis-precise.test
+++ b/mysql-test/t/gis-precise.test
@@ -313,3 +313,15 @@ SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') ,
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') );
+#bug 977201 ST_BUFFER fails with the negative D
+select ASTEXT(ST_BUFFER(ST_GEOMCOLLFROMTEXT(' GEOMETRYCOLLECTION(LINESTRING(100 100, 31 10, 77 80), POLYGON((0 0,4 7,1 1,0 0)), POINT(20 20))'), -3));
+
+#bug 986977 Assertion `!cur_p->event' failed in Gcalc_scan_iterator::arrange_event(int, int)
+SELECT ASTEXT(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0 -3.0,
+ -2.910427500435995 0.727606875108998,
+ -0.910427500435995 8.727606875108998,
+ 7.664100588675687 1.503849116986468,
+ 1.664100588675687 -2.496150883013531,
+ 0.0 -3.0
+))' ), 3 ));
+