| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-06-27 | [4.1.x] Fixed #33796 -- Fixed ordered combined queryset crash when used in ↵ | Mariusz Felisiak | |
| subquery on PostgreSQL and MySQL. Thanks Shai Berger for the report. Regression in 30a01441347d5a2146af2944b29778fa0834d4be. Backport of 44ffd8d06fabc07d8333f31439e8dd39ea87329b from main | |||
| 2022-05-12 | Fixed #29538 -- Fixed crash of ordering by related fields when Meta.ordering ↵ | Ed Rivas | |
| contains expressions. Thanks Simon Charette for the review. | |||
| 2022-04-19 | Refs #32226 -- Fixed JSON format of QuerySet.explain() on PostgreSQL when ↵ | Mariusz Felisiak | |
| format is uppercased. Follow up to aba9c2de669dcc0278c7ffde7981be91801be00b. | |||
| 2022-04-14 | Made select_for_update() don't raise TransactionManagementError on databases ↵ | Mariusz Felisiak | |
| that don't support transactions. | |||
| 2022-04-13 | Removed unnecessary tuple call in SQLInsertCompiler. | David Smith | |
| 2022-04-07 | Fixed #33618 -- Fixed MTI updates outside of primary key chain. | Simon Charette | |
| 2022-03-31 | Removed unnecessary Query.get_loaded_field_names_cb() and ↵ | Mariusz Felisiak | |
| Query.deferred_to_data()'s callback argument. | |||
| 2022-03-31 | Refs #24020 -- Removed redundant Query.get_loaded_field_names(). | Mariusz Felisiak | |
| get_loaded_field_names() is no longer called in multiple places (see 0c7633178fa9410f102e4708cef979b873bccb76) and it's redundant with SQLCompiler.deferred_to_columns(). | |||
| 2022-03-16 | Refs #30581 -- Allowed sql.Query to be used without model. | Gagaro | |
| 2022-02-07 | Refs #33476 -- Refactored code to strictly match 88 characters line length. | Mariusz Felisiak | |
| 2022-02-07 | Refs #33476 -- Reformatted code with Black. | django-bot | |
| 2022-01-19 | Fixed #31685 -- Added support for updating conflicts to QuerySet.bulk_create(). | sean_c_hsu | |
| Thanks Florian Apolloner, Chris Jerdonek, Hannes Ljungberg, Nick Pope, and Mariusz Felisiak for reviews. | |||
| 2022-01-17 | Fixed #29338 -- Allowed using combined queryset in Subquery. | Mariusz Felisiak | |
| Thanks Eugene Kovalev for the initial patch, Simon Charette for the review, and Chetan Khanna for help. | |||
| 2021-11-23 | Fixed #33309 -- Fixed QuerySet.distinct() crash on mixed case annotation. | arsalan.ghassemi | |
| 2021-11-19 | Refs #24121 -- Added __repr__() to BaseDatabaseWrapper, JoinPromoter, and ↵ | Jonny Park | |
| SQLCompiler. | |||
| 2021-11-03 | Fixed #33260 -- Fixed crash when chaining QuerySet.exists() after ↵ | Hannes Ljungberg | |
| select_for_update(of=()). | |||
| 2021-09-29 | Fixed #33018 -- Fixed annotations with empty queryset. | David Wobrock | |
| Thanks Simon Charette for the review and implementation idea. | |||
| 2021-09-17 | Refs #27624 -- Changed Query.explain_info to namedtuple. | Adam Johnson | |
| 2021-07-28 | Refs #32946 -- Changed Query.add_filter() to take two arguments. | Keryn Knight | |
| 2021-07-22 | Fixed #32951 -- Removed Query.where_class & co. | Nick Pope | |
| Unused since 3caf957ed5eaa831a485abcb89f27266dbf3e82b. | |||
| 2021-07-16 | Prevented SQLCompiler.execute_sql() from closing cursor twice. | Nick Pope | |
| cursor_iter() helper calls cursor.close() in a finally block. | |||
| 2021-07-05 | Fixed #32226 -- Fixed JSON format of QuerySet.explain() on PostgreSQL. | Wu Haotian | |
| 2021-07-02 | Fixed #26430 -- Fixed coalesced aggregation of empty result sets. | Simon Charette | |
| Disable the EmptyResultSet optimization when performing aggregation as it might interfere with coalescence. | |||
| 2021-06-30 | Refs #32786 -- Made Query.clear_ordering() not to cause side effects by default. | Hannes Ljungberg | |
| 2021-05-04 | Fixed #32693 -- Quoted and lowercased generated column aliases. | Hasan Ramezani | |
| 2021-04-27 | Refs #32682 -- Fixed QuerySet.delete() crash on querysets with ↵ | Mariusz Felisiak | |
| self-referential subqueries on MySQL. | |||
| 2021-04-21 | Fixed #32662 -- Refactored a generator out of SQLCompiler.get_order_by(). | Chris Jerdonek | |
| This also renames the `asc` variable to `default_order`, markes the `desc` variable as unused, fixes a typo in SQLCompiler.get_order_by() docstring, and reorders some blocks in SQLCompiler._order_by_pairs(). | |||
| 2021-04-12 | Fixed #32627 -- Fixed QuerySet.values()/values_list() crash on combined ↵ | Iuri de Silvio | |
| querysets ordered by unannotated columns. | |||
| 2021-04-07 | Fixed #32442 -- Used converters on returning fields from INSERT statements. | Adam Johnson | |
| 2021-03-16 | Fixed #32546 -- Avoided Meta.ordering columns in GROUP BY clauses. | Yuri Konotopov | |
| Follow up to 0ddb4ebf7bfcc4730c80a772dd146a49ef6895f6. | |||
| 2020-11-14 | Fixed #31496 -- Fixed QuerySet.values()/values_list() crash on combined ↵ | David-Wobrock | |
| querysets ordered by annotations. | |||
| 2020-11-04 | Fixed #31910 -- Fixed crash of GIS aggregations over subqueries. | Simon Charette | |
| 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. | |||
| 2020-10-02 | Fixed #32060 -- Added Random database function. | Nick Pope | |
| 2020-09-17 | Fixed #31916 -- Fixed combined queryset crash when combining with ordered ↵ | Hasan Ramezani | |
| combined querysets. | |||
| 2020-08-31 | Fixed #31965 -- Adjusted multi-table fast-deletion on MySQL/MariaDB. | Simon Charette | |
| The optimization introduced in 7acef095d73 did not properly handle deletion involving filters against aggregate annotations. It initially was surfaced by a MariaDB test failure but misattributed to an undocumented change in behavior that resulted in the systemic generation of poorly performing database queries in 5b83bae031. Thanks Anton Plotkin for the report. Refs #23576. | |||
| 2020-08-13 | Fixed #31792 -- Made Exists() reuse QuerySet.exists() optimizations. | Simon Charette | |
| 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. | |||
| 2020-08-11 | Fixed #31866 -- Fixed locking proxy models in QuerySet.select_for_update(of=()). | Daniel Hillier | |
| 2020-06-10 | Fixed #31657 -- Fixed ordering by attnames of self-referential ForeignKeys. | Hasan Ramezani | |
| 2020-05-26 | Fixed #31614 -- Fixed aliases ordering by OrderBy() expressions of combined ↵ | Laurent Tramoy | |
| queryset. | |||
| 2020-05-25 | Fixed #31624 -- Avoided subquery usage on QuerySet.all().delete(). | Simon Charette | |
| Thanks Adam Johnson for the report. Regression in 7acef095d73322f45dcceb99afa1a4e50b520479. | |||
| 2020-05-21 | Fixed #30375 -- Added FOR NO KEY UPDATE support to ↵ | Manuel Weitzman | |
| QuerySet.select_for_update() on PostgreSQL. | |||
| 2020-05-14 | Fixed #31584 -- Fixed crash when chaining values()/values_list() after ↵ | Mariusz Felisiak | |
| Exists() annotation and aggregation on Oracle. Oracle requires the EXISTS expression to be wrapped in a CASE WHEN in the GROUP BY clause. Regression in efa1908f662c19038a944129c81462485c4a9fe8. | |||
| 2020-05-11 | Refs #30116 -- Simplified regex match group access with Match.__getitem__(). | Jon Dufresne | |
| The method has been available since Python 3.6. The shorter syntax is also marginally faster. | |||
| 2020-04-22 | Avoided unnecessary recompilation of ordering clause regex in SQLCompiler. | Adam Johnson | |
| 2020-03-31 | Refs #31403 -- Made SQLInsertCompiler.execute_sql() always return an ↵ | Adam Johnson | |
| iterable of rows. List of tuples. | |||
| 2020-03-19 | Fixed #31285 -- Fixed inherited Meta.ordering of "-pk". | Jon Dufresne | |
| 2020-02-11 | Fixed #31246 -- Fixed locking models in QuerySet.select_for_update(of=()) ↵ | Abhijeet Viswa | |
| for related fields and parent link fields with multi-table inheritance. Partly regression in 0107e3d1058f653f66032f7fd3a0bd61e96bf782. | |||
| 2020-02-04 | Simplified imports from django.db and django.contrib.gis.db. | Nick Pope | |
| 2020-02-03 | Fixed #31217 -- Made QuerySet.values()/values_list() group by not selected ↵ | Mariusz Felisiak | |
| annotations with aggregations used in order_by(). Regression in 59b4e99dd00b9c36d56055b889f96885995e4240. Thanks Jon Dufresne for the report and Simon Charette for the review. | |||
| 2019-12-19 | Fixed #31094 -- Included columns referenced by subqueries in GROUP BY on ↵ | Simon Charette | |
| aggregations. Thanks Johannes Hoppe for the report. Regression in fb3f034f1c63160c0ff13c609acd01c18be12f80. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
