<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/db/models/sql/query.py, branch 3.2a1</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=3.2a1</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=3.2a1'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2021-01-05T09:37:11Z</updated>
<entry>
<title>Fixed #32231 -- Allowed passing None params to QuerySet.raw().</title>
<updated>2021-01-05T09:37:11Z</updated>
<author>
<name>Alexander Lyabah</name>
<email>a.lyabah@checkio.org</email>
</author>
<published>2020-11-28T16:08:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=415f50298f97fb17f841a9df38d995ccf347dfcc'/>
<id>urn:sha1:415f50298f97fb17f841a9df38d995ccf347dfcc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #25534, Fixed #31639 -- Added support for transform references in expressions.</title>
<updated>2020-11-27T19:42:04Z</updated>
<author>
<name>Ian Foote</name>
<email>python@ian.feete.org</email>
</author>
<published>2020-11-15T22:43:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=8b040e3cbbb2e81420e777afc3ca48a1c8f4dd5a'/>
<id>urn:sha1:8b040e3cbbb2e81420e777afc3ca48a1c8f4dd5a</id>
<content type='text'>
Thanks Mariusz Felisiak and Simon Charette for reviews.
</content>
</entry>
<entry>
<title>Fixed #31507 -- Added QuerySet.exists() optimizations to compound queries.</title>
<updated>2020-11-16T19:29:13Z</updated>
<author>
<name>David-Wobrock</name>
<email>david.wobrock@gmail.com</email>
</author>
<published>2020-11-11T22:16:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ba42569d5c01b58b2999e393f097b530e538ec41'/>
<id>urn:sha1:ba42569d5c01b58b2999e393f097b530e538ec41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #31496 -- Fixed QuerySet.values()/values_list() crash on combined querysets ordered by annotations.</title>
<updated>2020-11-14T09:22:09Z</updated>
<author>
<name>David-Wobrock</name>
<email>david.wobrock@gmail.com</email>
</author>
<published>2020-10-10T15:41:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=464a4c0c59277056b5d3c1132ac1b4c6085aee08'/>
<id>urn:sha1:464a4c0c59277056b5d3c1132ac1b4c6085aee08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #31910 -- Fixed crash of GIS aggregations over subqueries.</title>
<updated>2020-11-04T08:54:58Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2020-11-03T21:50:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=c2d4926702045e342a668057f0a758eec9db9436'/>
<id>urn:sha1:c2d4926702045e342a668057f0a758eec9db9436</id>
<content type='text'>
Regression was introduced by fff5186 but was due a long standing issue.

AggregateQuery was abusing Query.subquery: bool by stashing its
compiled inner query's SQL for later use in its compiler which made
select_format checks for Query.subquery wrongly assume the provide
query was a subquery.

This patch prevents that from happening by using a dedicated
inner_query attribute which is compiled at a later time by
SQLAggregateCompiler.

Moving the inner query's compilation to SQLAggregateCompiler.compile
had the side effect of addressing a long standing issue with
aggregation subquery pushdown which prevented converters from being
run. This is now fixed as the aggregation_regress adjustments
demonstrate.

Refs #25367.

Thanks Eran Keydar for the report.
</content>
</entry>
<entry>
<title>Fixed #32152 -- Fixed grouping by subquery aliases.</title>
<updated>2020-10-29T08:56:09Z</updated>
<author>
<name>Christian Klus</name>
<email>christianklus@gmail.com</email>
</author>
<published>2020-10-27T18:13:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=4ac2d4fa42e1659f328c35b6b8d4761b3419c11a'/>
<id>urn:sha1:4ac2d4fa42e1659f328c35b6b8d4761b3419c11a</id>
<content type='text'>
Regression in 42c08ee46539ef44f8658ebb1cbefb408e0d03fe.

Thanks Simon Charette for the review.
</content>
</entry>
<entry>
<title>Fixed #32143 -- Used EXISTS to exclude multi-valued relationships.</title>
<updated>2020-10-28T06:22:00Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2020-10-25T20:04:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=8593e162c9cb63a6c0b06daf045bc1c21eb4d7c1'/>
<id>urn:sha1:8593e162c9cb63a6c0b06daf045bc1c21eb4d7c1</id>
<content type='text'>
As mentioned in the pre-existing split_exclude() docstring EXISTS is
easier to optimize for query planers and circumvents the IN (NULL)
handling issue.
</content>
</entry>
<entry>
<title>Refs #27149 -- Fixed sql.Query identity.</title>
<updated>2020-10-28T06:21:53Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2020-10-25T21:41:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=bbf141bcdc31f1324048af9233583a523ac54c94'/>
<id>urn:sha1:bbf141bcdc31f1324048af9233583a523ac54c94</id>
<content type='text'>
By making Query subclass BaseExpression in
35431298226165986ad07e91f9d3aca721ff38ec the former defined it's
identity based off _construct_args which is not appropriate.
</content>
</entry>
<entry>
<title>Fixed #32134 -- Fixed crash of __range lookup with namedtuple.</title>
<updated>2020-10-23T16:01:31Z</updated>
<author>
<name>Adam Johnson</name>
<email>me@adamj.eu</email>
</author>
<published>2020-10-23T09:33:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a56586eafeb6d1212bc291d1a2e7d33c87edbc33'/>
<id>urn:sha1:a56586eafeb6d1212bc291d1a2e7d33c87edbc33</id>
<content type='text'>
Regression in 8be79984dce7d819879a6e594ca69c5f95a08378.

Thanks Gordon Wrigley for the report.
</content>
</entry>
<entry>
<title>Fixed #31792 -- Made Exists() reuse QuerySet.exists() optimizations.</title>
<updated>2020-08-13T12:10:36Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2020-08-13T03:16:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=51297a92324976a704279b567ec4f80bb92d7b60'/>
<id>urn:sha1:51297a92324976a704279b567ec4f80bb92d7b60</id>
<content type='text'>
The latter is already optimized to limit the number of results, avoid
selecting unnecessary fields, and drop ordering if possible without
altering the semantic of the query.
</content>
</entry>
</feed>
