| Age | Commit message (Collapse) | Author |
|
https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application-development.html#GUID-CE5F8EED-934D-458D-B81C-6C8D617F31A2
|
|
|
|
Co-authored-by: Priyansh Saxena <askpriyansh@gmail.com>
Co-authored-by: Niclas Olofsson <n@niclasolofsson.se>
Co-authored-by: David Smith <smithdc@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: Abhinav Yadav <abhinav.sny.2002@gmail.com>
|
|
This avoids cast of Window(order_by) for DecimalFields on SQLite.
This was achieved by piggy-backing ExpressionList which already
implements a specialized as_sqlite() method to override the inherited
behaviour of Func through SQLiteNumericMixin.
Refs #31723.
Thanks Quoates for the report.
|
|
Thanks Mark Zorn for the report.
Regression in 59f475470494ce5b8cbff816b1e5dafcbd10a3a3.
|
|
Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7.
Thanks Marcin for the report.
|
|
Thanks Eugene Morozov and Ben Nace for the reports.
|
|
as output_field on Oracle < 23c.
Thanks Václav Řehák for the report.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
|
|
ForeignKeys.
Thanks Deb Kumar Das for the report.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
|
|
GeneratedField.output_field with backend converters.
Regression in d9de74141e8a920940f1b91ed0a3ccb835b55729.
This is a long standing issue, however it caused a crash of
GeneratedFields for all output fields that have backend-specific
converters when the RETURNING clause is not supported
(MySQL and SQLite < 3.35).
That's why severity was exacerbated.
|
|
prefetch_related() cache.
|
|
Follow up to b0ec87b8578147be4357c90eabcd2b916c780810.
|
|
|
|
|
|
Co-authored-by: Parth Verma <parth.verma@gmail.com>
|
|
annotations.
Regression in f387d024fc75569d2a4a338bfda76cc2f328f627.
Just like `OrderByList` the `ExpressionList` expression used to wrap
`Window.partition_by` must implement `get_group_by_cols` to ensure the
necessary grouping when mixing window expressions with aggregate
annotations is performed against the partition members and not the
partition expression itself.
This is necessary because while `partition_by` is implemented as
a source expression of `Window` it's actually a fragment of the WINDOW
expression at the SQL level and thus it should result in a group by its
members and not the sum of them.
Thanks ElRoberto538 for the report.
|
|
are not populated.
Thanks Paolo Melchiorre for the report.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
|
|
While no code is directly exercising get_refs in a way that triggers
a crash some expressions such as Window stash None in source_expressions
which can obscure the origin of some bugs.
Handling None values like we do in other source_expression traversing
methods such as .contains_aggregates ensures we don't run into surprises
in the future where get_refs() might be used for a different purpose.
|
|
|
|
While this isn't a regression it's clear that similar logic should be
applied when dealing with lists of expressions passed as a lookup value.
|
|
Adjustments made to solve_lookup_type to defer the resolving of
references for summarized aggregates failed to account for similar
requirements for lookup values which can also reference annotations
through Aggregate.filter.
Regression in b181cae2e3697b2e53b5b67ac67e59f3b05a6f0d.
Refs #25307.
Thanks Sergey Nesterenko for the report.
|
|
|
|
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
|
|
with string Value()."
This reverts commit 8b1acc0440418ac8f45ba48e2dfcf5126c83341b.
|
|
This also avoids casting string based expressions in Concat() on
PostgreSQL.
|
|
3.39.
On SQLite < 3.39, this forces a GROUP BY clause with a HAVING clause
when no grouping is specified.
Co-authored-by: Simon Charette <charette.s@gmail.com>
|
|
string Value().
This should allow smarter output_field inferring in functions dealing
with text expressions.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
|
|
SQLite.
CAST() must be wrapped in parentheses to be recognized as an expression on SQLite.
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
|
|
|
|
negative integer end.
|
|
|
|
Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com>
|
|
|
|
expressions containing subqueries.
Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7,
complements e5c844d6f2a4ac6ae674d741b5f1fa2a688cedf4.
Refs #28477, #34551.
Thanks Haldun Komsuoglu for the report.
|
|
Thanks Matt Westcott for the report.
Regression in cac94dd8aa2fb49cd2e06b5b37cf039257284bb0.
|
|
empty queryset.
Thanks Tobias Bengfort for the report.
|
|
output_field with params.
|
|
Co-authored-by: Simon Charette <charette.s@gmail.com>
|
|
Regression in 40b8a6174f001a310aa33f7880db0efeeb04d4c4.
|
|
Thanks Alex Vandiver for the report.
Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca.
|
|
|
|
JSONField & co.
Per deprecation timeline.
|
|
|
|
Co-authored-by: revanthgss <revanthgss@almabase.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
|
|
|
|
Thanks Simon Charette for the implementation idea.
|
|
|
|
- use @enum.property
https://docs.python.org/3/library/enum.html#enum.property
- use @enum.nonmember
Using @property on an enum class does not yield the expected result.
do_not_call_in_templates attribute works because a @property instance
is truthy. We can make this a literal True value as expected by using
@enum.nonmember in Python 3.11+.
https://docs.python.org/3/library/enum.html#enum.nonmember
- used enum.IntEnum/StrEnum
Python 3.11+ has ReprEnum which uses int.__str__() and str.__str__()
for __str__() in the `IntEnum` and `StrEnum` subclasses. We can emulate
that for Python < 3.11.
https://docs.python.org/3/library/enum.html#enum.ReprEnum
https://docs.python.org/3/library/enum.html#enum.IntEnum
https://docs.python.org/3/library/enum.html#enum.StrEnum
|
|
Now that Python 3.10 is the minimum supported version, we can decorate
_generate_next_value_() with @staticmethod. It wasn't possible before
as Python < 3.10 does not support calling static methods direct from
the class body.
https://docs.python.org/3/library/enum.html#enum.Enum._generate_next_value_
|
|
This also uses enum.EnumType for Python 3.11+ as Python 3.11 renamed
EnumMeta to EnumType. While the former is still available as an alias
of the latter for now, let's prefer the canonical name for this.
Check out https://docs.python.org/3/library/enum.html#enum.EnumType
|