Vytis Banaitis
8838d4dd49
Refs #23919 -- Replaced kwargs.pop() with keyword-only arguments.
2017-02-01 11:41:56 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
d170c63351
Refs #23919 -- Removed misc references to Python 2.
2017-01-21 20:02:00 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Matthew Schinckel
236ebe94bf
Fixed #27149 -- Added Subquery and Exists database expressions.
...
Thanks Josh Smeaton for Oracle fixes.
2017-01-14 09:12:24 -05:00
anabelensc
1c12df4aa6
Fixed #25912 -- Added binary left/right shift operators to F expressions.
...
Thanks Mariusz Felisiak for review and MySQL advice.
2017-01-03 14:15:46 -05:00
Mariusz Felisiak
7d14889aa3
Fixed #27615 -- Used timedeltas as arguments to Oracle database driver.
...
Removed unused DatabaseFeatures.driver_supports_timedeltas workaround.
2016-12-29 15:49:18 -05:00
Yohann Gabory
47ef8f31f3
Fixed #13312 -- Allowed specifying the order of null fields in queries.
...
Thanks Mariusz Felisiak for finishing the patch.
2016-12-08 09:54:07 -05:00
Sergey Fedoseev
f909fa84be
Fixed #25708 -- Fixed annotations with geometry values.
2016-12-07 14:16:29 -05:00
Johannes Dollinger
46509cf13d
Moved EmpytResultSet to django.core.exceptions.
...
This removes the need for some inner imports.
2016-08-08 10:43:34 -04:00
Johannes Dollinger
1410616e0e
Fixed #26433 -- Fixed Case expressions with empty When.
2016-08-08 10:43:33 -04:00
Josh Smeaton
2a4af0ea43
Fixed #25774 -- Refactor datetime expressions into public API
2016-05-18 20:14:58 +10:00
Claude Paroz
388bb5bd9a
Fixed #22936 -- Obsoleted Field.get_prep_lookup()/get_db_prep_lookup()
...
Thanks Tim Graham for completing the initial patch.
2016-05-04 20:02:01 +02:00
Ville Skyttä
575a9a791e
Normalized "an SQL" spelling.
2016-05-03 19:30:48 -04:00
Tim Graham
a755e0657e
Removed unused BaseExpression.refs_aggregate().
...
Unused since afe0bb7b13
.
2016-04-22 13:04:13 -04:00
Marc Tamlyn
2d877da855
Refs #3254 -- Added full text search to contrib.postgres.
...
Adds a reasonably feature complete implementation of full text search
using the built in PostgreSQL engine. It uses public APIs from
Expression and Lookup.
With thanks to Tim Graham, Simon Charettes, Josh Smeaton, Mikey Ariel
and many others for their advice and review. Particular thanks also go
to the supporters of the contrib.postgres kickstarter.
2016-04-22 10:44:37 +01:00
Tim Graham
2cd2d18851
Fixed W503 flake8 warnings.
2016-04-04 17:14:26 -04:00
Kai Feldhoff
5336158990
Fixed #25759 -- Added keyword arguments to customize Expressions' as_sql().
2016-03-29 08:09:58 -04:00
Tim Graham
fb84e877ce
Normalized Func.as_sqlite() signature.
2016-03-28 10:59:12 -04:00
Simon Charette
766afc22a1
Fixed #24793 -- Unified temporal difference support.
2016-02-26 12:25:12 -05:00
Anssi Kääriäinen
46ecfb9b3a
Fixed #26196 -- Made sure __in lookups use to_field as default.
...
Thanks Simon Charette for the test.
2016-02-11 11:09:08 -05:00
varunnaganathan
3eba9638ee
Fixed #25316 -- Fixed a crash with order_by() and values() after annotate().
2016-01-02 07:06:54 -05:00
Josh Soref
93452a70e8
Fixed many spelling mistakes in code, comments, and docs.
2015-12-03 12:48:24 -05:00
Dmitry Dygalo
917100eed7
Simplified dict initialization in two places.
2015-11-07 21:46:46 +01:00
Sergey Fedoseev
0a26121797
Refs #25629 -- Added `arity` class attribute to `Func` expressions
2015-11-02 20:09:21 +01:00
Alex Hill
134ca4d438
Fixed #24509 -- Added Expression support to SQLInsertCompiler
2015-09-22 23:35:24 +10:00
Adam Chainz
3fe3887a2e
Fixed #25377 -- Changed Count queries to execute COUNT(*) instead of COUNT('*').
2015-09-14 13:41:35 -04:00
Michael Tänzer
3bbaf84d65
Fixed #18247 -- Added cast to NUMERIC for Decimals on sqlite
...
On sqlite the SUM() of a decimal column doesn't have a NUMERIC type so
when comparing it to a string literal (which a Decimal gets converted to
in Django) it is not compared as expected.
2015-06-30 18:27:42 -04:00
Anssi Kääriäinen
7b05d2fdae
Fixed #24752 -- query crash when reusing Case expressions
...
Case expressions weren't copied deep enough (self.cases list was
reused resulting in an error).
2015-05-05 11:38:12 -04:00
Josh Smeaton
02a2943e4c
Fixed #24485 -- Allowed combined expressions to set output_field
2015-03-22 17:36:55 +11:00
Josh Smeaton
127b3873d0
Fixed #24508 -- Made annotations commutative
2015-03-22 17:28:42 +11:00
Josh Smeaton
88d798d71a
Refs #24485 -- Renamed some expression types
2015-03-17 08:40:18 -04:00
Josh Smeaton
ff2aa40192
Fixed #24486 -- Fixed error with datetime and DurationField arithmetic
2015-03-17 08:35:49 -04:00
Josh Smeaton
ceaf31adff
Fixed #24420 -- Allowed ordering by case expressions
2015-03-06 13:30:02 +11:00
Marc Tamlyn
32d4db66b9
Update converters to take a consistent set of parameters.
...
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.
2015-02-20 11:35:52 +00:00
Marc Tamlyn
4755f8fc25
Fixed #24343 -- Ensure db converters are used for foreign keys.
...
Joint effort between myself, Josh, Anssi and Shai.
2015-02-20 11:35:51 +00:00
Josh Smeaton
e2d6e14662
Refs #14030 -- Improved expression support for python values
2015-02-12 08:46:25 +11:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Josh Smeaton
14d0bd67d4
Refs #14030 -- Renamed CombinableMixin to Combinable
...
Removed unused method and updated docstrings.
2015-01-28 10:59:30 +11:00
Josh Smeaton
7171bf755b
Refs #14030 -- Added repr methods to all expressions
2015-01-28 10:59:30 +11:00
Josh Smeaton
8196e4bdf4
Fixed #24154 -- Backends can now check support for expressions
2015-01-27 12:20:06 +11:00
Michał Modzelewski
65246de7b1
Fixed #24031 -- Added CASE expressions to the ORM.
2015-01-12 18:15:34 -05:00
Josh Smeaton
21b858cb67
Fixed #24060 -- Added OrderBy Expressions
2015-01-13 09:39:55 +11:00
Anssi Kääriäinen
0c7633178f
Fixed #24020 -- Refactored SQL compiler to use expressions
...
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-08 14:07:54 -05:00
Josh Smeaton
8713ea7568
Fixed null handling in Value expression
2015-01-07 19:07:49 -05:00
Marc Tamlyn
5ca82e710e
Fixed #24033 -- Use interval type on Oracle.
...
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than
storing as a NUMBER(19) of microseconds.
There are issues with cx_Oracle which require some extra data
manipulation in the database backend when constructing queries, but it
handles the conversion back to timedelta objects cleanly.
Thanks to Shai for the review.
2014-12-23 10:38:32 +00:00
Marc Tamlyn
57554442fe
Fixed #2443 -- Added DurationField.
...
A field for storing periods of time - modeled in Python by timedelta. It
is stored in the native interval data type on PostgreSQL and as a bigint
of microseconds on other backends.
Also includes significant changes to the internals of time related maths
in expressions, including the removal of DateModifierNode.
Thanks to Tim and Josh in particular for reviews.
2014-12-20 18:28:29 +00:00
Anssi Kääriäinen
4a2a433e7d
Refs #24020 -- return expressions from get_group_by_cols()
2014-12-18 06:01:07 -07:00
Josh Smeaton
267a1dcd9b
Fixed #23941 -- Removed implicit decimal formatting from expressions.
2014-12-12 10:17:48 -05:00