JingsongLi opened a new pull request, #1137: URL: https://github.com/apache/paimon-rust/pull/1137
## Summary Enable PyPaimon to reuse the existing Rust metadata providers for system-table reads on an already resolved table. This keeps the table's FileIO, REST credentials, branch and captured snapshot, and does not reload a table through a separate catalog. - Add `$file_key_ranges`, sharing the files provider's metadata extraction without decoding value statistics. - Expose `read_system_table(Table, name)` through a private `Table._read_system_table` Python bridge and the existing RecordBatchReader. Keep catalog-required `$partitions` on its existing catalog path. - Complete Java metadata semantics needed by the bridge: persisted latest-schema options, snapshot `writer_version`, `deleteRowCount`, composite index field names, system-local metadata instants, and historical file statistics respecting physical write columns, dense statistics and field IDs. - Use Java object strings for file keys/statistics (integer DATE/TIME and ISO Timestamp), retaining SQL CAST semantics for partitions. Reuse core casts and timestamp formatting. ## Verification - `cargo test -p paimon-datafusion --locked --lib system_tables`: 34 passed. - `cargo test -p paimon-datafusion --locked --features fulltext --test system_tables`: 27 passed. - `cargo +1.98.0 clippy --locked --all-targets --workspace --features fulltext,vortex -- -D warnings`: passed. - `cargo fmt --all --check`: passed. - Built the Python extension with maturin. Companion PyPaimon REST/system-table suite: 161 passed under both UTC and America/New_York. Covers empty and populated metadata, captured/empty/tag views, branch namespaces, PK ranges, vertical writes, schema evolution, indexes, authorization, projection/filter/limit and pickled plans. - Independently reviewed the Rust and Python changes against Java; repaired the object-string finding and re-reviewed it. The companion Python PR will continue building Apache paimon-rust main in CI; it should merge after this Rust change. -- 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]
