emecii opened a new pull request, #3913:
URL: https://github.com/apache/iceberg-python/pull/3913

   # Rationale for this change
   
   Implements the manifest-inspection snapshot-selection part of #1053; the 
umbrella issue remains open.
   
   `table.inspect.manifests(snapshot_id=...)` selects a retained snapshot using 
the existing lookup helper. Calls without an ID retain current-snapshot and 
typed empty-table behavior; unknown or expired IDs raise the existing lookup 
error.
   
   Partition summaries use the selected snapshot's schema and each manifest's 
partition spec. When a retained manifest references a dropped source, resolve 
its field ID from retained schemas. This keeps old manifests readable after 
schema and partition evolution, including a reused column name with a different 
field ID/type. Snapshots without a schema ID follow the existing current-schema 
fallback convention; unavailable recorded schemas warn before falling back.
   
   `all_manifests()` retains its signature and all-snapshot reference rows. It 
receives the historical summary correction through the shared generator. No 
general readable-metrics or bound-conversion changes.
   
   ## Are these changes tested?
   
   Real local catalog tests cover old/current selection, exact manifest paths, 
empty tables, invalid and expired IDs, renamed/dropped partition sources, mixed 
partition specs, reused names, null/empty bounds, type promotion, schema 
fallback, and all-manifest references.
   
   - Inspection suite: 21 passed.
   - Full local unit target: 4,028 passed, 3 skipped, 1,571 deselected.
   - `make lint`: passed.
   - Apache RAT: passed on a clean export of the commit.
   - Restoring current-schema-only decoding makes two historical-summary cases 
fail.
   
   Spark/Docker parity, cloud suites, other Python/platform combinations and 
documentation build were not run. Historical fallback relies on retained schema 
metadata; it does not recover types from removed metadata files.
   
   ## Are there any user-facing changes?
   
   Yes: optional `snapshot_id` on `InspectTable.manifests`, documented in the 
API guide. Existing calls remain valid; historical partition summaries use 
retained schemas/specs.
   
   ## AI assistance
   
   OpenAI Codex generated the implementation, tests, documentation and PR 
draft, ran the reported checks, and reviewed the diff. The commit records 
`Generated-by: OpenAI Codex`. These statements describe agent work and do not 
assert personal human review.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to