apache / apache/datafusion

`Column::from_qualified_name` result is potentially feature-set dependent

Open
#17,623 1 comment 0 reactions 0 assignees View on GitHub
api change bug
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

`Column::from_qualified_name` uses different implementation of `parse_identifiers_normalized` / `parse_identifiers` depending on whether `sql` feature is enabled.

It is assume that these implementation are behaviorally different, or may be different in the future.

Let's now consider a crate X that uses DataFusion with `sql` feature disabled and it depends on particular behavior of `Column::from_qualified_name`.

If the crate is used in a bigger project which causes `sql` feature to be enabled, the result is unpredictable to X. The app may not work correctly even though each component works and all its tests pass.

Contributor guide

Open the contributing guide

Research direction

Start at Column::from_qualified_name and trace its feature-gated calls to parse_identifiers_normalized and parse_identifiers with sql enabled and disabled. Determine the intended invariant and add coverage for both configurations; done means the result no longer changes unexpectedly with the sql feature.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, sql
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.