[SERVER-81287] Lower parameterized ABT trees to newly allocated SBE slots Created: 20/Sep/23 Updated: 27/Nov/23 Resolved: 03/Oct/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: | Lynne Wang | Assignee: | Lynne Wang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Sprint: | QO 2023-10-02, QO 2023-10-16 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
After supported parameterized MatchExpressions are translated into ABT (param ids are represented in the getParam FunctionCall node), we should call inputParamToSlotMap to ensure slots are allocated (via RuntimeEnvironment's registerSlot) and bound to param id's during SBE lowering. |
| Comments |
| Comment by Githook User [ 03/Oct/23 ] |
|
Author: {'name': 'Lynne Wang', 'email': 'lynne.wang@mongodb.com', 'username': ''}Message: MMoved inputParamToSlotMap member of PlanStageStaticData into SBENodeLowering and SBEExpressionLowering, aupdated minvocations to include updated constructor arguments Restored changes in match_expression_visitor Refactored code to reduce irrelevant dependencies Created new SBESlotAllocator typedef to generate SlotId instead of passing SlotIdGenerator into SBEExpressionLowering Added test to ensure correct slot id entries are added to inputParamToSlotMap Removed logd header Added unit tests for multiple parameterized predicates and same param id used more than once in abt_lowering_test Updated new test cases to reset inputParamToSlotMap after lowering Added clang formatting Renamed NamedSlotsProvider to generic SlotsProvider class, removed const from SlotsProvider in SBENodeLowering Removed unused slots provider mock Changed SBESlotAllocator lambda fn back to slotIdGenerator Removed boost optional hpp header file Created function to populate sbe expression lowering in sbe_abt_test Addressed nits Added formatting, removed comments Fixed LowerComparisonCollation in sbe_abt_test Refactored expression_test_base accessor methods |