WL#7224: Spatial Relation Check Functions Depending on Boost Geometry Extensions
Call Boost Geometry(BG) geometry relation check functionality directly or indirectly to replace MySQL GIS old geometry relation check algorithms used for type combinations which older versions of BG didn't support. BG in Boost 1.56.0 start to have all type combinations we need for every geometry relation check function we need. Fixes BUG#68091 BUG#71076.
F-1: The syntax MUST NOT change. F-2: All functions must return the correct result according to SFA-CA. F-3: All functions SHOULD raise an exception condition if the input is invalid, even if the old implementation didn't. F-4: All functions SHOULD NOT return NULL if the input is valid.
I-1: No new files, only using boost library and it should be ready now. I-2: No new syntax I-3: No new commands I-4: No new tools. I-5: No impact on existing functionality.
Before using BG in boost1.56.0, we had to fall back to old gis code if a type combination isn't supported by boost geometry, and now we won't have to do this. However we may have to do some extra computation for some type combination using boost geometry, for example, to do within(multilinestring, polygon) relation check, we need to use boost::geometry::within
and check every linestring of the multilinestring. Boost geometry will implement a minimum set of basic relation checks, and further type combinations will need to be implemented based on them. Need to remove the use of all old gis relation check code completely, make sure we won't rely on them. All geometry relation check functionality for any geometry type will be done by calling BG code directly or indirectly.
Copyright (c) 2000, 2021, Oracle Corporation and/or its affiliates. All rights reserved.