-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
Fully Compatible
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.