-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
QO 2023-09-04, QO 2023-09-18
-
200
PathCompare operators gt/lt/gte/lte and neq are all lowered using cmp3w, meaning they can compare across types, always returning true or false unless one of the operands is Nothing.
The eq operator is currently lowered using sbe::EPrimBinary::eq. This does not support comparison across types. It returns Nothing if the operands are not of the same type.
It would be convenient if the behaviors, particularly of eq and neq, were consistent. We should update the eq lowering to use cmp3w.
- causes
-
SERVER-81429 Address regressions due to PathCompare [Eq] lowering change
- Backlog
- is related to
-
SERVER-80239 [CQF] Re-consider comparison against missing fields (Nothing semantics) in ABT
- Backlog
-
SERVER-80987 [CQF] Investigate Eq --> cmp3w regression
- Closed
- related to
-
SERVER-82089 Use cmp3w instead of simple comparisons in ABT optimization + lowering
- Closed