summaryrefslogtreecommitdiff
path: root/django/db/models/sql
AgeCommit message (Collapse)Author
2015-03-09[1.8.x] Fixed #24171 -- Fixed failure with complex aggregate query and ↵Anssi Kääriäinen
expressions The query used a construct of qs.annotate().values().aggregate() where the first annotate used an F-object reference and the values() and aggregate() calls referenced that F-object. Also made sure the inner query's select clause is as simple as possible, and made sure .values().distinct().aggreate() works correctly. Backport of fb146193c49e4c683dc8da39d9b7c479375fdb57 from master
2015-02-20[1.8.x] Update converters to take a consistent set of parameters.Marc Tamlyn
As suggested by Anssi. This has the slightly strange side effect of passing the expression to Expression.convert_value has the expression passed back to it, but it allows more complex patterns of expressions. Backport of 32d4db66b9 from master
2015-02-20[1.8.x] Fixed #24343 -- Ensure db converters are used for foreign keys.Marc Tamlyn
Joint effort between myself, Josh, Anssi and Shai. Conflicts: django/db/models/query.py tests/model_fields/models.py Backport of 4755f8fc25331c739a6f932cc8aba0cc9e62e352 from master.
2015-02-09[1.8.x] Sorted imports with isort; refs #23860.Tim Graham
Backport of 0ed7d155635da9f79d4dd67e4889087d3673c6da from master
2015-02-01[1.8.x] Removed query.alias_diff()Tim Graham
This function is unused since 6fe2b001dba45134d7c10729c57959995e241a88 Backport of f79ce63fdb6788c8b4857fece6c86de57fc129ee from master
2015-02-01[1.8.x] Removed Query.raise_field_error()Tim Graham
This method was inadvertently reintroduced in f59fd15c4928caf3dfcbd50f6ab47be409a43b01 Backport of 99ca7c2bd3e04b343f4a0fe2d5add7c6d6f3a456 from master
2015-01-30[1.8.x] Fixed #14483 -- Allowed using subqueries with GIS lookupsClaude Paroz
Backport of a0b5f15ea5f from master.
2015-01-30[1.8.x] Fixed #24164 -- Fixed Oracle GIS limited aggregation test failure.Tim Graham
Backport of 29c0073335c7f7cdc482866e093e5e42a42625e5 from master
2015-01-27[1.8.x] Fixed #24154 -- Backends can now check support for expressionsJosh Smeaton
Backport of 8196e4bdf498acb05e6680c81f9d7bf700f4295c from master
2015-01-20[1.8.x] Fixed a query failure on Python 3.5; refs #23763.Tim Graham
The failure was introduced in Django by c7fd9b242d2d63406f1de6cc3204e35aaa025233 and the change in Python 3.5 is https://hg.python.org/cpython/rev/a3c345ba3563. Backport of be1357e70983d4ad029a1ecdd05292f8be917a80 from master
2015-01-19[1.8.x] Fixed #24174 -- Fixed extra order by descendingJosh Smeaton
Backport of 69c6a6868f0b4137bb293ff4326ecf4681506c37 from master
2015-01-15Replaced inner functions by class methods.Simon Charette
refs #24031 Thanks to Tim Graham and Michał Modzelewski for the review.
2015-01-12Fixed #24031 -- Added CASE expressions to the ORM.Michał Modzelewski
2015-01-13Fixed #24060 -- Added OrderBy ExpressionsJosh Smeaton
2015-01-08Fixed #24020 -- Refactored SQL compiler to use expressionsAnssi Kääriäinen
Refactored compiler SELECT, GROUP BY and ORDER BY generation. While there, also refactored select_related() implementation (get_cached_row() and get_klass_info() are now gone!). Made get_db_converters() method work on expressions instead of internal_type. This allows the backend converters to target specific expressions if need be. Added query.context, this can be used to set per-query state. Also changed the signature of database converters. They now accept context as an argument.
2015-01-06Fixed #12663 -- Formalized the Model._meta API for retrieving fields.Daniel Pyrathon
Thanks to Russell Keith-Magee for mentoring this Google Summer of Code 2014 project and everyone else who helped with the patch!
2015-01-02Fixed #9104 -- Moved FieldDoesNotExist to core.exceptionsDaniel Pyrathon
2014-12-31Fixed #23758 -- Allowed more than 5 levels of subqueriesPiotr Pawlaczek
Refactored bump_prefix() to avoid infinite loop and allow more than than 5 subquires by extending the alphabet to use multi-letters.
2014-12-24Fixed #10414 -- Made select_related() fail on invalid field names.Niclas Olofsson
2014-12-23Fixed #21414 -- Removed RelatedObject and deprecated Field.related.Anssi Kääriäinen
2014-12-18Refs #24020 -- return expressions from get_group_by_cols()Anssi Kääriäinen
2014-12-13Fixed #23812 -- Changed django.utils.six.moves.xrange imports to rangeMichael Hall
2014-12-08Fixed #23968 -- Replaced list comprehension with generators and dict ↵Jon Dufresne
comprehension
2014-11-28Fixed #23853 -- Added Join class to replace JoinInfoAnssi Kääriäinen
Also removed Query.join_map. This structure was used to speed up join reuse calculation. Initial benchmarking shows that this isn't actually needed. If there are use cases where the removal has real-world performance implications, it should be relatively straightforward to reintroduce it as map {alias: [Join-like objects]}.
2014-11-27Fixed #23877 -- aggregation's subquery missed target colAnssi Kääriäinen
Aggregation over subquery produced syntactically incorrect queries in some cases as Django didn't ensure that source expressions of the aggregation were present in the subquery.
2014-11-27Fixed #23875 -- cleaned up query.get_count()Anssi Kääriäinen
2014-11-26Fixed #23867 -- removed DateQuerySet hacksAnssi Kääriäinen
The .dates() queries were implemented by using custom Query, QuerySet, and Compiler classes. Instead implement them by using expressions and database converters APIs.
2014-11-20Fixed #23605 -- Fixed nested subquery regressionAnssi Kääriäinen
Added relabeled_clone() method to sql.Query to fix the problem. It manifested itself in rare cases where at least double nested subquery's filter condition might target non-existing alias. Thanks to Trac alias ris for reporting the problem.
2014-11-20Fixed #23876 -- Removed dead code in SQLAggregateCompiler.Carl Meyer
2014-11-18Deprecated calling a SQLCompiler instance.Carl Meyer
2014-11-17Moved bilateral transform fetching to models.lookupsAnssi Kääriäinen
2014-11-16Renamed qn to compilerJosh Smeaton
2014-11-15Fixed #14030 -- Allowed annotations to accept all expressionsJosh Smeaton
2014-11-12Removed extra enumerate() from Query.setup_joins()Anssi Kääriäinen
2014-11-12Improved Query.names_to_path docstringAnssi Kääriäinen
2014-11-11Simplified Query.build_lookup()Anssi Kääriäinen
2014-10-28Fixed #23721 -- check_related_objects without calling __iter__Collin Anderson
Refs #14334
2014-10-28Fixed #23493 -- Added bilateral attribute to TransformThomas Chaumeny
2014-10-21Fixed #23396 -- Ensured ValueQuerySets are not checked by check_related_objects.Gabe Jackson
2014-09-29Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.Thomas Chaumeny
Thanks Collin Anderson for the review.
2014-09-26Fixed #23460 -- Added literal `%s` support to extra() QuerySets.Matt Robenolt
2014-09-19Fixed #23443 -- Corrected erroneous FieldError message.Thomas Chaumeny
Thanks Tim Graham for the review.
2014-09-05Limited lines to 119 characters in django/Tim Graham
refs #23395.
2014-09-03Fixed #18757, #14462, #21565 -- Reworked database-python type conversionsMarc Tamlyn
Complete rework of translating data values from database Deprecation of SubfieldBase, removal of resolve_columns and convert_values in favour of a more general converter based approach and public API Field.from_db_value(). Now works seamlessly with aggregation, .values() and raw queries. Thanks to akaariai in particular for extensive advice and inspiration, also to shaib, manfre and timograham for their reviews.
2014-08-29Fixed #23313 -- Corrected repr(RawQuery) with dict parameters.Andrew Torpedov
2014-08-11Fixed #23266 -- Prevented queries caused by type checking lookup valuesAnubhav Joshi
Small modifications done by committer.
2014-08-11Fixed #23259 -- Corrected insertion order of extra() select_paramsRajiv Makhijani
A regression caused queries to produce incorrect results for cases where extra(select) is excluded by values() but included by extra(order_by) The regression was caused by 2f35c6f10fcbae541691207fb0c0560a13b754fc.
2014-08-06Fixed #21603 -- Fixed complex RawQuerySets queries on some versions of SQLite.Alex Hill
2014-07-01Fixed #14334 -- Query relation lookups now check object types.Anubhav Joshi
Thanks rpbarlow for the suggestion; and loic, akaariai, and jorgecarleitao for reviews.
2014-06-25Fixed #22050 -- Fixed defer fields on proxy related models.Lovas Bence