JingsongLi opened a new pull request, #10591: URL: https://github.com/apache/paimon/pull/10591
### Purpose Use Rust core for PyPaimon's existing supplied primary-key index-result scans. PK vector/full-text results already carry a snapshot and physical file positions; these must be handed to the normal scan without resolving latest again or changing their source splits. Depends on [apache/paimon-rust#1133](https://github.com/apache/paimon-rust/pull/1133). This PR is draft until that Rust API is available on `main`. Native CI continues building Rust `main`. - Bridge existing PK split results and DE row-ID results to core `GlobalIndexResult`. - Hand fresh Native PK search results directly to Native scan, avoiding a Python split-wire round trip. Exposing mutable splits or copying/serializing a result invalidates the original native handle, so subsequent scans observe Python metadata edits. - Keep snapshot 0 for empty PK results and retain snapshot/file/DV/range/score metadata. - Let core align DE scores after pruning/distribution and preserve incremental windows. - Match Java under query authorization: ignore supplied raw-index selections in both Python and Native paths. - Assert Java float32 split-score values for Native plans. ### Tests Locally built the binding from the dependent Rust PR. - 128 passed, including the new result-scan tests, planner unit tests, and expanded planning tests; 46 subtests passed. - 133 existing PK full-text/vector search tests passed against Java-generated archives. - Related full-text, hybrid, PK scalar-index, authorization, distribution, and incremental suites were also exercised. The combined run found two double-vs-float32 score assertions; both now assert Java float32 wire values and passed the focused rerun. - 179 Rust Python-binding read/resolved-table tests passed. - Flake8, Python 3.6 syntax parsing, license headers, and diff whitespace checks passed. Regression cases cover Native/Python readers, historical and empty results, source metadata preservation, filter/limit/shard ordering, direct Core result handoff, pickle and shallow-copy aliasing, edited Python selections, DE score ordering and incremental windows, and ignoring raw index results under REST authorization. -- 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]
