Skip to content

feat(python): expose data evolution row ranges - #674

Open
XiaoHongbo-Hope wants to merge 2 commits into
apache:mainfrom
XiaoHongbo-Hope:codex/python-row-ranges-binding
Open

feat(python): expose data evolution row ranges#674
XiaoHongbo-Hope wants to merge 2 commits into
apache:mainfrom
XiaoHongbo-Hope:codex/python-row-ranges-binding

Conversation

@XiaoHongbo-Hope

@XiaoHongbo-Hope XiaoHongbo-Hope commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • expose ReadBuilder.with_row_ranges() for Python scan planning
  • keep empty ranges as an explicit empty result instead of a full scan
  • carry planned ranges in splits for local or distributed readers
  • reject inverted ranges and declare the API in the Python type stub

This lets Python callers pass precomputed Data Evolution row ID ranges to the existing core planner and use its manifest and file pruning.

Tests

  • python -m pytest tests/test_read.py -q (59 passed)
  • cargo test --locked -p paimon empty_row_ranges_is_preserved (2 passed)
  • cargo clippy --locked -p paimon --no-deps -- -D warnings
  • cargo clippy --locked -p pypaimon_rust --no-deps -- -D warnings
  • cargo fmt --all -- --check
  • git diff --check

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