Skip to content

fix: avoid mutable listing URL hash keys - #105

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
fix-listing-table-url-clippy
Sep 18, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
fix-listing-table-url-clippy

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Which issue does this PR close?

  • Follow-up to the multiple external table locations implementation.

Rationale for this change

Rust 1.97 Clippy rejects HashSet<&ListingTableUrl> because ListingTableUrl contains a regex cache with interior mutability. The set is only used to detect duplicate normalized locations, so retaining the full URL object is unnecessary.

What changes are included in this PR?

Store borrowed normalized URL strings in the duplicate-detection HashSet. This preserves the existing behavior while avoiding mutable key types and keeping allocations bounded to the set itself.

Are these changes tested?

  • cargo test --profile=ci -p datafusion --lib datasource::listing_table_factory::tests::test_create_with_duplicate_locations
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo fmt --all -- --check

Are there any user-facing changes?

No. Duplicate external table locations continue to return the existing planning error.

@osipovartem
osipovartem merged commit fcc2189 into embucket-sync-df55.0.0 Sep 18, 2026
6 of 16 checks passed
@osipovartem
osipovartem deleted the fix-listing-table-url-clippy branch September 18, 2026 16:46
@github-actions github-actions Bot added the core label Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant