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/window functions skeleton #3811

Closed
wants to merge 41 commits into from
Closed

Conversation

f4t4nt
Copy link
Contributor

@f4t4nt f4t4nt commented Feb 14, 2025

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.

f4t4nt added 30 commits January 28, 2025 17:03
- Add hash-based deduplication in set_agg.rs

- Add proper null value handling in set operations

- Add debug logging for set operations

- Improve error messaging for unhashable types

- Update tests to verify set aggregation behavior
- Remove daft-functions from daft-table dependencies

- Remove daft-functions/python from python feature
@f4t4nt f4t4nt closed this Feb 14, 2025
@f4t4nt f4t4nt deleted the feat/window-functions-skeleton branch February 14, 2025 21:09
Copy link

codspeed-hq bot commented Feb 14, 2025

CodSpeed Performance Report

Merging #3811 will degrade performances by 29.74%

Comparing feat/window-functions-skeleton (3a5d181) with main (fba938d)

Summary

❌ 1 regressions
✅ 26 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
test_iter_rows_first_row[100 Small Files] 204.2 ms 290.7 ms -29.74%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant