summaryrefslogtreecommitdiff
path: root/django/db/models/sql
AgeCommit message (Collapse)Author
2009-12-21[soc2009/multidb] A couple of cleanups of multi-db support for raw queries, ↵Alex Gaynor
including a using() call on raw query sets. Patch from Russell Keith-Magee. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11930 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-21[soc2009/multidb] Correct the handling of raw and defered fields with multi-db.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11926 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-20[soc2009/multidb] Merged up to trunk r11921. This does not include ↵Alex Gaynor
updating Manager.raw() for multiple database support. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11922 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-19[soc2009/multidb] Fixed #12402 -- `QuerySet.defer` now interacts properly ↵Justin Bronn
with `SQLCompiler` subclasses that implement `resolve_columns`. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11911 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-17[soc2009/multidb] Merged up to trunk r11901.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11904 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-15[soc2009/multidb] Reorganized sql.InsertQuery to defer the need for a ↵Alex Gaynor
connection till later in the process. Patch from Russell Keith-Magee. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11871 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-12[soc2009/multidb] Merged in all of Justin Bronn's GIS work. Multidb should ↵Alex Gaynor
now work fully with GIS. This is backwards incompatible, if you are using GIS, your ENGINE setting should now be django.contrib.gis.db.backends.XXX where XXX is the name of your DB backend. Thanks to Justin for all his work. This also resolves merge conflicts from the previous commit. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11813 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-12[soc2009/multidb] Merged up to trunk r11810. There are many conflicts in ↵Alex Gaynor
this merge, these will be resolved in a subsequent commit. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11812 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-09[soc2009/multidb] Merged up to trunk r11804.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11805 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-12-03[soc2009/multidb] Cleaned up the double processing required by validate() by ↵Alex Gaynor
splitting get_db_prep_* functions into db-specific and non-db-specific parts. Patch from Russell Keith-Magee. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11786 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-11-21[soc2009/multidb] Split SQL construction into two seperate classes, the ↵Alex Gaynor
Query class which stores data about a query being constructed, and a Compiler class which generates SQL. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11759 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-11-21[soc2009/multidb] Merged up to trunk r11756.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11758 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-10-09[soc2009/multidb] Updated to trunk r11603. This includes a critical ↵Alex Gaynor
security fix. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11614 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-08-04[soc2009/multidb] Support multiple databases where one of them has a custom ↵Alex Gaynor
Query class. This needs more testing as I don't have access to Oracle (or DB2, or MSSQL, or Sybase) git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11384 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-08-01[soc2009/multidb] Switched from using an ugly hacky wrapper to a Metaclass ↵Alex Gaynor
for maitaing backwards compatibility in the get_db_prep_* and db_type methods. Thanks to Jacob for the good idea. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11375 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-07-20[soc2009/multidb] Correctly handle pickling of Query objects, restoring them ↵Alex Gaynor
to the correct database. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11274 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-07-17[soc2009/multidb] Added connection parameter to the get_db_prep_* family of ↵Alex Gaynor
functions. This allows us to generate the lookup and save values for Fields in a backend specific manner. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11264 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-07-17[soc2009/multidb] Fixed a bug with EmptyQuerySet.Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11257 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-19[soc2009/multidb] Removed the as_sql_takes_connection option from various ↵Alex Gaynor
classes, it was originally just to allow the tests to pass while the code base was being migrated, it was not meant to remain git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11075 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-08[soc2009/multidb] Fixed test failures that were introduced in r10943Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10951 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-07[soc2009/multidb] Updated DateQuery to work correctly with multiple databasesAlex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10943 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-06[soc2009/multidb] Fixed the usage of the connection during Query ↵Alex Gaynor
construction, and defer it until actual SQL construction. In practice this means the GROUP BY optimization we do will be correctly applied based on the connection the Query is executed against, as oppossed to the on the QuerySet is targeting at the time the GROUP BY items are added git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10934 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-06[soc2009/multidb] Merged up to trunk r10931. Resolved the slight merge conflictAlex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10933 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-04[soc2009/multidb] Made filter SQL generation lazy when we aren't filtering ↵Alex Gaynor
on a specific field, also added additional tests git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10923 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-03[soc2009/multidb] Bring this branch up to date with my external work. This ↵Alex Gaynor
means implementing the using method on querysets as well as a using kwarg on save and delete, plus many internal changes to facilitae this git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10904 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-03[soc2009/multidb] Updated several strings and internal API names to be more ↵Alex Gaynor
consistant and descriptive git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10897 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-03[soc2009/multidb] Removed several instances of unnescary usage of the global ↵Alex Gaynor
connection object, where instead we should be using the connection object for the given Query git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10896 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-03[soc2009/multidb] Updated the test runner to support syncing all the ↵Alex Gaynor
databases django knows about so that tests can operate against more than one database git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10895 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-06-02[soc2009/multidb] Merged up to trunk r10865Alex Gaynor
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@10887 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-05-11Fixed #10953, #10955: proxies of proxies now work correctly, though I still ↵Jacob Kaplan-Moss
don't quite understand why you'd want to do such a thing. Thanks, Armin Ronacher. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10738 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-30Fixed #10847 -- Modified handling of extra() to use a masking strategy, ↵Russell Keith-Magee
rather than last-minute trimming. Thanks to Tai Lee for the report, and Alex Gaynor for his work on the patch. This enables querysets with an extra clause to be used in an __in filter; as a side effect, it also means that as_sql() now returns the correct result for any query with an extra clause. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10648 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-11Fixed #10796 -- Corrected a pickling problem introduced by [10522]. Thanks ↵Russell Keith-Magee
to carljm for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10526 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-11Fixed #10197 -- Corrected pickling of querysets when a subset of fields was ↵Russell Keith-Magee
selected. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10522 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-11Fixed #10766 -- Raise an error when annotate() references another ↵Russell Keith-Magee
aggreagte(). Thanks to aseering@mit.edu for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10521 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-08Fixed #10666 -- Corrected the handling of inherited fields with aggregate() ↵Russell Keith-Magee
and annotate(). Thanks to julienb for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10446 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-04Fixed a problem when computing deferred fields on multiple related models.Malcolm Tredinnick
Fixed #10710, as this fixes the second bug reported there. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10384 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-02Fixed #10670: fixed reusing QuerySets previously used in a filter ↵Jacob Kaplan-Moss
expression. Thanks, Alex Gaynor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10357 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-01Fixed #9871 -- Geometry objects are now returned in dictionaries and tuples ↵Justin Bronn
returned by `values()` and `values_list()`, respectively; updated `GeoQuery` methods to be compatible with `defer()` and `only`; removed defunct `GeomSQL` class; and removed redundant logic from `Query.get_default_columns`. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10326 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-24Fixed #9926 -- Fixes for some select_related() situations.Malcolm Tredinnick
Using select_related(...) across a nullable relation to a multi-table model inheritance situation no longer excludes results. Thanks to AdamG for a test demonstrating part of the problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10136 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-19Fixed #5420 -- Added support for delayed loading of model fields.Malcolm Tredinnick
In extreme cases, some fields are expensive to load from the database (e.g. GIS fields requiring conversion, or large text fields). This commit adds defer() and only() methods to querysets that allow the caller to specify which fields should not be loaded unless they are accessed. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10090 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-18Fixed #10356 -- Added pure-Python inheritance for models (a.k.a proxy models).Malcolm Tredinnick
Large portions of this are needed for #5420, so I implemented it fully. Thanks to Ryan Kelly for an initial patch to get this started. Refs #5420. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10083 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-14Fixed #10425 -- Corrected the interaction of .count() with .annotate() when ↵Russell Keith-Magee
.values() is also involved. Thanks to kmassey for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10053 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-13Fixed a case where column aliases weren't being quoted properly.Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10048 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-13Prevented InsertQuery from appending a 'RETURNING' clause when it's not ↵Ian Kelly
actually interested in the result. This was causing some problems for Oracle. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10047 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-12Fixed #10473: Added Oracle support for "RETURNING" ids from insert statements.Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10044 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-12Return last insert ID correctly when the feature is enabled.Malcolm Tredinnick
This was overlooked when merging the patch from #3460 in r10029. Thank to Ian Kelly for noticing. Refs #10467. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10034 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-11Fixed #3460 -- Added an ability to enable true autocommit for psycopg2 backend.Malcolm Tredinnick
Ensure to read the documentation before blindly enabling this: requires some code audits first, but might well be worth it for busy sites. Thanks to nicferrier, iamseb and Richard Davies for help with this patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10029 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-09Pass values through get_db_prep_save() in a QuerySet.update() call.Malcolm Tredinnick
This removes a long-standing FIXME in the update() handling and allows for greater flexibility in the values passed in. In particular, it brings updates into line with saves for django.contrib.gis fields, so fixed #10411. Thanks to Justin Bronn and Russell Keith-Magee for help with this patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10003 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-08Fixed #10432 -- Handle all kinds of iterators in queryset filters.Malcolm Tredinnick
Only consumes the iterators once and works with Python 2.3. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9986 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-06Improved table join handling for comparisons against NULL.Malcolm Tredinnick
This fixes a broad class of bugs involving filters that look for missing related models and fields. Most of them don't seem to have been reported (the added tests cover the root cause). The exception is that this has also fixed #9868. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9979 bcc190cf-cafb-0310-a4f2-bffc1f526a37