JingsongLi opened a new pull request, #10604: URL: https://github.com/apache/paimon/pull/10604
## Summary Read the existing PyPaimon system tables through Rust metadata providers when `read.native.enabled` is enabled on a supported REST FileStoreTable. - Add a thin adapter to `Table._read_system_table`, reusing the resolved REST environment, branch and captured snapshot and preserving the existing in-memory SystemSplit/read interfaces. - Enable Native reads for snapshots, schemas, options, manifests, files, buckets, tags, branches, file_key_ranges, table_indexes and consumers. Partitions retain their catalog-backed implementation. - Match Java metadata semantics in the Python implementation: row-cast partition strings, object-form keys/statistics, actual file formats and logical escaped file paths, physical-column/schema-evolved statistics, captured metadata views and system-local metadata instants. - Preserve declared system-table Arrow schemas, including empty results. Propagate Native failures and close readers rather than retrying metadata reads against a different view. The changed metadata text intentionally follows Java rather than preserving the previous Python JSON/path representations. Logical Java file paths can be passed through the existing `to_file_io_path` helper before Python URI-based FileIO operations. ## Dependency / CI Depends on apache/paimon-rust#1137. This PR is Draft until that change is merged. CI continues to build Apache paimon-rust **main**, with no fork or feature-branch pin. ## Verification - Native REST/system-table tests and existing system-table tests: **161 passed in UTC and 161 passed in America/New_York** using the companion extension. - Global-index builder and SQL system-table regressions: **48 passed, 27 subtests passed**. - Escaped partition-source Native merge regressions: **24 passed**, exercising 48 Native plans. - Tests cover all 11 delegated system tables with empty/populated metadata, no Python materialization, filter/projection/limit, pickle, branch namespaces, fixed/empty/tag views, PK ranges, vertical writes, field-ID evolution, temporal object formatting, indexes, authorization, unavailable Native APIs and stream failures. - Flake8, license headers, Python 3.6 syntax parsing and `git diff --check`: passed. - Independent review against Java; repaired the stats/key object-string finding and re-reviewed it. -- 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]
