Skip to content

Support prelisted files in read-only ListingTable scans - #134

Merged
osipovartem merged 1 commit into
df55-copy-compression-autofrom
df55-prelisted-copy-files
Oct 10, 2026
Merged

osipovartem merged 1 commit into
df55-copy-compression-autofrom
df55-prelisted-copy-files

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Summary

Add an opt-in ListingTableConfig::with_prelisted_files path for callers that already have selected PartitionedFile metadata. It reuses the existing statistics, deduplication, and grouping pipeline while skipping listing and per-file HEAD requests during scan planning. The default path is unchanged.

Prelisted tables require an explicit schema, reject partitioned/output-partitioned configurations, and reject INSERT because a fixed file list cannot reflect new writes.

Verification

  • cargo +1.97.0 test -p datafusion-catalog-listing --lib --profile ci (20 passed)
  • cargo +1.97.0 test -p datafusion --test core_integration --profile ci prelisted_files_skip_listing_and_head_requests (passed; verifies selected rows, no LIST/HEAD, and INSERT rejection)
  • cargo +1.97.0 clippy -p datafusion-catalog-listing --all-targets --profile ci
  • cargo +1.97.0 fmt --package datafusion-catalog-listing --package datafusion --check

Independent read-only review: approved, no blocking findings.

@osipovartem
osipovartem merged commit f4206ed into df55-copy-compression-auto Oct 10, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant