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]

Reply via email to