| Age | Commit message (Collapse) | Author |
|
While we provide a `cursor_factory` based on the value of the
`server_side_bindings` option to `psycopg.Connection` it is ignored by
the `cursor` method when `name` is specified for `QuerySet.iterator()`
usage and it causes the usage of `psycopg.ServerCursor` which performs
server-side bindings.
Since the ORM doesn't generates SQL that is suitable for server-side
bindings when dealing with parametrized expressions a specialized cursor
must be used to allow server-side cursors to be used with client-side
bindings.
Thanks Richard Ebeling for the report.
Thanks Florian Apolloner and Daniele Varrazzo for reviews.
|
|
Oracle 21c introduced support for primivites in JSON fields that
caused changes in handling them by JSON_QUERY/JSON_VALUE functions.
|
|
|
|
|
|
https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application-development.html#GUID-4EB70EB9-4EE3-4FE2-99C4-86F7AAC60F12
|
|
https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application-development.html#GUID-CE5F8EED-934D-458D-B81C-6C8D617F31A2
|
|
As this isn't enabled by default and would be unsafe to enforce, just
add a comment to note that this has to stay disabled.
https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/application-development.html#GUID-EDDF041F-C10D-4334-838A-706227D7BFE0
|
|
|
|
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.
|
|
unique constraint on the same fields.
|
|
2.0.0.
|
|
Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7.
Thanks Marcin for the report.
|
|
on MySQL.
Empty string defaults are redundant on MySQL and prevent use of
ALGORITHM=INSTANT.
|
|
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.
|
|
|
|
Regression in 595a2abb58e04caa4d55fb2589bb80fb2a8fdfa1.
|
|
on SQLite.
Thanks Юрий for the report.
Regression in 78f163a4fb3937aca2e71786fbdd51a0ef39629e.
|
|
functools.lru_cache().
It turns out that `functools._lru_cache_wrapper` is only a class when
CPython's _functools C module provides it, otherwise it is a function.
PyPy also provides it as a function.
|
|
prefetch_related() cache.
|
|
MariaDB with ONLY_FULL_GROUP_BY sql mode.
Regression in 041551d716b69ee7c81199eee86a2d10a72e15ab.
|
|
Follow up to b0ec87b8578147be4357c90eabcd2b916c780810.
|
|
|
|
|
|
Co-authored-by: Parth Verma <parth.verma@gmail.com>
|
|
classes.
|
|
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.
|
|
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.t
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
|
|
|
|
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.
|
|
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
|
|
This is a long standing bug in bc91f27a86090b4c688b56cd4e37f95eebe6e969
that began manifesting in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
|
|
OperationTests.test_alter_field_change_nullable_to_decimal_database_default_not_null on Oracle.
|
|
SQLite.
CAST() must be wrapped in parentheses to be recognized as an expression on SQLite.
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3.
|
|
CockroachDB and Snowflake don't support it.
|
|
|