diff options
-rw-r--r-- | mysql-test/r/gis-precise.result | 3 | ||||
-rw-r--r-- | mysql-test/t/gis-precise.test | 6 | ||||
-rw-r--r-- | sql/item_geofunc.cc | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/mysql-test/r/gis-precise.result b/mysql-test/r/gis-precise.result index e4cc9028236..4f07333e6a3 100644 --- a/mysql-test/r/gis-precise.result +++ b/mysql-test/r/gis-precise.result @@ -215,3 +215,6 @@ LINESTRING(0 0,1 1) SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5); Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5) 78.68426 +SELECT ST_INTERSECTION(NULL, NULL); +ST_INTERSECTION(NULL, NULL) +NULL diff --git a/mysql-test/t/gis-precise.test b/mysql-test/t/gis-precise.test index e267bcf57c1..72ba6b748be 100644 --- a/mysql-test/t/gis-precise.test +++ b/mysql-test/t/gis-precise.test @@ -115,5 +115,9 @@ SELECT astext(ST_UNION ( #bug 801189 ST_BUFFER asserts if radius = 0 SELECT astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0)); -#buf 801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT +#bug 801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5); + +#bug 801212 Assertion with ST_INTERSECTION on NULL values +SELECT ST_INTERSECTION(NULL, NULL); + diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc index 8cae6dd6564..b1fe72e99e0 100644 --- a/sql/item_geofunc.cc +++ b/sql/item_geofunc.cc @@ -1014,7 +1014,10 @@ String *Item_func_spatial_operation::val_str(String *str_value) !(g1= Geometry::construct(&buffer1, res1->ptr(), res1->length())) || !(g2= Geometry::construct(&buffer2, res2->ptr(), res2->length())) || g1->store_shapes(&trn) || g2->store_shapes(&trn)))) + { + str_value= 0; goto exit; + } collector.prepare_operation(); |