Skip to content

Add portable stringAgg() support to FunctionsBuilder#19386

Merged
markstory merged 2 commits intocakephp:5.nextfrom
dereuromark:feature/add-string-agg-function
Apr 13, 2026
Merged

Add portable stringAgg() support to FunctionsBuilder#19386
markstory merged 2 commits intocakephp:5.nextfrom
dereuromark:feature/add-string-agg-function

Conversation

@dereuromark
Copy link
Copy Markdown
Member

@dereuromark dereuromark commented Apr 8, 2026

Summary

  • add FunctionsBuilder::stringAgg() for portable string aggregation
  • translate the expression to native STRING_AGG or GROUP_CONCAT per driver
  • add driver feature flags plus builder and driver SQL generation tests

Notes

  • MySQL always translates to GROUP_CONCAT
  • MariaDB 10.5+ and SQLite 3.44+ advertise native STRING_AGG support
  • SQL Server uses WITHIN GROUP (ORDER BY ...) syntax when aggregate ordering is provided

Resolves #19365

@dereuromark dereuromark added this to the 5.4.0 milestone Apr 8, 2026
@dereuromark dereuromark marked this pull request as ready for review April 9, 2026 20:32
@markstory markstory merged commit f45b8b9 into cakephp:5.next Apr 13, 2026
13 of 15 checks passed
@dereuromark dereuromark deleted the feature/add-string-agg-function branch April 13, 2026 00:58
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.

3 participants