Skip to content

RFC 017 aggregate modifiers#45

Draft
dannymeijer wants to merge 4 commits into
mainfrom
feature/34-rfc017-aggregate-modifiers
Draft

RFC 017 aggregate modifiers#45
dannymeijer wants to merge 4 commits into
mainfrom
feature/34-rfc017-aggregate-modifiers

Conversation

@dannymeijer
Copy link
Copy Markdown
Collaborator

@dannymeijer dannymeijer commented May 25, 2026

Summary

  • Adds registry-backed aggregate modifier metadata plus AggregateMeasure.distinct(), .filter(...), and .order_by(...) state.
  • Adds count_distinct(expr) and count_if(predicate) compatibility helpers as decorator-registered aggregate rewrites.
  • Lowers distinct/filter aggregate modifiers into Substrait, validates invalid modifier shapes, and keeps Prism cross-store adoption sensitive to aggregate modifier state.
  • Updates aggregate docs, function catalog docs, release notes, and marks RFC 017 implemented.
  • Merged with current origin/main after RFC 016/018/024 wave 1 function catalog foundations #44 and removed the same redundant-helper/source-quality smells found during the RFC 016/018/024 wave 1 function catalog foundations #44 review loop.

Merge Order

#44 has been merged. This PR now targets main directly and can be reviewed as the RFC 017 follow-up.

Verification

  • make fmt INCAN=/Users/danny/Development/encero/incan/target/debug/incan
  • /Users/danny/Development/encero/incan/target/debug/incan test tests/test_function_registry.incn
  • /Users/danny/Development/encero/incan/target/debug/incan test tests/test_substrait_plan.incn
  • /Users/danny/Development/encero/incan/target/debug/incan test tests/test_session_aggregates.incn
  • /Users/danny/Development/encero/incan/target/debug/incan test tests/test_dataset.incn
  • /Users/danny/Development/encero/incan/target/debug/incan test src/functions/aggregates
  • make pre-commit INCAN=/Users/danny/Development/encero/incan/target/debug/incan

Closes #34

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.

RFC 017: Aggregate modifiers

1 participant