fresh-borzoni opened a new pull request, #351: URL: https://github.com/apache/fluss-rust/pull/351
## Summary
closes #331
## Per-Bucket Grouped `ScanRecords` for Python and C++ Bindings
Aligns Python and C++ `LogScanner.poll()` with Rust/Java by returning
`ScanRecords` grouped by bucket instead of a flat list.
### Changes
**Python**
- New `ScanRecords` pyclass with per-bucket access (`buckets()`,
`records(bucket)`, `items()`, `values()`, `keys()`)
- Dict-like protocol: `scan_records[bucket]`, `bucket in scan_records`
- Sequence protocol: `scan_records[0]`, `scan_records[0:3]`,
`len(scan_records)`
- Flat iteration preserved: `for record in scan_records`
**C++**
- New `TableBucket` struct and `BucketView` class
- Additive methods on existing `ScanRecords`: `BucketCount()`,
`Buckets()`, `Records(bucket)`, `BucketAt(idx)`
- Flat iteration via `begin()`/`end()` unchanged
**Docs & Examples**
- Updated API references/docs/exmaples for Python, C++, and Rust
--
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]
