Skip to content

chore: Rename concat-specific string builders, make pub(crate)#21695

Open
neilconway wants to merge 2 commits intoapache:mainfrom
neilconway:neilc/chore-concat-builder-rename
Open

chore: Rename concat-specific string builders, make pub(crate)#21695
neilconway wants to merge 2 commits intoapache:mainfrom
neilconway:neilc/chore-concat-builder-rename

Conversation

@neilconway
Copy link
Copy Markdown
Contributor

@neilconway neilconway commented Apr 17, 2026

Which issue does this PR close?

Rationale for this change

Rename the three builders in datafusion/functions/src/strings.rs to make their special-purpose nature explicit:

  • StringArrayBuilder -> ConcatStringBuilder
  • LargeStringArrayBuilder -> ConcatLargeStringBuilder
  • StringViewArrayBuilder -> ConcatStringViewBuilder

These builders are used only by concat and concat_ws, and their APIs are specific enough to the needs of concat-like callers that it seems unlikely that other call-sites will emerge in the future. This also frees the previous names of these builders to be used by a more broadly useful string builder API.

Also make these types pub(crate), instead of pub; there is no good reason to make them part of the public API. This is a breaking API change.

What changes are included in this PR?

  • Rename types
  • Make types pub(crate), not pub
  • Add section to v54 migration guide

Are these changes tested?

Yes.

Are there any user-facing changes?

Yes, breaking API change -- although these types should probably not have been part of the public API to begin with, and we already made a breaking API change to them as part of other work in v54 (#21538)

Rename the three builders in `datafusion/functions/src/strings.rs` to make
their special-purpose nature explicit:

- `StringArrayBuilder`     -> `ConcatStringBuilder`
- `LargeStringArrayBuilder` -> `ConcatLargeStringBuilder`
- `StringViewArrayBuilder`  -> `ConcatStringViewBuilder`

These builders are used only by `concat` and `concat_ws`, and their API
is specific enough to the requirements of `concat`-like callers that it
seems unlikely that other call-sites will develop in the future. This
also frees the previous names of these builders to be used by a more
broadly useful string builder API.

Also make these types `pub(crate)`, instead of `pub`; there is no good
reason to make them part of the public API. This is a breaking API
change.
@github-actions github-actions bot added documentation Improvements or additions to documentation functions Changes to functions implementation labels Apr 17, 2026
@andygrove andygrove added the api change Changes the API exposed to users of the crate label Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api change Changes the API exposed to users of the crate documentation Improvements or additions to documentation functions Changes to functions implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants