Skip to content

Normalize wildcard EXCLUDE targets during SQL planning - #115

Merged
osipovartem merged 1 commit into
df55-nested-variant-arrowfrom
df55-wildcard-exclude-normalization
Oct 5, 2026
Merged

osipovartem merged 1 commit into
df55-nested-variant-arrowfrom
df55-wildcard-exclude-normalization

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Rationale

Unquoted SELECT * EXCLUDE B fails against a derived field normalized to b (No field named B). Query planning should resolve exclusion targets with the same identifier rules as projected columns.

Changes

  • Normalize unquoted EXCLUDE identifiers during SQL planning, including wildcard function arguments; preserve quoted spelling.
  • Detect duplicate exclusions by resolved field name rather than identifier quote style.
  • Add SQLLogicTests for unquoted, quoted, and duplicate targets, plus an integration test for the custom function wildcard planner.

Validation

  • cargo +1.97.0 fmt --all -- --check
  • cargo +1.97.0 clippy --locked --all-targets --all-features -- -D warnings
  • Full workspace lib/tests/bins extended test suite with pinned test-data submodules
  • select.slt and targeted sql_integration test
  • Independent read-only review: approved; no blocking findings.

User-facing impact

Fixes wildcard EXCLUDE resolution in DataFusion 55; no API change and no execution hot-path change.

@osipovartem
osipovartem merged commit fb21a80 into df55-nested-variant-arrow Oct 5, 2026
9 of 19 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