Re: [Django] #36890: Allow providing distinct=True to StringAgg on SQLite by specifying the default delimiter

4 views
Skip to first unread message

Django

unread,
Jan 30, 2026, 10:58:38 PMJan 30
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Accepted
StringAgg |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* owner: (none) => Varun Kasyap Pentamaraju
* status: new => assigned

Comment:

I'm interested to submit patch
--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:4>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 31, 2026, 3:19:19 AMJan 31
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Accepted
StringAgg |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by AJ Slater):

Thanks Simon, for catching my mistake. The default is not " ", it's
actually ",".

Jacob's proposed solution would work with the default case.
--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:5>

Django

unread,
Feb 2, 2026, 3:37:35 AMFeb 2
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Accepted
StringAgg |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Varun Kasyap Pentamaraju):

* has_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:6>

Django

unread,
Feb 2, 2026, 11:05:02 AMFeb 2
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Accepted
StringAgg |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Simon Charette):

* needs_better_patch: 0 => 1

Comment:

The added test is failing on everything but SQLite as it relies on the
dataabase string representation of floats which differs between backends.

It also lacks support for `ORDER BY` and `FILTER` and coudl simplify it's
eligibility heuristic logic.
--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:7>

Django

unread,
Feb 5, 2026, 9:43:53 AM (11 days ago) Feb 5
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Accepted
StringAgg |
Has patch: 1 | Needs documentation: 1
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 1 => 0
* needs_docs: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:8>

Django

unread,
Feb 9, 2026, 4:55:02 PM (7 days ago) Feb 9
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: assigned
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution:
Keywords: Aggregate, sqlite3, | Triage Stage: Ready for
StringAgg | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_docs: 1 => 0
* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:9>

Django

unread,
Feb 10, 2026, 4:47:54 PM (6 days ago) Feb 10
to django-...@googlegroups.com
#36890: Allow providing distinct=True to StringAgg on SQLite by specifying the
default delimiter
-------------------------------------+-------------------------------------
Reporter: AJ Slater | Owner: Varun
| Kasyap Pentamaraju
Type: New feature | Status: closed
Component: Database layer | Version: 6.0
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: Aggregate, sqlite3, | Triage Stage: Ready for
StringAgg | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls <jacobtylerwalls@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"3282d9f4edbe5d341a0fa2a8c62b435b3885ab64" 3282d9f]:
{{{#!CommitTicketReference repository=""
revision="3282d9f4edbe5d341a0fa2a8c62b435b3885ab64"
Fixed #36890 -- Supported StringAgg(distinct=True) on SQLite with the
default delimiter.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36890#comment:10>
Reply all
Reply to author
Forward
0 new messages