<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/db/backends/postgresql/compiler.py, branch stable/5.2.x</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=stable%2F5.2.x</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=stable%2F5.2.x'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-02-24T19:08:08Z</updated>
<entry>
<title>[5.2.x] Bumped minimum isort version to 7.0.0.</title>
<updated>2026-02-24T19:08:08Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2025-10-16T14:33:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=490e49556449edc6d566017342c62473ca2a309b'/>
<id>urn:sha1:490e49556449edc6d566017342c62473ca2a309b</id>
<content type='text'>
Added ignores relating to https://github.com/PyCQA/isort/issues/2352.

Backport of d980d68609448a4c85763fa34e471ff80540888b from main.
</content>
</entry>
<entry>
<title>[5.2.x] Refs #33647 -- Fixed silent data truncation in bulk_create on Postgres.</title>
<updated>2025-12-31T15:47:20Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-12-23T06:25:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=2ca2afdffdc7a33344f3189965b6ebc92196dc10'/>
<id>urn:sha1:2ca2afdffdc7a33344f3189965b6ebc92196dc10</id>
<content type='text'>
Regression in a16eedcf9c69d8a11d94cac1811018c5b996d491.

The UNNEST strategy is affected by the same problem bulk_update has wrt/
to silent data truncation due to its usage of db_type which always returns
a parametrized subtype.

Backport of d6ae2ed868e43671afc4d433c3d8f4d27f7eb555 from main.
</content>
</entry>
<entry>
<title>[5.2.x] Fixed CVE-2025-13372 -- Protected FilteredRelation against SQL injection in column aliases on PostgreSQL.</title>
<updated>2025-12-02T12:27:34Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2025-11-17T22:09:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=479415ce5249bcdebeb6570c72df2a87f45a7bbf'/>
<id>urn:sha1:479415ce5249bcdebeb6570c72df2a87f45a7bbf</id>
<content type='text'>
Follow-up to CVE-2025-57833.

Thanks Stackered for the report, and Simon Charette and Mariusz Felisiak
for the reviews.

Backport of 5b90ca1e7591fa36fccf2d6dad67cf1477e6293e from main.
</content>
</entry>
<entry>
<title>[5.2.x] Fixed #36748 -- Filtered non-standard placeholders from UNNEST queries.</title>
<updated>2025-11-20T22:24:10Z</updated>
<author>
<name>Chris Wesseling</name>
<email>chris@maykinmedia.nl</email>
</author>
<published>2025-11-20T14:01:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ac9bdcabe10fb7ac0c7e9ebcd879f5e34bee776f'/>
<id>urn:sha1:ac9bdcabe10fb7ac0c7e9ebcd879f5e34bee776f</id>
<content type='text'>
Backport of 5834643f43a767fe19f2c6d10217b204e7584ec8 from main.
</content>
</entry>
<entry>
<title>[5.2.x] Fixed #36502 -- Restored UNNEST strategy for foreign key bulk inserts on PostgreSQL.</title>
<updated>2025-07-10T16:36:01Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-07-10T16:33:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=3df1ad57bfcabaf75e4617064d79610f185f3f9f'/>
<id>urn:sha1:3df1ad57bfcabaf75e4617064d79610f185f3f9f</id>
<content type='text'>
Regression in 764af7a3d6c0b543dcf659a2c327f214da768fe4.

Backport of 0fe218842e0e396e3ab3982bd21227968a9e7fd8 from main.
</content>
</entry>
<entry>
<title>[5.2.x] Fixed #36289 -- Fixed bulk_create() crash with nullable geometry fields on PostGIS.</title>
<updated>2025-04-04T19:33:55Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-04-03T15:15:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d9bf0d07cc13c0351b65b025d7e8063864086975'/>
<id>urn:sha1:d9bf0d07cc13c0351b65b025d7e8063864086975</id>
<content type='text'>
Swapped to an allow list instead of a deny list for field types to
determine if the UNNEST optimization can be enabled to avoid further
surprises with other types that would require further specialization to
adapt.

Regression in a16eedcf9c69d8a11d94cac1811018c5b996d491.

Thanks Joshua Goodwin for the report and Sarah Boyce for the test.

Backport of 764af7a3d6c0b543dcf659a2c327f214da768fe4 from main
</content>
</entry>
<entry>
<title>[5.2.x] Fixed #36107 -- Adjusted UNNEST bulk_create strategy to opt-out sized arrays.</title>
<updated>2025-01-20T13:16:51Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-01-17T18:41:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ad6bca92a87e72dc7e5572f792463ba33f4da37d'/>
<id>urn:sha1:ad6bca92a87e72dc7e5572f792463ba33f4da37d</id>
<content type='text'>
The array fields opt-out heuristic failed to account for sized arrays.

Note that we keep relying on db_type as opposed to performing an ArrayField
instance check against the column's field as there could be other
implementations of model fields that use Postgres arrays to store the
optimization must be disabled for all of them.

Refs #35936.

Thanks Claude Paroz for the report and test.

Backport of 22fc151bb86a553d84c62d7effd289356e9b6c6c from main.
</content>
</entry>
<entry>
<title>Fixed #35936 -- Used unnest for bulk inserts on Postgres when possible.</title>
<updated>2024-12-11T12:56:18Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-11-17T05:30:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a16eedcf9c69d8a11d94cac1811018c5b996d491'/>
<id>urn:sha1:a16eedcf9c69d8a11d94cac1811018c5b996d491</id>
<content type='text'>
This should make bulk_create significantly faster on Postgres when provided
only literal values.

Thanks James Sewell for writing about this technique, Tom Forbes for
validating the performance benefits, David Sanders and Mariusz Felisiak
for the review.
</content>
</entry>
</feed>
