summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2009-02-25Fixed #10290: do not use aliases when adding extra_selects to the GROUP BY ↵Ian Kelly
clause, to generate compliant sql that will be accepted by Oracle. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9905 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-24Fixed #10347 -- Fixed incorrect AttributeError raised when attempting to ↵Karen Tracey
access a FileField without an instance. Thanks for the report and patch dc. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9902 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-24Fixed #10161 -- Modified evaluation of query expressions to allow for ↵Russell Keith-Magee
operators that take the form of functions. This is mostly for the benefit of Oracle, but it should prove useful later on. Thanks to Ian for the report and feedback on the fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9898 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-23Fixed #10182 -- Corrected realiasing and the process of evaluating values() ↵Russell Keith-Magee
for queries with aggregate clauses. This means that aggregate queries can now be used as subqueries (such as in an __in clause). Thanks to omat for the report. This involves a slight change to the interaction of annotate() and values() clauses that specify a list of columns. See the docs for details. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9888 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-17Fixed #10289 -- Corrected typo that produced oversensitive rejection of ↵Russell Keith-Magee
Postgres versions. Thanks to Ian Kelly for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9845 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-16Fixed #10196: Restored setting of image file width and height fields lost in ↵Karen Tracey
r9766, and added tests for this function. Thanks to vicvicvic for the ticket and patch and for Alex for reminding me not to break non-PIL-boxes with the new tests. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9841 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-16Fixed #10121: Restored code lost in r9766 that prevented overwriting an ↵Karen Tracey
already-set blank=True FileField with blank. This would happen, for instance, in the admin if an object with a FileField was edited/saved but the file not re-uploaded, resulting in the association to the previously-uploaded file being lost. Adding the ability to re-blank FileFields when they are once set is the subject of a different ticket (#7048), for now the pre-9766 behavior here has just been restored in order to avoid unexpected data loss. Thanks to Alex for help in understanding how to fix this without un-doing the intent of r9766. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9840 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-16Fixed #10248 -- Corrected handling of the GROUP BY clause when using a ↵Russell Keith-Magee
DateQuerySet. Thanks to Alex Gaynor for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9839 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-16Fixed #10132 -- Corrected the interaction of extra() queries with the ↵Russell Keith-Magee
values() clause. Thanks to Glen Maynard for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9838 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-16Fixed #10256 -- Corrected the interaction of extra(select=) with values() ↵Russell Keith-Magee
and values_list() where an explicit list of columns is requested. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9837 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-11Fixed #10224: Don't attempt to decode binary string data in the Oracle backend.Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9821 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-08Fixed #10160 -- Modified evaluation of F() expressions to protect against ↵Russell Keith-Magee
potential SQL injection attacks. Thanks to Ian Kelly for the suggestion and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9820 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-08Fixed #10199 -- Modified aggregate() calls to clone the base query so that ↵Russell Keith-Magee
the base query can be reused. Thanks to Alex Gaynor for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9819 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-08Fixed #7672 -- Added a 'week_day' lookup type. Many thanks to Ross Poulton ↵Karen Tracey
for the proposal and implementation on all built-in database backends.. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9818 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-03Fixed #10125: fixed the Oracle dsn construction code that was broken in [9712].Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9812 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-03Fixed #10127 -- Corrected (no, really, this time!) the way the ↵Russell Keith-Magee
select_related() cache is populated when annotations are also contained in the query. Thanks to Sylvain Pasche <sylvain.pasche@gmail.com> for the report and test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9808 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-02Fixed #10127 -- Corrected handling of select_related() in annotate() calls. ↵Russell Keith-Magee
Thanks to Sylvain Pasche <sylvain.pasche@gmail.com> for the report and test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9805 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-02Fixed #10142 -- Added docs and an exploding error message to highlight an ↵Russell Keith-Magee
error present in the implementation of STDDEV_POP and VAR_POP in PostgreSQL 8.2-8.2.4 that will give incorrect answers (the database function mistakenly returns sample, rather than population deviation/variance). Thanks to Vinay Sajip <vinay_sajip@yahoo.co.uk> for the report, and Ian Kelly for pointing out the cause of the problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9804 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-29Fixed #7210 -- Added F() expressions to query language. See the ↵Russell Keith-Magee
documentation for details on usage. Many thanks to: * Nicolas Lara, who worked on this feature during the 2008 Google Summer of Code. * Alex Gaynor for his help debugging and fixing a number of issues. * Malcolm Tredinnick for his invaluable review notes. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9792 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-24Refs #10113 -- Modified the generated SQL to remove redundant GROUP BY ↵Russell Keith-Magee
elements, and modified the test added in [9788] to remove a test result that depended on a potentially ambiguous database ordering. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9791 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-24Fixed #10113 -- Ensured that joined fields mentioned in order_by() are ↵Russell Keith-Magee
included in the GROUP_BY clause on those backends that require it. Thanks to Koen Biermans <koen.biermans@werk.belgie.be> for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9788 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-23Fixed #10089 -- Corrected handling of aggregates when the query set contains ↵Russell Keith-Magee
no items (and the cursor returns None). Thanks to Kyle Fox for the report, and david for the initial patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9786 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-23Fixed #10100 -- Corrected handling of the negation required exclude() ↵Russell Keith-Magee
clauses that reference aggregate columns. Thanks to Anossov for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9785 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-20Fixed #10064 -- Corrected handling of aggregate queries that also use ↵Russell Keith-Magee
select_related(). Thanks to olivius for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9781 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-19Fixed #9275: Extended the Oracle date format to allow DATE columns to be ↵Ian Kelly
used with DateTimeFields, especially when using legacy databases. Thanks to hollerith for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9779 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #5543: callproc() and friends now work with Oracle and our ↵Matt Boersma
FormatStylePlaceholderCursor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9767 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #10044: You can now assign directly to file fields ↵Jacob Kaplan-Moss
(`instance.filefield = somefile`). Thanks, Marty Alchin. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9766 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #6767: corrected a 2.3 compatibility issue in [9750]. Thanks to tlow.Ian Kelly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9761 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #9997 -- Fixed use of ValuesQuerySets as rvalues in filters.Malcolm Tredinnick
Previous behaviour was pretty stupid. Let's never speak of it again. New behaviour both works and is documented. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9759 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #8138 -- Changed django.test.TestCase to rollback tests (when the ↵Karen Tracey
database supports it) instead of flushing and reloading the database. This can substantially reduce the time it takes to run large test suites. This change may be slightly backwards incompatible, if existing tests need to test transactional behavior, or if they rely on invalid assumptions or a specific test case ordering. For the first case, django.test.TransactionTestCase should be used. TransactionTestCase is also a quick fix to get around test case errors revealed by the new rollback approach, but a better long-term fix is to correct the test case. See the testing doc for full details. Many thanks to: * Marc Remolt for the initial proposal and implementation. * Luke Plant for initial testing and improving the implementation. * Ramiro Morales for feedback and help with tracking down a mysterious PostgreSQL issue. * Eric Holscher for feedback regarding the effect of the change on the Ellington testsuite. * Russell Keith-Magee for guidance and feedback from beginning to end. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9756 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-15Fixed #6767: changed the way the Oracle backend fetches numbers to prevent ↵Ian Kelly
decimals being returned as floats. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9750 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-15Fixed #10033: In the Oracle backend, restored code lost in the aggregation ↵Karen Tracey
merge that ensured a datetime object is returned for fields known to be datetimes, even when the time part is all zero. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9747 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-15Removed an redundant import from the Oracle backend. Thanks to Ramiro ↵Russell Keith-Magee
Morales for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9745 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-15Fixed #3566 -- Added support for aggregation to the ORM. See the ↵Russell Keith-Magee
documentation for details on usage. Many thanks to: * Nicolas Lara, who worked on this feature during the 2008 Google Summer of Code. * Alex Gaynor for his help debugging and fixing a number of issues. * Justin Bronn for his help integrating with contrib.gis. * Karen Tracey for her help with cross-platform testing. * Ian Kelly for his help testing and fixing Oracle support. * Malcolm Tredinnick for his invaluable review notes. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9742 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-08Fixed #9985 -- qs.values_list(...).values(...) was constructing incorrect SQL.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9717 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-08Using querysets as an rvalue in filter() calls was causing an unnecessaryMalcolm Tredinnick
database query, due to a bool() call. This change stops that behaviour. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9715 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-08Remove any ordering from a nested select query (in the where-clause).Malcolm Tredinnick
This fixes r9701 for Oracle (the test introduced there did its job and failed previously). git-svn-id: http://code.djangoproject.com/svn/django/trunk@9714 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-08Fixed #9972: The dbshell command was ignoring the DATABASE_HOST and ↵Ian Kelly
DATABASE_PORT settings in Oracle. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9713 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-06Fixed #9862 -- For better SQL portability, don't specify "NULL" on nullableMalcolm Tredinnick
columns when creating tables. Patch from Ian Kelly. Columns are NULL by default, so we only need to use "NOT NULL" when we want non-default behaviour. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9703 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-05Nested query support.Malcolm Tredinnick
This extends previous functionality that allowed passing Query objects as the rvals to filters. You can now pass QuerySets, which requires less poking at opaque attributes. See the documentation of the "__in" lookup type for the details. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9701 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-05Reconciling where- and having-clause behaviour.Malcolm Tredinnick
Extricated the code that works directly with SQL columns (standard "where" stuff) from the the code that takes SQL fragments and combines it with lookup types and values. The latter portion is now more generally reusable. Any existing code that was poking at Query.having will now break in very visible ways (no subtle miscalculations, which is a good thing). This patch, en passant, removes the existing "having" test, since the new implementation requires more setting up than previously. The aggregates support (currently in a separate codebase) has tests for this functionality that work as a replacement for the removed test. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9700 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-03Fixed #9942 -- Added a to_python handler for FloatField to ensure correct ↵Russell Keith-Magee
typing of deserialized data before saving. Underlying problem is analogous to #8298, fixed in [8515]. Thanks to David Larlet <larlet@gmail.com> for the report and fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9695 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-17Fixed a typo in r9650.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9659 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-16Fixed #9814 -- Allowed SafeStrings to be saved to sqlite DB when running on ↵Karen Tracey
Python 2.6. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9654 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-16Fixed #9431 -- Added extra validation for VARCHAR-based fields on MySQL.Malcolm Tredinnick
max_length > 255 and unique=True is not permitted. Based on a patch from adamnelson. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9650 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-16Fixed #9786 -- Fixed inequality checking for ↵Malcolm Tredinnick
django.db.models.fields.file.FieldFile class. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9647 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-11Reformatted PL/SQL flush left so "manage.py sqlall [app] | manage.py ↵Matt Boersma
dbshell" works with Oracle. Also some PEP8 cleanup. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9644 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-11Removed django.db.models.options.Options.one_to_one_field.Malcolm Tredinnick
The last use of it was removed in r9641 (it's internal API) and it's been broken since r7477, as there's no longer a maximum of one OneToOneField per model, so anything relying on it contained subtle bugs. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9643 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-10If an SQL query doesn't specify any ordering, avoid the implicit sortMalcolm Tredinnick
that happens with MySQL when a "GROUP BY" clause is included. This is a backend-specific operation, so any other databases requiring similar encouragement can have a function added to their own backend code. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9637 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-12-09Fixed #9778 -- Added some special casing of the "Join on field 'abc'" errorMalcolm Tredinnick
message. It now gives an extra hint if there's a chance you just made a typo in the lookup type. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9620 bcc190cf-cafb-0310-a4f2-bffc1f526a37