JingsongLi opened a new pull request, #60: URL: https://github.com/apache/paimon-vector-index/pull/60
## What changed - Replace the scalar C `read_at_fn` callback with a batched `read_ranges_fn` request array. - Forward each Rust `SeekRead::pread` batch through one C callback invocation. - Update the C++ wrapper to expose the batch directly without copying request descriptors. - Update Python ctypes so one native batch becomes one `pread_many` call. - Treat empty batches as a no-op and document callback buffer lifetimes. ## Why Index readers already group independent positional reads. The old C adapter split those ranges into sequential callback calls, which prevented C, C++, and Python object-store implementations from issuing the reads concurrently. Disk-backed graph search will depend on preserving this batching across the FFI boundary. This intentionally changes the C input ABI. Existing C and C++ consumers must rebuild and migrate their input callback to `read_ranges_fn`. ## Validation - `cargo test --workspace` - `cargo clippy --workspace --all-targets -- -D warnings` - Python tests: 5 passed - C integration test: all 5 index families passed - C++ integration test: all 5 index families passed -- 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]
