Skip to content

feat(table): support mod and hive bucket functions#396

Merged
JingsongLi merged 1 commit into
apache:mainfrom
Aitozi:mwj/bucket-function-types
Jun 19, 2026
Merged

feat(table): support mod and hive bucket functions#396
JingsongLi merged 1 commit into
apache:mainfrom
Aitozi:mwj/bucket-function-types

Conversation

@Aitozi

@Aitozi Aitozi commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Purpose

Support the remaining fixed-bucket function types in Rust table writes and scan pruning:

  • bucket-function.type=mod for single-column INT/BIGINT bucket keys using floor-mod semantics.
  • bucket-function.type=hive using Hive-compatible hash semantics for fixed bucket keys.
  • Reuse one bucket calculation path for write routing and bucket predicate pruning so both sides stay aligned.

Tests

  • cargo fmt --all -- --check
  • git diff --check
  • cargo test -p paimon bucket_function --lib
  • cargo test -p paimon test_compute_target_buckets_ --lib
  • cargo test -p paimon --lib
  • cargo test -p paimon-integration-tests test_fixed_bucket_scan_filters_by_bucket --test append_tables
  • cargo check -p paimon -p paimon-integration-tests -p paimon-datafusion

Note: cargo check --workspace is blocked locally by the Python binding environment because the active interpreter is Python 3.9 while pyo3 is configured with abi3-py310.

@Aitozi Aitozi marked this pull request as ready for review June 19, 2026 11:22

@JingsongLi JingsongLi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@JingsongLi JingsongLi merged commit d24158e into apache:main Jun 19, 2026
8 checks passed
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.

2 participants