[SERVER-80235] [CQF] Lower PathCompare [eq] using cmp3w Created: 18/Aug/23  Updated: 15/Nov/23  Resolved: 12/Sep/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0

Type: Task Priority: Major - P3
Reporter: Hana Pearlman Assignee: Militsa Sotirova
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
causes SERVER-81429 Address regressions due to PathCompar... Backlog
Related
related to SERVER-82089 Use cmp3w instead of simple compariso... Closed
is related to SERVER-80239 [CQF] Re-consider comparison against ... Backlog
is related to SERVER-80987 [CQF] Investigate Eq --> cmp3w regres... Closed
Assigned Teams:
Query Optimization
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-09-04, QO 2023-09-18
Participants:
Linked BF Score: 5

 Description   

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.



 Comments   
Comment by Githook User [ 12/Sep/23 ]

Author:

{'name': 'Militsa Sotirova', 'email': 'militsa.sotirova@mongodb.com', 'username': 'militsasotirova'}

Message: SERVER-80235 Lower PathCompare [eq] using cmp3w
Branch: master
https://github.com/mongodb/mongo/commit/50363e7be3a82da80835eaa4e1048d5bab0f55d1

Generated at Thu Feb 08 06:43:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.