[SERVER-63553] Add support for multiple collection in SlotBasedStageBuilder Created: 10/Feb/22  Updated: 29/Oct/23  Resolved: 07/Mar/22

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

Type: Task Priority: Major - P3
Reporter: Anna Wawrzyniak Assignee: Mihai Andrei
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done before SERVER-62675 Support plan extension for QSN trees ... Closed
Backwards Compatibility: Fully Compatible
Sprint: QE 2022-03-07, QE 2022-03-21
Participants:

 Description   

SlotBasedStageBuilder currently assumes that the entire plan refers to a single collection, and only that collection reference is used when building scans.

This assumption is no longer true, when adding support to $lookup, as the $lookup references foreign collections.

We need to modify SlotBaseStageBuilder to provide access to all referenced collections. Possibly by using:
map of string -> CollectionPtr _collections.
in the StageBuilder instead of just:
const CollectionPtr& _collection



 Comments   
Comment by Githook User [ 04/Mar/22 ]

Author:

{'name': 'Mihai Andrei', 'email': 'mihai.andrei@10gen.com', 'username': 'mtandrei'}

Message: SERVER-63553 Support multi-collection plans in SlotBasedStageBuilder and construct inner ScanStage for EqLookupNodes which use NestedLoopJoin
Branch: master
https://github.com/mongodb/mongo/commit/b209ff10e948371a4f848a836f71aa54ac79b2f4

Generated at Thu Feb 08 05:58:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.