| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-08-31 | [3.1.x] 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. Backport of f6405c0b8ef7aff513b105c1da68407a881a3671 from master | |||
| 2020-08-11 | [3.1.x] Fixed #31866 -- Fixed locking proxy models in ↵ | Daniel Hillier | |
| QuerySet.select_for_update(of=()). Backport of 60626162f76f26d32a38d18151700cb041201fb3 from master | |||
| 2020-06-10 | [3.1.x] Fixed #31657 -- Fixed ordering by attnames of self-referential ↵ | Hasan Ramezani | |
| ForeignKeys. Backport of 037a624120b676858be4b93c4d0adda45916fd2a from master | |||
| 2020-05-26 | [3.1.x] Fixed #31614 -- Fixed aliases ordering by OrderBy() expressions of ↵ | Laurent Tramoy | |
| combined queryset. Backport of 2aac176e86204785f0f2ec4838049d8fed70870e from master | |||
| 2020-05-25 | [3.1.x] Fixed #31624 -- Avoided subquery usage on QuerySet.all().delete(). | Simon Charette | |
| Thanks Adam Johnson for the report. Regression in 7acef095d73322f45dcceb99afa1a4e50b520479. Backport of 972000420e08703dd4981466ff67adcd5a61ad4b from master | |||
| 2020-05-14 | [3.1.x] Fixed #31584 -- Fixed crash when chaining values()/values_list() ↵ | Mariusz Felisiak | |
| after 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. Backport of 3a941230c85b2702a5e1cd97e17251ce21057efa from master | |||
| 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> | |||
| 2019-12-02 | Fixed #30953 -- Made select_for_update() lock queryset's model when using ↵ | Mariusz Felisiak | |
| "self" with multi-table inheritance. Thanks Abhijeet Viswa for the report and initial patch. | |||
| 2019-11-18 | Replaced QueryWrapper single usage with RawSQL. | Simon Charette | |
| 2019-10-24 | Fixed #23576 -- Implemented multi-alias fast-path deletion in MySQL backend. | Simon Charette | |
| This required moving the entirety of DELETE SQL generation to the compiler where it should have been in the first place and implementing a specialized compiler on MySQL/MariaDB. The MySQL compiler relies on the "DELETE table FROM table JOIN" syntax for queries spanning over multiple tables. | |||
| 2019-10-11 | Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations. | Hasan Ramezani | |
| 2019-10-11 | Refs #30854 -- Moved local_setter() outside the loop in ↵ | Hasan Ramezani | |
| SQLCompiler.get_related_selections(). | |||
| 2019-09-24 | Refs #29444 -- Removed redundant ↵ | Mariusz Felisiak | |
| DatabaseFeatures.can_return_multiple_columns_from_insert. Unnecessary since b31e63879eb5d9717e9f890401f7222e4f00c910. | |||
| 2019-09-24 | Fixed #29444 -- Allowed returning multiple fields from INSERT statements on ↵ | Johannes Hoppe | |
| Oracle. | |||
| 2019-09-10 | Refs #14357 -- Made Meta.ordering not affect GROUP BY queries. | Mariusz Felisiak | |
| Per deprecation timeline. | |||
| 2019-09-09 | Fixed #28107 -- Added ↵ | Vojtech Bocek | |
| DatabaseFeatures.allows_group_by_selected_pks_on_model() to allow enabling optimization for unmanaged models. | |||
| 2019-09-09 | Refs #29444 -- Allowed returning multiple fields from INSERT statements on ↵ | Johannes Hoppe | |
| PostgreSQL. Thanks Florian Apolloner, Tim Graham, Simon Charette, Nick Pope, and Mariusz Felisiak for reviews. | |||
| 2019-08-13 | Refs #25367 -- Moved select_format hook to BaseExpression. | Simon Charette | |
| This will expose an intermediary hook for expressions that need special formatting when used in a SELECT clause. | |||
| 2019-07-11 | Refs #30557 -- Fixed crash of ordering by ptr fields when Meta.ordering ↵ | Mariusz Felisiak | |
| contains F() expressions. Thanks Can Sarıgöl for the report. Follow up to 8c5f9906c56ac72fc4f13218dd90bdf9bc8a248b. | |||
| 2019-07-11 | Fixed #30557 -- Fixed crash of ordering by ptr fields when Meta.ordering ↵ | Hasan Ramezani | |
| contains expressions. | |||
| 2019-07-08 | Refs #29444 -- Added support for fetching a returned non-integer insert ↵ | Johannes Hoppe | |
| values on Oracle. This is currently not actively used, since the ORM will ask the SQL compiler to only return auto fields. | |||
| 2019-06-19 | Fixed #29834 -- Fixed column mismatch crash with ↵ | can | |
| QuerySet.values()/values_list() and order_by() on combined querysets. | |||
| 2019-06-19 | Fixed #30572 -- Prevented values()/values_list() on combined queryset from ↵ | Mariusz Felisiak | |
| mutating the list of columns in querysets. | |||
| 2019-05-31 | Fixed #26192 -- Fixed crash of ordering by constants on PostgreSQL. | Mariusz Felisiak | |
| Thanks Simon Charette for the review. | |||
| 2019-05-23 | Fixed #30501 -- Preventing QuerySet.reverse() from mutating expressions in ↵ | Mariusz Felisiak | |
| QuerySet.order_by and Meta.ordering. | |||
| 2019-05-18 | Fixed #30463 -- Fixed crash of deprecation message when Meta.ordering ↵ | ruchit2801 | |
| contains expressions. Regression in 1b1f64ee5a78cc217fead52cbae23114502cf564. | |||
| 2019-05-03 | Fixed #29692 -- Fixed removing ordering parts for multiline RawSQL expressions. | can | |
| 2019-04-23 | Fixed #29810 -- Fixed crash of select_related() on FilteredRelation with ↵ | can | |
| empty result. | |||
| 2019-04-18 | Fixed #30335, #29139 -- Fixed crash when ordering or aggregating over a ↵ | can | |
| nested JSONField key transform. | |||
| 2019-03-21 | Refs #27149, #29542 -- Simplified subquery parentheses wrapping logic. | Simon Charette | |
| 2019-02-14 | Fixed #29619 -- Added field names to some FieldErrors. | Hasan Ramezani | |
| 2019-02-06 | Fixed #30159 -- Removed unneeded use of OrderedDict. | Nick Pope | |
| Dicts preserve order since Python 3.6. | |||
| 2019-01-30 | Refs #29444 -- Renamed DatabaseFeatures.can_return_id* to be generic for ↵ | Johannes Hoppe | |
| other columns. | |||
| 2019-01-17 | Refs #28370 -- Removed support for the context arg of Field.from_db_value() ↵ | Tim Graham | |
| and Expression.convert_value(). Per deprecation timeline. | |||
| 2019-01-14 | Fixed #30093 -- Fixed ordering of combined queryset ordered by F expressions. | Sergey Fedoseev | |
| 2018-12-06 | Fixed #29932 -- Fixed combining compound queries with sub-compound queries ↵ | Mariusz Felisiak | |
| on SQLite and Oracle. | |||
| 2018-09-13 | Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries. | Ramiro Morales | |
| Thanks Ramiro Morales for contributing to the patch. | |||
| 2018-08-29 | Fixed #29694 -- Fixed column mismatch crash with QuerySet.values() or ↵ | Mariusz Felisiak | |
| values_list() after combining querysets with extra() with union(), difference(), or intersection(). Regression in 0b66c3b442875627fa6daef4ac1e90900d74290b. | |||
| 2018-08-03 | Fixed #28668 -- Allowed QuerySet.bulk_create() to ignore insert conflicts. | Tom | |
| 2018-07-25 | Refs #29563 -- Fixed SQLCompiler.execute_sql() to respect ↵ | Andrew Brown | |
| DatabaseFeatures.can_use_chunked_reads. | |||
| 2018-07-14 | Fixed #29542 -- Fixed invalid SQL if a Subquery from the HAVING clause is ↵ | Mariusz Felisiak | |
| used in the GROUP BY clause. Thanks Tim Graham for the review. | |||
| 2018-07-10 | Deleted unused variable in SQLCompiler.get_related_selections(). | Mads Jensen | |
| Unused since 01d440fa1e6b5c62acfa8b3fde43dfa1505f93c6. | |||
| 2018-05-27 | Fixed #29416 -- Removed unnecesary subquery from GROUP BY clause on MySQL ↵ | Mariusz Felisiak | |
| when using a RawSQL annotation. Regression in 1d070d027c218285b66c0bde8079034b33a87f11. | |||
