[SERVER-79934] Investigate window stage interface with regular and repeated slots Created: 11/Aug/23  Updated: 29/Oct/23  Resolved: 07/Sep/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc2

Type: Task Priority: Major - P3
Reporter: Rui Liu Assignee: Rui Liu
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Backwards Compatibility: Fully Compatible
Participants:

 Description   

Currently, the window stage interface has two problems:

1) It doesn't allow the expressions to make use of the first and last document in range, this is needed for window functions like $derivative, $first, and $last, leading to an inefficient VM algorithm.
2) The stage interface is non-regular, in the sense that the slots are categorized as partition slots, forward slots, bound slots, and bound testing slots, where each category of slots only corresponds to part of what's saved in the window buffer. However, we can redesign the interface to be more regular so that, we have a list of buffer slots repeated over multiple documents, so that each slot functionality has access to all the saved slots in the buffer.



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

Author:

{'name': 'Rui Liu', 'email': 'lriuui0x0@gmail.com', 'username': 'lriuui0x0'}

Message: SERVER-79934 Implement window stage interface repeated slots
Branch: master
https://github.com/mongodb/mongo/commit/c22b1fdadf4ba6528d6aac281a4d85cfe1f98c8f

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