QuakeWang opened a new issue, #220: URL: https://github.com/apache/paimon-rust/issues/220
### Search before asking - [x] I searched in the [issues](https://github.com/apache/paimon-rust/issues) and found nothing similar. ### Description `PaimonTableProvider::scan(..., limit)` already forwards a limit hint into Paimon scan planning, so plain `LIMIT` can already benefit from scan-side split pruning. However, `PaimonTableScan` does not implement DataFusion's physical fetch contract (`fetch()`/`with_fetch()`). As a result, fetch cannot be pushed back into the scan node during physical optimization, and queries such as `OFFSET + LIMIT` cannot benefit from scan-side split pruning after the physical plan is built. Expected behavior: - `PaimonTableScan` implements `fetch()` / `with_fetch()`. - `with_fetch()` returns a new `PaimonTableScan` whose planned splits are rebuilt using the tighter fetch hint. - Fetch is treated as a best-effort planning hint only. - Final `LIMIT` / `OFFSET` semantics remain enforced by DataFusion. - Split pruning stays conservative and fail-open for unsafe cases such as data predicates. ### Willingness to contribute - [x] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
