Phase 8: Create Window Protocol
Priority: P2 (Medium)
Effort: Medium
Methods: +12
New Files: 1
Depends on: PLAN-009 Phase 7 (#59)
Description
Create new API builder protocol file for window functions.
File to Create
src/mountainash_expressions/core/expression_protocols/api_builders/substrait/prtcl_api_bldr_window_arithmetic.py
Methods to Add
Ranking (5):
row_number() -> BaseExpressionAPI
rank() -> BaseExpressionAPI
dense_rank() -> BaseExpressionAPI
percent_rank() -> BaseExpressionAPI
cume_dist() -> BaseExpressionAPI
Distribution (1):
ntile(n) -> BaseExpressionAPI
Value (6):
first_value() -> BaseExpressionAPI
last_value() -> BaseExpressionAPI
nth_value(n) -> BaseExpressionAPI
lead(offset, default) -> BaseExpressionAPI
lag(offset, default) -> BaseExpressionAPI
Acceptance Criteria
Reference
- ADR-010: API Builder Protocol Alignment
- Substrait window extension
Phase 8: Create Window Protocol
Priority: P2 (Medium)
Effort: Medium
Methods: +12
New Files: 1
Depends on: PLAN-009 Phase 7 (#59)
Description
Create new API builder protocol file for window functions.
File to Create
src/mountainash_expressions/core/expression_protocols/api_builders/substrait/prtcl_api_bldr_window_arithmetic.pyMethods to Add
Ranking (5):
row_number() -> BaseExpressionAPIrank() -> BaseExpressionAPIdense_rank() -> BaseExpressionAPIpercent_rank() -> BaseExpressionAPIcume_dist() -> BaseExpressionAPIDistribution (1):
ntile(n) -> BaseExpressionAPIValue (6):
first_value() -> BaseExpressionAPIlast_value() -> BaseExpressionAPInth_value(n) -> BaseExpressionAPIlead(offset, default) -> BaseExpressionAPIlag(offset, default) -> BaseExpressionAPIAcceptance Criteria
substrait/__init__.pywith new importReference