YannByron opened a new pull request, #10578: URL: https://github.com/apache/paimon/pull/10578
### Purpose Keep read schemas consistent after #10572. With the current Rust read-schema contract, Ray returned a logical/write schema for empty row-id reads, and metadata-only search marked `_ROW_ID` non-nullable while normal lookup returned a nullable field. Both paths now use the same core read-schema builder as normal reads. Update affected tests to compare against runtime read schemas while retaining strict value/type/order checks and logical `NOT NULL` / invalid-NULL write checks. Replace the obsolete cast-rejection case with an unsupported TIME precision change. Add coverage for empty/nonempty targets, nested non-null fields, repeated projections, batched search, and metadata-only lookup avoidance. This repairs independent master failures: [Native CI for the tree merged as #10572](https://github.com/apache/paimon/actions/runs/38670530289/job/116214137506) reported 64 failures, including three cross-path schema mismatches. It does not include the CWD changes in #10567. ### Tests - Local compatibility checks with Python 3.13 / PyArrow 19.0.1 / pypaimon-rust 0.4.0: 39 affected tests passed; search-result metadata module: 40 passed, 7 skipped (optional index packages unavailable). - Flake8 with the repository configuration and `git diff --check` passed. - Full Native CI with the current Rust core is required before marking this PR ready. The local 0.4.0 checks do not validate the new core read-schema contract. -- 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]
