Skip to content

RFC 017 aggregate modifiers#45

Draft
dannymeijer wants to merge 1 commit into
feature/33-35-41-wave1-function-catalogfrom
feature/34-rfc017-aggregate-modifiers
Draft

RFC 017 aggregate modifiers#45
dannymeijer wants to merge 1 commit into
feature/33-35-41-wave1-function-catalogfrom
feature/34-rfc017-aggregate-modifiers

Conversation

@dannymeijer
Copy link
Copy Markdown
Collaborator

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.

Stack / Merge Order

This PR is stacked on #44 and targets feature/33-35-41-wave1-function-catalog.

Merge order:

  1. RFC 016/018/024 wave 1 function catalog foundations #44 RFC 016/018/024 Wave 1 function catalog foundations
  2. This PR, RFC 017 aggregate modifiers

Verification

  • make fmt
  • incan test src/functions/aggregates
  • incan test tests/test_prism.incn
  • incan test tests/test_substrait_plan.incn
  • incan test tests/test_session_aggregates.incn
  • incan test tests/test_function_registry.incn
  • incan test tests/test_dataset.incn
  • make fmt-check
  • make test-style
  • make registry-metadata
  • make build
  • make test
  • make smoke-consumer
  • make pre-commit

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.

1 participant