-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
Change CanChangeState::shouldCopyValue to only match bson values.
SBE deals with 2 value sources:
- internal: all values created and managed by SBE. Those values are pointer stable, and don't require special handling during yielding save/restore.
- external: values that are coming from outside of SBE (like bson returned by a storage cursors). Those values might not have stable pointers and in such case require special handling (copy) during yielding save/restore.
We should limit CanChangeState::shouldCopyValue to only match the external values that have unstable pointers.