Bug #86559 ST_Crosses(GC, GC) returns incorrect result for corner case
Submitted: 2 Jun 2017 11:56 Modified: 3 Oct 2017 18:51
Reporter: Norvald Ryeng Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: GIS Severity:S3 (Non-critical)
Version:8.0.2 OS:Any
Assigned to: CPU Architecture:Any

[2 Jun 2017 11:56] Norvald Ryeng
Description:
ST_Crosses incorrectly returns true for a corner case where both arguments are geometry collections and the first argument is covered by different elements of the second argument.

How to repeat:
SELECT ST_Crosses(
  ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 1),POINT(0 10))'),
  ST_GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0, 0 2),POINT(0 10))'));
[3 Oct 2017 18:51] Paul DuBois
Posted by developer:
 
Fixed in 8.0.4.

ST_Crosses() could return an incorrect result when at least one
parameter is a geometry collection and multiple elements of the
geometry collection must be taken into account in order to determine
whether the geometries cross.