Skip to content

fix(table): reject row ranges for format tables at read construction - #700

Open
jackylee-ch wants to merge 1 commit into
apache:mainfrom
jackylee-ch:fix/format-table-row-ranges-at-read
Open

fix(table): reject row ranges for format tables at read construction#700
jackylee-ch wants to merge 1 commit into
apache:mainfrom
jackylee-ch:fix/format-table-row-ranges-at-read

Conversation

@jackylee-ch

@jackylee-ch jackylee-ch commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

FormatTableScan::plan rejects row ranges, but FormatReadBuilder::new_read never reads
self.row_ranges, so with_row_ranges(..).new_read() on a format table silently ignores the
request instead of reporting it. Reachable from core Rust callers, which reach
FormatReadBuilder through ReadBuilder::new_read.

Fix: fail closed in new_read too, matching ReadBuilder::new_read, which guards the
same way for the same reason.

@JingsongLi

Copy link
Copy Markdown
Contributor

The Python bindings did not pass row_ranges from PyReadBuilder to PyTableRead.

@jackylee-ch

Copy link
Copy Markdown
Contributor Author

Right, and PyTableRead should not carry them: core new_read does not consume row_ranges
either — they reach readers through DataSplit, set at planning. The guard is for core Rust
callers, not the binding: a format table can neither honour nor report the request.

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