JingsongLi opened a new pull request, #10586: URL: https://github.com/apache/paimon/pull/10586
### Purpose Enable Native execution for the primary-key full-text searches already supported by PyPaimon, using Java's physical-position result semantics. Depends on https://github.com/apache/paimon-rust/pull/1132 reaching Rust main. Native CI continues to build main; keep this PR draft until the dependency merges. ### Changes - Send standard REST PK full-text `execute_local()` calls to Rust core, retaining the existing FAST-only contract and propagating execution errors without a Python retry. - Reuse one metadata converter for Native PK vector and full-text results. Core owns snapshot selection, query execution, Top-K, score alignment and selected file ranges; Python converts the captured result. - Use Java-compatible BinaryRow serialization for Python search-position partitions. The previous `repr(tuple(...))` form disagreed with both Java and Rust and changed the cross-partition tie breaker. No compatibility path is retained. ### Verification - 422 Native cases passed across full-text, PK full-text, vector and hybrid regression suites (421 in the combined run plus the additional delayed-read test). - 59 original Python tests passed, plus 7 subtests. - The new 38-case REST suite copies the existing Java PK full-text golden data and compares Python/Native historical snapshots, physical positions, BM25 scores, selected splits and materialized rows. - Tests cover projection/zero projection, reusable captured plans and readers, context mismatches, FAST-only errors and no Python retry after Native failures. Temporarily moving user Parquet files still permits index search; only reading user columns fails. - Nonempty/empty GenericRow and BinaryRow partitions now agree, and PK vector tests also compare partition bytes. - Rebuilt the final extension; its 8 vector binding tests and 39 final PK/DE full-text smoke cases passed. - Flake8, license headers and Python 3.6 syntax checks passed. The production adapter changes remain small; the query implementation is in the companion Rust core 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]
