Mariusz Felisiak
39461a83c3
Fixed #29694 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining querysets with extra() with union(), difference(), or intersection().
...
Regression in 0b66c3b442
.
2018-08-29 10:00:15 +02:00
Claude Paroz
50b8493581
Refs #29654 -- Replaced three dots with ellipsis character in output strings.
2018-08-22 09:13:58 -04:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
7eb556a6c2
Removed unused enumerate in django/db/models/sql/datastructures.py.
2018-08-13 18:41:24 -04:00
Tom
f1fbef6cd1
Fixed #28668 -- Allowed QuerySet.bulk_create() to ignore insert conflicts.
2018-08-03 17:40:46 -04:00
luz.paz
97e637a87f
Fixed typos in comments and docs.
2018-08-01 16:09:22 -04:00
Andrew Brown
55810d94d0
Refs #29563 -- Fixed SQLCompiler.execute_sql() to respect DatabaseFeatures.can_use_chunked_reads.
2018-07-25 18:08:57 -04:00
Mariusz Felisiak
a73cf8110e
Removed duplicate words in various comments.
2018-07-18 11:54:15 -04:00
Mariusz Felisiak
dd3b470719
Fixed #29542 -- Fixed invalid SQL if a Subquery from the HAVING clause is used in the GROUP BY clause.
...
Thanks Tim Graham for the review.
2018-07-14 12:03:22 +02:00
Ian Foote
952f05a6db
Fixed #11964 -- Added support for database check constraints.
2018-07-10 15:32:33 -04:00
Mads Jensen
8e4a75e5d5
Deleted unused variable in SQLCompiler.get_related_selections().
...
Unused since 01d440fa1e
.
2018-07-10 09:15:19 -04:00
Mariusz Felisiak
0e64e046a4
Fixed #29530 -- Fixed aliases ordering when chaining annotate() and filter().
2018-07-02 21:09:29 +02:00
Mariusz Felisiak
4ab1f559e8
Fixed #29416 -- Removed unnecesary subquery from GROUP BY clause on MySQL when using a RawSQL annotation.
...
Regression in 1d070d027c
.
2018-05-27 18:25:19 -04:00
Tom
c1c163b427
Fixed #28574 -- Added QuerySet.explain().
2018-04-19 10:52:19 -04:00
Mariusz Felisiak
0b66c3b442
Fixed #29286 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection().
...
Regression in a0c03c62a8
.
Thanks Tim Graham and Carlton Gibson for reviews.
2018-04-13 12:15:52 +02:00
Dmitry Dygalo
c979c0a2b8
Fixed #25718 -- Made a JSONField lookup value of None match keys that have a null value.
2018-04-04 10:53:46 -04:00
Astral
a0c03c62a8
Fixed #29229 -- Fixed column mismatch crash when combining two annotated values_list() querysets with union(), difference(), or intersection().
...
Regression in 7316720603821ebb64dfe8fa592ba6edcef5f3e.
2018-03-19 21:05:43 -04:00
Matthew Wilkes
2162f0983d
Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields).
2018-02-10 19:08:55 -05:00
Simon Charette
d61fe24601
Fixed #29108 -- Fixed crash in aggregation of distinct+ordered+sliced querysets.
...
Regression in 4acae21846
.
Thanks Stephen Brooks for the report.
2018-02-08 09:59:25 -05:00
Raymond Hettinger
aba9763b51
Refs #28814 -- Imported from collections.abc to fix Python 3.7 deprecation warnings.
...
https://bugs.python.org/issue25988
2018-02-05 11:42:47 -05:00
Mariusz Felisiak
385e6fb352
Removed Query.split_exclude()'s unused prefix argument.
...
Unused since b4492a8ca4
.
2018-01-12 19:06:15 -05:00
Дилян Палаузов
a38ae914d8
Fixed #28996 -- Simplified some boolean constructs and removed trivial continue statements.
2018-01-12 12:44:50 -05:00
Дилян Палаузов
d7b2aa24f7
Fixed #28982 -- Simplified code with and/or.
2018-01-03 20:12:23 -05:00
Robin Ramael
fbf647287e
Fixed #28811 -- Fixed crash when combining regular and group by annotations.
2018-01-03 08:24:16 -05:00
Ran Benita
c21f158295
Fixed #28944 -- Fixed crash when chaining values()/values_list() after QuerySet.select_for_update(of=()).
2017-12-26 11:41:17 -05:00
Sergey Fedoseev
10bfa876be
Refs #27985 -- Reallowed using __exact=None as an alias for __isnull=True if a custom lookup class with lookup_name != None is registered as the exact lookup.
...
Regression in 58da81a5a3
and prerequisite
for refs #28896 .
2017-12-12 17:11:58 -10:00
Nick Pope
d13a9e44de
Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.
2017-12-11 07:08:45 -05:00
Simon Charette
b43acf22df
Refs #27849 -- Removed empty Q() hack in filtered Aggregate.as_sql().
...
This required allowing WhereNode to be provided as When(condition).
This was made possible by cf12257db2
.
2017-12-08 10:59:49 -05:00
Tim Graham
2b81faab25
Fixed #28906 -- Removed unnecessary bool() calls.
2017-12-07 17:13:07 -05:00
Tim Graham
a862af3839
Fixed #28893 -- Removed unnecessary dict.items() calls.
2017-12-06 17:17:59 -05:00
Дилян Палаузов
d2afa5eb23
Fixed #28860 -- Removed unnecessary len() calls.
2017-12-04 10:35:23 -05:00
Sergey Fedoseev
cf12257db2
Fixed #28863 -- Fixed filter on annotation that contains Q.
2017-12-01 21:48:49 -05:00
Yan Mitrofanov
54e5c4a00e
Fixed #28820 -- Eliminated an extra query with QuerySet.update() on proxy models.
2017-11-21 12:11:47 -05:00
Dražen Odobašić
d97f026a7a
Fixed #28817 -- Made QuerySet.iterator() use server-side cursors after values() and values_list().
2017-11-21 10:33:56 -05:00
Krzysztof Nazarewski
244cc40155
Fixed #26184 -- Allowed using any lookups in ModelAdmin.search_fields.
...
Thanks Krzysztof Nazarewski for the initial patch.
2017-11-18 19:33:52 -05:00
Дилян Палаузов
23bf4ad87f
Fixed #28795 -- Removed 'not in' checks and used dict.setdefault().
2017-11-14 10:52:52 -05:00
Mariusz Felisiak
2d3cc94284
Fixed #28781 -- Added QuerySet.values()/values_list() support for union(), difference(), and intersection().
...
Thanks Tim Graham for the review.
2017-11-12 14:28:11 +01:00
Дилян Палаузов
c69e4bc691
Fixed #28769 -- Replaced 'x if x else y' with 'x or y'.
2017-11-07 09:08:46 -05:00
Ran Benita
03049fb8d9
Refs #28010 -- Allowed reverse related fields in SELECT FOR UPDATE .. OF.
...
Thanks Adam Chidlow for polishing the patch.
2017-10-28 20:33:42 -04:00
Tim Graham
1b73ccc4bf
Fixed #28497 -- Restored the ability to use sliced QuerySets with __exact.
...
Regression in ec50937bcb
.
Thanks Simon Charette for review.
2017-10-16 13:56:38 -04:00
Mariusz Felisiak
0899d583bd
Fixed #28670 -- Added FETCH/OFFSET support on Oracle.
...
Thanks Tim Graham for the review.
2017-10-09 18:07:03 +02:00
Mariusz Felisiak
11ade8eefd
Refs #24254 -- Removed unnecessary SQL AS clause in SQLCompiler.as_sql().
...
Incorrect on Oracle.
2017-10-06 12:47:41 -04:00
Mariusz Felisiak
03da070f5c
Refs #28670 -- Moved LIMIT/OFFSET SQL to DatabaseOperations.limit_offset_sql().
...
Thanks Tim Graham for the review.
2017-10-04 20:24:38 +02:00
Tim Graham
51d230e00b
Fixed #28675 -- Removed always True variable in SQLInsertCompiler.execute_sql() check.
...
Unused since 7deb25b8dd
.
2017-10-03 10:32:11 -04:00
Дилян Палаузов
5d9b736fd8
Fixed #28652 -- Fixed a few comments in django/db/models/*.
2017-10-02 11:15:26 -04:00
Nicolas Delaby
01d440fa1e
Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) support.
...
Thanks Anssi Kääriäinen for contributing to the patch.
2017-09-22 11:53:17 -04:00
Nicolas Delaby
a30ef353e2
Removed unused list in Query.resolve_lookup_value().
...
Unneeded since its introduction in 4f138fe5a4
.
2017-09-20 09:50:14 -04:00
Mads Jensen
d549b88050
Fixed #26608 -- Added support for window expressions (OVER clause).
...
Thanks Josh Smeaton, Mariusz Felisiak, Sergey Fedoseev, Simon Charettes,
Adam Chainz/Johnson and Tim Graham for comments and reviews and Jamie
Cockburn for initial patch.
2017-09-18 09:42:29 -04:00
Tim Graham
cb362a6750
Removed unnecessary check in SQLCompiler.get_related_selections().
2017-09-15 08:37:46 -04:00
Tim Graham
6e4c6281db
Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
...
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Sergey Fedoseev
8b2515a450
Removed unneeded __init__() methods.
2017-09-07 08:10:49 -04:00
Mariusz Felisiak
fe0184b412
Updated EmpytResultSet import not to use the alias.
2017-09-03 11:06:06 -04:00
Mariusz Felisiak
2470756de0
Moved select_sql in SQLCompiler.get_extra_select() to improve performance.
2017-09-02 16:39:51 -04:00
Jeremy Kerr
84b7cb7df0
Fixed #28549 -- Fixed QuerySet.defer() with super and subclass fields.
...
Previously, deferring fields in different classes didn't omit the
superclass' deferred field.
Thanks Simon Charette for the suggested fix.
2017-08-31 09:35:05 -04:00
Sergey Fedoseev
dca67bb2c2
Refs #28459 -- Improved performance of SQLCompiler.apply_converters().
2017-08-23 16:26:24 -04:00
Sergey Fedoseev
41640760df
Simplified generation of result in Query.get_aggregation().
2017-08-15 09:59:31 -04:00
Sergey Fedoseev
6141040813
Avoided creation of temporary set in Query.append_annotation_mask().
2017-08-15 09:43:47 -04:00
Sergey Fedoseev
0ec134e340
Simplified calculation of used joins in Query.build_filter().
2017-08-11 10:46:11 -04:00
Sergey Fedoseev
7fa92daa99
Removed outdated comment in Query.build_filter().
2017-08-11 09:19:19 -04:00
Sergey Fedoseev
b8731c3fff
Refs #28459 -- Improved performance of sql.compiler.cursor_iter().
2017-08-08 14:07:03 -04:00
Sergey Fedoseev
ca46f4688c
Refs #28459 -- Improved performance of SQLCompiler.results_iter().
2017-08-07 17:06:15 -04:00
Matthew Wilkes
32d1bf2bdb
Fixed #28454 -- Simplifed use of Query.setup_joins() by returning a named tuple.
2017-08-01 14:25:54 -04:00
Sergey Fedoseev
62dee1483d
Refs #28370 -- Moved db converters deprecation warning to improve performance.
2017-08-01 08:05:32 -04:00
Sergey Fedoseev
58da81a5a3
Fixed #27985 -- Fixed query for __exact=value when get_prep_value() converts value to None.
...
Also fixed crash of .filter(field__transform=None).
2017-07-31 15:34:07 -04:00
Anssi Kääriäinen
6155bc4a51
Refs #20880 -- Removed non-cloning logic from Query.clone().
2017-07-31 15:31:29 -04:00
Sergey Fedoseev
0baea920c8
Fixed #28453 -- Made __exact=None lookup use transforms.
2017-07-31 13:31:04 -04:00
Sergey Fedoseev
aadd3aeb2b
Avoided creating temporary lists for obtaining the first item.
2017-07-31 11:02:23 -04:00
Sergey Fedoseev
38988f289f
Avoided creation of temporary sets.
2017-07-29 10:16:43 -04:00
Tim Graham
487362fa8f
Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value().
...
Unused since a0d166306f
.
2017-07-20 16:30:08 -04:00
Florian Apolloner
adab280cef
Fixed #28399 -- Fixed QuerySet.count() for union(), difference(), and intersection() queries.
2017-07-15 08:20:12 -04:00
Mariusz Felisiak
ca74e56350
Fixed #28378 -- Fixed union() and difference() when combining with a queryset raising EmptyResultSet.
...
Thanks Jon Dufresne for the report. Thanks Tim Graham and Simon Charette
for the reviews.
2017-07-10 20:40:08 +02:00
Tim Graham
31a2af1c01
Removed useless hasattr in UpdateQuery._setup_query().
...
The if statement always evaluates to True.
2017-07-08 08:12:46 -04:00
Tim Graham
23c529a774
Removed unused Query.clone() memo kwarg.
...
Unused since 23ca3a0194
.
2017-07-07 09:29:58 -04:00
Ran Benita
b9f7dce84b
Fixed #28010 -- Added FOR UPDATE OF support to QuerySet.select_for_update().
2017-06-29 16:00:15 -04:00
Anssi Kääriäinen
f7f5edd50d
Removed obsolete Query.tables attribute.
...
Obsolete since Query.alias_map became an OrderedDict (refs #26522 ).
2017-06-29 11:09:11 -04:00
Tim Graham
7acbe89cc2
Refs #23853 -- Updated sql.query.Query.join() docstring.
...
Follow up to ab89414f40
.
2017-06-13 14:16:52 -04:00
Mariusz Felisiak
82175ead72
Fixed #28293 -- Fixed union(), intersection(), and difference() when combining with an EmptyQuerySet.
...
Thanks Jon Dufresne for the report and Tim Graham for the review.
2017-06-13 08:16:16 +02:00
Claude Paroz
af69f14e7b
Removed unused sql.Query.query_terms
...
Unused since 5008a4db44
.
2017-06-08 13:11:51 -04:00
Jon Dufresne
2c69824e5a
Refs #23968 -- Removed unnecessary lists, generators, and tuple calls.
2017-06-01 19:08:59 -04:00
François Freitag
edee5a8de6
Fixed #27639 -- Added chunk_size parameter to QuerySet.iterator().
2017-06-01 17:50:41 -04:00
Jon Dufresne
21046e7773
Fixed #28249 -- Removed unnecessary dict.keys() calls.
...
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Simon Charette
4acae21846
Fixed #24254 -- Fixed queries using the __in lookup with querysets using distinct() and order_by().
...
Thanks Tim for the review.
2017-05-11 21:50:07 -04:00
Simon Charette
daf2bd3efe
Fixed #28107 -- Disabled grouping of selected primary keys for unmanaged models.
...
The grouping caused an issue with database views as PostgreSQL's query planer
isn't smart enough to introspect primary keys through views. Django doesn't
support database views but documents that unmanaged models should be used to
query them.
Thanks powderflask for the detailed report and investigation.
2017-05-11 20:00:57 -04:00
Simon Charette
9ae4362bec
Refs #16187 -- Stopped compiling query compilers during lookup rhs processing.
...
Lookup right hand side processing was compiling query compilers which happened
to work by chance as SQLCompiler defines a as_sql() method with two optional
parameters albeit it doesn't expect the same type of arguments.
2017-05-01 00:41:21 -04:00
Simon Charette
eb4724a063
Reverted "Refs #20939 -- Moved subquery ordering clearing optimization to the __in lookup."
...
This reverts commit e62ea0bb9c
since it
broke multi-column __in lookups and _meta.order_wrt on Oracle.
2017-04-28 09:30:35 -04:00
Simon Charette
e62ea0bb9c
Refs #20939 -- Moved subquery ordering clearing optimization to the __in lookup.
...
Queries could potentially be resolved in cases where ordering matter.
2017-04-27 16:58:08 -04:00
Jon Dufresne
7be94e0335
Replaced set |= operator with update() to avoid temporary set.
2017-04-27 08:16:19 -04:00
Simon Charette
c9159a082e
Refs #20939 -- Removed the Query._prepare_as_filter_value() hack.
2017-04-25 23:43:33 -04:00
Simon Charette
ec50937bcb
Refs #20939 -- Removed the Query._forced_pk hack.
2017-04-25 23:43:33 -04:00
Simon Charette
8ef35468b6
Fixed #28101 -- Fixed a regression with nested __in subquery lookups and to_field.
...
Thanks Kristian Klette for the report and Tim for the help.
2017-04-23 00:21:27 -04:00
Sergey Fedoseev
e7afef13f5
Fixed #26788 -- Fixed QuerySet.update() crash when updating a geometry to another one.
2017-04-10 13:26:26 -04:00
Mariusz Felisiak
054a44d6f0
Used NotSupportedError instead of DatabaseError in SQLCompiler.as_sql().
2017-04-10 12:49:27 -04:00
Mariusz Felisiak
695d4dd790
Fixed #23147 -- Disabled a limit/offset on a query with select_for_update on Oracle.
...
Thanks Shai Berger and Tim Graham for the reviews.
2017-04-07 14:08:07 +02:00
Mariusz Felisiak
1d070d027c
Fixed #25414 -- Fixed QuerySet.annotate() with pk in values() on MySQL.
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-03-29 06:47:07 +02:00
Mads Jensen
19b8ca5824
Removed unused connector parameter of Query.build_filter().
...
Unused since 6fe2b001db
.
2017-03-18 09:04:56 -04:00
Mads Jensen
e45633086c
Removed unused rest_of_lookups parameter of Query.try_transform().
...
Unused since 534aaf56f4
.
2017-03-18 09:00:59 -04:00
Adam Johnson
af121b08e8
Refs #27624 -- Made many attributes of Query immutable.
2017-03-08 09:25:44 -05:00
Bo Marchman
9bbb6e2d25
Fixed #26522 -- Fixed a nondeterministic AssertionError in QuerySet combining.
...
Thanks Andrew Brown for the test case.
2017-03-06 13:40:17 -05:00
Anton Samarchyan
60e52a047e
Refs #27656 -- Updated django.db docstring verbs according to PEP 257.
2017-02-28 09:17:27 -05:00
François Freitag
e124d2da94
Fixed #26551 -- Fixed negated Q() queries that span relations.
...
Prevented queries from reusing trimmed joins.
2017-02-09 11:20:33 -05:00
Lex Berezhny
ac5f886c56
Fixed #27800 -- Fixed QuerySet.annotate(Length(...)).distinct() crash.
2017-01-31 18:45:55 -05:00