-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
Currently in SBE during query execution, we have the same hash for false, null, minKey and maxKey.
As well as empty array, object, array set and so on.
Using these colliding primitives it is easy to construct a lot of different objects with the same hash value.
We should ensure that primitives like zero and empty values of most types don't have the same hash value if values are not equal.
These hash is not used for any security, only for performance during query execution.