Skip to content

feat(functions): re-expose string builder API for concat - #24064

Open
mzabaluev wants to merge 2 commits into
apache:mainfrom
mzabaluev:re-expose-concat-string-builders
Open

feat(functions): re-expose string builder API for concat#24064
mzabaluev wants to merge 2 commits into
apache:mainfrom
mzabaluev:re-expose-concat-string-builders

Conversation

@mzabaluev

Copy link
Copy Markdown
Contributor

Rationale for this change

The builders hidden by #21695 are useful for third party UDFs that want to implement their own concat functions, e.g. one that faithfully replicates the behavior of Spark's concat.

What changes are included in this PR?

Make these definitions in datafusion-funcions' strings module public:

  • ConcatBuilder (trait)
  • ConcatGenericStringBuilder (struct)
  • ConcatStringBuilder, ConcatLargeStringBuilder (typedefs)
  • ConcatStringViewBuilder (struct)
  • ColumnarValueRef (enum)

Are these changes tested?

No functionality has been changed.
Integration tests, doctests, or an example for the newly public APIs can be added on request.

Are there any user-facing changes?

The APIs listed above are made public, with existing comments.

The builders hidden by apache#21695
are useful for third party UDFs that want to implement their own concat
functions, e.g. one that faithfully replicates the behavior of
Spark's concat.
@github-actions github-actions Bot added the functions Changes to functions implementation label Aug 3, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.87%. Comparing base (62650ef) to head (518c00b).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #24064      +/-   ##
==========================================
- Coverage   80.87%   80.87%   -0.01%     
==========================================
  Files        1101     1101              
  Lines      375765   375765              
  Branches   375765   375765              
==========================================
- Hits       303915   303905      -10     
- Misses      53747    53753       +6     
- Partials    18103    18107       +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Remove a reference to a private type from the doc comment on
ConcatGenericStringBuilder, which is now public. Turn the paragraph
into a plain comment with a note to add it later if
StringViewArrayBuilder is made public.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

functions Changes to functions implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants