<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/db/models/sql/constants.py, branch 1.7.4</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=1.7.4</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=1.7.4'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2014-02-02T17:47:06Z</updated>
<entry>
<title>Made SQLCompiler.execute_sql(result_type) more explicit.</title>
<updated>2014-02-02T17:47:06Z</updated>
<author>
<name>Michael Manfre</name>
<email>mmanfre@gmail.com</email>
</author>
<published>2014-01-09T04:31:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=0837eacc4e1fa7916e48135e8ba43f54a7a64997'/>
<id>urn:sha1:0837eacc4e1fa7916e48135e8ba43f54a7a64997</id>
<content type='text'>
Updated SQLUpdateCompiler.execute_sql to match the behavior described in
the docstring; the 'first non-empty query' will now include all queries,
not just the main and first related update.

Added CURSOR and NO_RESULTS result_type constants to make the usages more
self documenting and allow execute_sql to explicitly close the cursor when
it is no longer needed.
</content>
</entry>
<entry>
<title>Fixed #19385 again, now with real code changes</title>
<updated>2013-03-24T16:40:40Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2013-03-24T16:40:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=97774429aeb54df4c09895c07cd1b09e70201f7d'/>
<id>urn:sha1:97774429aeb54df4c09895c07cd1b09e70201f7d</id>
<content type='text'>
The commit of 266de5f9ae9e9f2fbfaec3b7e4b5fb9941967801 included only
tests, this time also code changes included...
</content>
</entry>
<entry>
<title>Fixed #17260 -- Added time zone aware aggregation and lookups.</title>
<updated>2013-02-16T08:19:04Z</updated>
<author>
<name>Aymeric Augustin</name>
<email>aymeric.augustin@m4x.org</email>
</author>
<published>2013-02-10T15:15:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e74e207cce54802f897adcb42149440ee154821e'/>
<id>urn:sha1:e74e207cce54802f897adcb42149440ee154821e</id>
<content type='text'>
Thanks Carl Meyer for the review.

Squashed commit of the following:

commit 4f290bdb60b7d8534abf4ca901bd0844612dcbda
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Wed Feb 13 21:21:30 2013 +0100

    Used '0:00' instead of 'UTC' which doesn't always exist in Oracle.

    Thanks Ian Kelly for the suggestion.

commit 01b6366f3ce67d57a58ca8f25e5be77911748638
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Wed Feb 13 13:38:43 2013 +0100

    Made tzname a parameter of datetime_extract/trunc_sql.

    This is required to work around a bug in Oracle.

commit 924a144ef8a80ba4daeeafbe9efaa826566e9d02
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Wed Feb 13 14:47:44 2013 +0100

    Added support for parameters in SELECT clauses.

commit b4351d2890cd1090d3ff2d203fe148937324c935
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Mon Feb 11 22:30:22 2013 +0100

    Documented backwards incompatibilities in the two previous commits.

commit 91ef84713c81bd455f559dacf790e586d08cacb9
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Mon Feb 11 09:42:31 2013 +0100

    Used QuerySet.datetimes for the admin's date_hierarchy.

commit 0d0de288a5210fa106cd4350961eb2006535cc5c
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Mon Feb 11 09:29:38 2013 +0100

    Used QuerySet.datetimes in date-based generic views.

commit 9c0859ff7c0b00734afe7fc15609d43d83215072
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:43:25 2013 +0100

    Implemented QuerySet.datetimes on Oracle.

commit 68ab511a4ffbd2b811bf5da174d47e4dd90f28fc
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:43:14 2013 +0100

    Implemented QuerySet.datetimes on MySQL.

commit 22d52681d347a8cdf568dc31ed032cbc61d049ef
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:42:29 2013 +0100

    Implemented QuerySet.datetimes on SQLite.

commit f6800fd04c93722b45f9236976389e0b2fe436f5
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:43:03 2013 +0100

    Implemented QuerySet.datetimes on PostgreSQL.

commit 0c829c23f4cf4d6804cadcc93032dd4c26b8c65e
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:41:08 2013 +0100

    Added datetime-handling infrastructure in the ORM layers.

commit 104d82a7778cf3f0f5d03dfa53709c26df45daad
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Mon Feb 11 10:05:55 2013 +0100

    Updated null_queries tests to avoid clashing with the __second lookup.

commit c01bbb32358201b3ac8cb4291ef87b7612a2b8e6
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 23:07:41 2013 +0100

    Updated tests of .dates().

    Replaced .dates() by .datetimes() for DateTimeFields.
    Replaced dates with datetimes in the expected output for DateFields.

commit 50fb7a52462fecf0127b38e7f3df322aeb287c43
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 21:40:09 2013 +0100

    Updated and added tests for QuerySet.datetimes.

commit a8451a5004c437190e264667b1e6fb8acc3c1eeb
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 22:34:46 2013 +0100

    Documented the new time lookups and updated the date lookups.

commit 29413eab2bd1d5e004598900c0dadc0521bbf4d3
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Feb 10 16:15:49 2013 +0100

    Documented QuerySet.datetimes and updated QuerySet.dates.
</content>
</entry>
<entry>
<title>Moved join path generation to Field</title>
<updated>2012-12-30T09:19:19Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2012-12-17T15:09:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=4511aeb6b8b843ee913fb43a37c9686980210948'/>
<id>urn:sha1:4511aeb6b8b843ee913fb43a37c9686980210948</id>
<content type='text'>
Refs #19385
</content>
</entry>
<entry>
<title>Fixed #19500 -- Solved a regression in join reuse</title>
<updated>2012-12-20T19:27:00Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2012-12-20T19:25:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=3dcd435a0eb4380a3846e9c65140df480975687e'/>
<id>urn:sha1:3dcd435a0eb4380a3846e9c65140df480975687e</id>
<content type='text'>
The ORM didn't reuse joins for direct foreign key traversals when using
chained filters. For example:
    qs.filter(fk__somefield=1).filter(fk__somefield=2))
produced two joins.

As a bonus, reverse onetoone filters can now reuse joins correctly

The regression was caused by the join() method refactor in commit
68847135bc9acb2c51c2d36797d0a85395f0cd35

Thanks for Simon Charette for spotting some issues with the first draft
of the patch.
</content>
</entry>
<entry>
<title>Fixed #10790 -- Refactored sql.Query.setup_joins()</title>
<updated>2012-12-16T15:23:26Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2012-08-25T13:33:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=69597e5bcc89aadafd1b76abf7efab30ee0b8b1a'/>
<id>urn:sha1:69597e5bcc89aadafd1b76abf7efab30ee0b8b1a</id>
<content type='text'>
This is a rather large refactoring. The "lookup traversal" code was
splitted out from the setup_joins. There is now names_to_path() method
which does the lookup traveling, the actual work of setup_joins() is
calling names_to_path() and then adding the joins found into the query.

As a side effect it was possible to remove the "process_extra"
functionality used by genric relations. This never worked for left
joins. Now the extra restriction is appended directly to the join
condition instead of the where clause.

To generate the extra condition we need to have the join field
available in the compiler. This has the side-effect that we need more
ugly code in Query.__getstate__ and __setstate__ as Field objects
aren't pickleable.

The join trimming code got a big change - now we trim all direct joins
and never trim reverse joins. This also fixes the problem in #10790
which was join trimming in null filter cases.
</content>
</entry>
<entry>
<title>Removed dupe_avoidance from sql/query and sql/compiler.py</title>
<updated>2012-10-31T06:19:44Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2012-08-10T19:00:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=68847135bc9acb2c51c2d36797d0a85395f0cd35'/>
<id>urn:sha1:68847135bc9acb2c51c2d36797d0a85395f0cd35</id>
<content type='text'>
The dupe avoidance logic was removed as it doesn't seem to do anything,
it is complicated, and it has nearly zero documentation.

The removal of dupe_avoidance allowed for refactoring of both the
implementation and signature of Query.join(). This refactoring cascades
again to some other parts. The most significant of them is the changes
in qs.combine(), and compiler.select_related_descent().
</content>
</entry>
<entry>
<title>Fixed #19190 -- Refactored Query select clause attributes</title>
<updated>2012-10-26T23:13:02Z</updated>
<author>
<name>Anssi Kääriäinen</name>
<email>akaariai@gmail.com</email>
</author>
<published>2012-10-25T17:57:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=11699ac4b5f98ec11dba02b356a8fd4ab6b4b889'/>
<id>urn:sha1:11699ac4b5f98ec11dba02b356a8fd4ab6b4b889</id>
<content type='text'>
The Query.select and Query.select_fields were collapsed into one list
because the attributes had to be always in sync. Now that they are in
one attribute it is impossible to edit them out of sync.

Similar collapse was done for Query.related_select_cols and
Query.related_select_fields.
</content>
</entry>
<entry>
<title>Internal refactoring; moving LOOKUP_SEP up one level.</title>
<updated>2012-09-08T23:51:36Z</updated>
<author>
<name>Malcolm Tredinnick</name>
<email>malcolm.tredinnick@gmail.com</email>
</author>
<published>2012-09-08T23:51:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=c4aa26a983c91b1ec015fe0552077847116dfab7'/>
<id>urn:sha1:c4aa26a983c91b1ec015fe0552077847116dfab7</id>
<content type='text'>
In an ideal world, nothing except django.db.models.query should have to
import stuff from django.models.sql.*. A few things were needing to get
hold of sql.constants.LOOKUP_SEP, so this commit moves it up to
django.db.models.constants.LOOKUP_SEP.

There are still a couple of places (admin) poking into sql.* to get
QUERY_TERMS, which is unfortunate, but a slightly different issue and
harder to adjust.
</content>
</entry>
<entry>
<title>Code comment fix.</title>
<updated>2012-08-26T21:28:44Z</updated>
<author>
<name>Mitar</name>
<email>mitar.github@tnode.com</email>
</author>
<published>2012-08-26T21:28:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=b2ffa2ea90110bb8ccb67692aaad2069b0075869'/>
<id>urn:sha1:b2ffa2ea90110bb8ccb67692aaad2069b0075869</id>
<content type='text'>
</content>
</entry>
</feed>
