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]
