| Age | Commit message (Collapse) | Author |
|
annotation.
Regression in 0f843fdd5b9b2f2307148465cd60f4e1b2befbb4.
|
|
Regression in fb3f034f1c63160c0ff13c609acd01c18be12f80.
Thanks Sigurd Ljødal for the report.
|
|
Clearing the SELECT clause in Query.has_results was orphaning GROUP BY
references to it.
Thanks Thierry Bastian for the report and Baptiste Mispelon for the
bisect.
Regression in fb3f034f1c63160c0ff13c609acd01c18be12f80.
|
|
aggregations.
Thanks Johannes Hoppe for the report.
Regression in fb3f034f1c63160c0ff13c609acd01c18be12f80.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
|
|
inspect.getcallargs() was deprecated in Python 3.5 and the Signature
API (PEP 362) has better support for decorated functions (by default,
it follows the __wrapped__ attribute set by functools.wraps for
example).
|
|
|
|
outside of queryset filters.
Regression in 4edad1ddf6203326e0be4bdb105beecb0fe454c4.
Thanks utapyngo for the report.
|
|
"self" with multi-table inheritance.
Thanks Abhijeet Viswa for the report and initial patch.
|
|
expressions.
|
|
|
|
|
|
This prevent having to pass simple_col through multiple function calls
by defining whether or not references should be resolved with aliases
at the Query level.
|
|
|
|
values to tuples.
Regression in 8a281aa7fe76a9da2284f943964a9413697cff1f.
|
|
|
|
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.
|
|
|
|
SQLCompiler.get_related_selections().
|
|
EmptyResultSet moved in 46509cf13dbf049f75077981c29ef2c60b5a96ab.
FieldDoesNotExist moved in 8958170755b37ce346ae5257c1000bd936faa3b0.
BoundField and pretty_name moved in 8550161e531a603d57723850fb09c4c9b7ca60b9.
EMPTY_VALUES moved in 471596fc1afcb9c6258d317c619eaf5fd394e797.
BaseRunserverCommand moved in 5c53e30607014163872e89c221b206992a9acfef.
|
|
DatabaseFeatures.can_return_multiple_columns_from_insert.
Unnecessary since b31e63879eb5d9717e9f890401f7222e4f00c910.
|
|
Oracle.
|
|
Thanks Darren Maki for the report.
|
|
Per deprecation timeline.
|
|
DatabaseFeatures.allows_group_by_selected_pks_on_model() to allow enabling optimization for unmanaged models.
|
|
PostgreSQL.
Thanks Florian Apolloner, Tim Graham, Simon Charette, Nick Pope, and
Mariusz Felisiak for reviews.
|
|
OuterRef right hand sides have to be nested, just like F rhs have to,
during the subquery pushdown split_exclude performs to ensure they are
resolved against the outer query aliases.
|
|
This allows using expressions that have an output_field that is a
BooleanField to be used directly in a queryset filters, or in the
When() clauses of a Case() expression.
Thanks Josh Smeaton, Tim Graham, Simon Charette, Mariusz Felisiak, and
Adam Johnson for reviews.
Co-Authored-By: NyanKiyoshi <hello@vanille.bid>
|
|
Made sql.Where resolve lhs of its child nodes. This is necessary to
allow filter lookups against nested subquery expressions to properly
resolve their OuterRefs to Cols.
Thanks Oskar Persson for the simplified test case.
|
|
|
|
This will expose an intermediary hook for expressions that need special
formatting when used in a SELECT clause.
|
|
source expressions is not filterable.
|
|
Previously, we used Query.can_filter() mainly to check if a query is
sliced what was confusing.
|
|
contains F() expressions.
Thanks Can Sarıgöl for the report.
Follow up to 8c5f9906c56ac72fc4f13218dd90bdf9bc8a248b.
|
|
contains expressions.
|
|
values on Oracle.
This is currently not actively used, since the ORM will ask the
SQL compiler to only return auto fields.
|
|
on joined fields.
Co-Authored-By: Simon Charette <charette.s@gmail.com>
|
|
QuerySet.values()/values_list() and order_by() on combined querysets.
|
|
mutating the list of columns in querysets.
|
|
Thanks Simon Charette for the review.
|
|
QuerySet.order_by and Meta.ordering.
|
|
contains expressions.
Regression in 1b1f64ee5a78cc217fead52cbae23114502cf564.
|
|
Using annotated FilteredRelations raised a FieldError when coupled with
exclude(). This is due to not passing filtered relation fields to the
subquery created in split_exclude(). We fixed this issue by passing the
filtered relation data to the newly created subquery.
Secondly, in the case where an INNER JOIN is used in the excluded
subquery, the ORM would trim the filtered relation INNER JOIN in attempt
to simplify the query. This will also remove the ON clause filters
generated by the FilteredRelation. We added logic to not trim the INNER
JOIN if it is from FilteredRelation.
|
|
|
|
condition on Oracle and SQLite.
|
|
empty result.
|
|
nested JSONField key transform.
|
|
subquery errors.
RecursionError was introduced in Python 3.5 and subclasses RuntimeError.
|
|
sys.getrecursionlimit().
This makes sure the test_avoid_infinite_loop_on_too_many_subqueries test
doesn't fail on systems with a non-default recursion limit.
|
|
Thanks Jan Baryła for the detailed report and the reduced test case.
|
|
|