[SERVER-69591] [CQF] Simplify non-sargable paths Created: 12/Sep/22  Updated: 29/Oct/23  Resolved: 17/Nov/22

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

Type: Improvement Priority: Major - P3
Reporter: Svilen Mihaylov (Inactive) Assignee: David Percy
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-68483 Use multikey metadata for more precis... Closed
Related
is related to SERVER-68483 Use multikey metadata for more precis... Closed
is related to SERVER-70224 [CQF] Add rewrite to push not through... Closed
Backwards Compatibility: Fully Compatible
Sprint: QO 2022-10-31, QO 2022-11-14, QO 2022-11-28
Participants:

 Description   

We already simplify sargable paths in PartialSchemaRequirements by removing redundant traverses based on the index metadata. The ticket is about simplifying the non-sargable paths. One way to achieve this via adding a logical rewrite.



 Comments   
Comment by Githook User [ 17/Nov/22 ]

Author:

{'name': 'David Percy', 'email': 'david.percy@mongodb.com', 'username': 'dpercy'}

Message: SERVER-69591 [CQF] Simplify non-Sargable paths

Take the existing MultikeynessSimplifier and apply it whenever see
'Filter EvalFilter' or 'Filter Not EvalFilter'.

Also, when converting a ComposeM to Sargable intervals, if only one
side can become intervals then we can use those as a perfOnly predicate.
Branch: master
https://github.com/mongodb/mongo/commit/6b46d34b665f34e7c0d4794d0f8964aa9e36b289

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