Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add skeleton code for window functions and expressions #3812

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

f4t4nt
Copy link
Contributor

@f4t4nt f4t4nt commented Feb 14, 2025

Just a Draft PR so others can easily view the API I'm writing


Description

Adds skeleton code for window functions in Daft, focusing on the Python-side API structure. Changes include:

  1. Added Window class with basic window specification stubs:

    • partition_by(), order_by()
    • rows_between(), range_between()
    • Window boundary constants
  2. Added over() method to Expression class for applying window functions

The actual implementations will be added in Rust in subsequent PRs. This PR only establishes the Python API structure to allow the test files to compile.

Testing

Added test files under tests/window/ that define the expected behavior for various window operations. Tests currently have placeholder assertions that will be updated once the Rust implementations are added.

@github-actions github-actions bot added the feat label Feb 14, 2025
Copy link

codspeed-hq bot commented Feb 14, 2025

CodSpeed Performance Report

Merging #3812 will not alter performance

Comparing feat/window-functions-skeleton (71c5fdc) with main (df6f134)

Summary

✅ 24 untouched benchmarks

@universalmind303 universalmind303 self-requested a review February 16, 2025 20:31
@f4t4nt f4t4nt marked this pull request as draft February 20, 2025 01:26
@f4t4nt f4t4nt force-pushed the feat/window-functions-skeleton branch from 8023a87 to 71c5fdc Compare March 3, 2025 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant