[SERVER-58789] Make GeometryContainer Copyable Created: 23/Jul/21 Updated: 29/Oct/23 Resolved: 06/Apr/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.0.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Maddie Zechar | Assignee: | Dan Larkin-York |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | quick-tech-debt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Participants: | |||||
| 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. |
| Comments |
| Comment by Githook User [ 06/Apr/22 ] |
|
Author: {'name': 'Dan Larkin-York', 'email': 'dan.larkin-york@mongodb.com', 'username': 'dhly-etc'}Message: |