Skip to content

feature - implement RFC 023 approximate functions (#40)#50

Closed
dannymeijer wants to merge 6 commits into
feature/39-rfc022-format-functionsfrom
feature/40-rfc023-approximate-functions
Closed

feature - implement RFC 023 approximate functions (#40)#50
dannymeijer wants to merge 6 commits into
feature/39-rfc022-format-functionsfrom
feature/40-rfc023-approximate-functions

Conversation

@dannymeijer
Copy link
Copy Markdown
Collaborator

@dannymeijer dannymeijer commented May 26, 2026

Summary

  • completes RFC 023's portable approximate aggregate surface with approx_count_distinct(...) and approx_percentile(...)
  • carries approximate aggregate arguments through Prism/Substrait lowering, including percentile and accuracy for approx_percentile(...)
  • adds registry approximation metadata, aggregate modifier policy, Substrait extension mappings, and DataFusion adapter-boundary name rewrites for both helpers
  • records the sketch-state decision explicitly: sketch construction/merge/estimate/serialization names are delegated to new Draft RFC 025 instead of being exposed as untyped binary/string functions
  • marks RFC 023 Implemented with RFC 025 carrying the follow-up typed-sketch value design
  • adds RFC 025 for typed sketch logical values, links it to issue RFC 025: Typed sketch logical values #51, and links RFC 023/reference docs/release notes to that boundary
  • updates the RFC, function reference, aggregate-builder docs, and release notes so the PR no longer describes a first slice

Verification

  • git diff --check
  • make fmt
  • incan test tests/test_approximate_functions.incn
  • incan test tests/test_function_registry.incn
  • incan test tests/test_substrait_plan.incn
  • incan test tests/test_prism.incn
  • incan test tests/test_session_aggregates.incn
  • make fmt-check
  • make test-style
  • make registry-metadata
  • make build
  • make test
  • make smoke-consumer
  • make pre-commit

After the docs-only RFC 025 / RFC 023 status commits:

  • git diff --check

Stack / Merge Order

This PR is stacked after #49 and should merge only after:

#44 -> #45 -> #46 -> #47 -> #48 -> #49 -> this PR

Refs #40
Refs #51

@dannymeijer dannymeijer force-pushed the feature/39-rfc022-format-functions branch from 4ebb788 to c786443 Compare May 28, 2026 07:10
@dannymeijer dannymeijer force-pushed the feature/40-rfc023-approximate-functions branch from 9179ad1 to 50abc7a Compare May 28, 2026 08:06
@dannymeijer dannymeijer changed the title feature - implement RFC 023 approximate count distinct (#40) feature - implement RFC 023 approximate functions (#40) May 28, 2026
@dannymeijer dannymeijer force-pushed the feature/40-rfc023-approximate-functions branch from 4f4249b to 8bda4bf Compare May 28, 2026 09:57
@dannymeijer dannymeijer deleted the branch feature/39-rfc022-format-functions May 30, 2026 13:28
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