Details
-
Improvement
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
Description
The proposed solution for SERVER-58359 involves serializing into BSON in order to call matchesSingleElement() from isSubsetOf. This is less efficient because it involves converting to and from BSON per query.
To fix this, we need to make the GeometryContainer copyable so we can pull out a helper function from matchesSingleElement that will project the index's geometry into the CRS of the query.
GeometryContainer is currently not copyable as it contains unique_ptrs and even classes that use new/delete. One potential solution would involve using clonable_ptrs instead of unique_ptrs inside GeometryContainer.