summaryrefslogtreecommitdiff
path: root/django/db/models/functions
AgeCommit message (Collapse)Author
2023-07-30[4.2.x] Fixed warnings per flake8 6.1.0.Mariusz Felisiak
Backport of 22b0b73c7732ba67db4e69fd9fa75aad84c8e5c4 from main
2023-02-01[4.2.x] Refs #33476 -- Applied Black's 2023 stable style.David Smith
Black 23.1.0 is released which, as the first release of the year, introduces the 2023 stable style. This incorporates most of last year's preview style. https://github.com/psf/black/releases/tag/23.1.0 Backport of 097e3a70c1481ee7b042b2edd91b2be86fb7b5b6 from main
2023-01-09Refs #30240 -- Fixed argument name for MySQLSHA2Mixin.as_mysql() and ↵Marti Raudsepp
PostgreSQLSHAMixin.as_postgresql() methods.
2022-12-15Fixed #33308 -- Added support for psycopg version 3.Daniele Varrazzo
Thanks Simon Charette, Tim Graham, and Adam Johnson for reviews. Co-authored-by: Florian Apolloner <florian@apolloner.eu> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-10-24Refs #34070 -- Fixed date format in Now() on SQLite.Mariusz Felisiak
Regression in 649b28eab6765cd6b2b40c779a18ecafc99b43d7.
2022-10-06Refs #30158 -- Removed alias argument for Expression.get_group_by_cols().Simon Charette
Recent refactors allowed GROUP BY aliasing allowed for aliasing to be entirely handled by the sql.Query.set_group_by and compiler layers.
2022-10-03Fixed #34070 -- Added subsecond support to Now() on SQLite and MySQL.Lily Foote
2022-07-06Refs CVE-2022-34265 -- Properly escaped Extract() and Trunc() parameters.Simon Charette
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2022-07-04Fixed CVE-2022-34265 -- Protected Trunc(kind)/Extract(lookup_name) against ↵Mariusz Felisiak
SQL injection. Thanks Takuto Yoshikai (Aeye Security Lab) for the report.
2022-02-07Refs #33476 -- Refactored code to strictly match 88 characters line length.Mariusz Felisiak
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2021-09-29Fixed #33141 -- Renamed Expression.empty_aggregate_value to ↵David Wobrock
empty_result_set_value.
2021-09-16Fixed #32365 -- Made zoneinfo the default timezone implementation.Carlton Gibson
Thanks to Adam Johnson, Aymeric Augustin, David Smith, Mariusz Felisiak, Nick Pope, and Paul Ganssle for reviews.
2021-07-15Refs #32508 -- Raised Type/ValueError instead of using "assert" in ↵Daniyal
django.db.models. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-02Refs #26430 -- Re-introduced empty aggregation optimization.Simon Charette
The introduction of the Expression.empty_aggregate_value interface allows the compilation stage to enable the EmptyResultSet optimization if all the aggregates expressions implement it. This also removes unnecessary RegrCount/Count.convert_value() methods. Disabling the empty result set aggregation optimization when it wasn't appropriate prevented None returned for a Count aggregation value. Thanks Nick Pope for the review.
2021-06-22Refs #32858, Refs #32392 -- Restored using :: shortcut syntax in Cast() on ↵Mariusz Felisiak
PostgreSQL. This partly reverts commit fdfbc66331292def201c9344e3cd29fbcbcd076a unnecessary since b69b0c3fe871167a0ca01bb439508e335143801f.
2021-05-17Fixed #32750 -- Fixed crash of Extract() transform on OuterRef() expressions.Artur Beltsov
Thanks Simon Charette for the review.
2021-03-29Fixed #31487 -- Added precision argument to Round().Nick Pope
2021-03-24Removed trailing whitespaces in error messages.Mariusz Felisiak
2021-01-29Fixed #32392 -- Fixed ExclusionConstraint crash with Cast() in expressions.Tilman Koschnick
2020-12-02Fixed #32179 -- Added JSONObject database function.Artur Beltsov
2020-10-21Fixed #26390 -- Disabled grouping by Random().Étienne Beaulé
Thanks to Tzu-ping Chung for the tests.
2020-10-14Fixed #31640 -- Made Trunc() truncate datetimes to Date/TimeField in a ↵David-Wobrock
specific timezone.
2020-10-14Refs #31640 -- Made Extract raise ValueError when using tzinfo with ↵David-Wobrock
Date/TimeField.
2020-10-02Fixed #32060 -- Added Random database function.Nick Pope
2020-09-02Fixed #31948 -- Added tzinfo parameter to TruncDate() and TruncTime().Joe Jackson
2020-08-11Fixed #21181 -- Added Collate database function.Tom Carrick
Thanks Simon Charette for reviews.
2020-07-30Bumped minimum isort version to 5.1.0.David Smith
Fixed inner imports per isort 5. isort 5.0.0 to 5.1.0 was unstable.
2020-07-02Fixed #31758 -- Removed unneeded BytesToCharFieldConversionMixin.Sergey Fedoseev
Bug was fixed in mysqlclient 1.3.13.
2020-06-16Refs #30446 -- Defined default output_field of text database functions.Simon Charette
This prevented the default behavior of BaseExpression._resolve_output_field from error'ing out when such functions accepted both expressions from mixed types (e.g. SubStr(CharField, IntegerField, IntegerField)).
2020-05-08Fixed #12990, Refs #27694 -- Added JSONField model field.sage
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael Michel for mentoring this Google Summer of Code 2019 project and everyone else who helped with the patch. Special thanks to Mads Jensen, Nick Pope, and Simon Charette for extensive reviews. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-02-04Simplified imports from django.db and django.contrib.gis.db.Nick Pope
2019-10-02Removed redundant names in django.db.models.functions.__all__.Mariusz Felisiak
2019-10-02Fixed #30821 -- Added ExtractIsoWeekYear database function and iso_week_day ↵Anatol Ulrich
lookup.
2019-07-12Fixed #30602 -- Made Extract raise ValueError when using unsupported lookups ↵Hasan Ramezani
for DurationField.
2019-06-05Fixed #30542 -- Fixed crash of numerical aggregations with filter.Étienne Beaulé
Filters in annotations crashed when used with numerical-type aggregations (i.e. Avg, StdDev, and Variance). This was caused as the source expressions no not necessarily have an output_field (such as the filter field), which lead to an AttributeError: 'WhereNode' object has no attribute output_field. Thanks to Chuan-Zheng Lee for the report. Regression in c690afb873cac8035a3cb3be7c597a5ff0e4b261 and two following commits.
2019-03-22Fixed #30271 -- Added the Sign database function.Nick Pope
2019-03-20Fixed #30240 -- Added SHA1, SHA224, SHA256, SHA384, and SHA512 database ↵Nick Pope
functions. Thanks Mariusz Felisiak and Tim Graham for reviews.
2019-03-07Fixed #29754 -- Added is_dst parameter to Trunc database functions.ahbk
2019-02-21Refs #28643 -- Added MD5 database function.Mariusz Felisiak
Thanks Tim Graham, Nick Pope and Simon Charette for reviews.
2019-02-04Fixed #30156 -- Dropped support for SpatiaLite 4.1 and 4.2.Tim Graham
2019-01-14Refs #28643 -- Extracted DurationField logic for Avg() and Sum() into mixin.Nick Pope
Also addresses Sum() not handling the filter option correctly.
2019-01-14Refs #28643 -- Changed Avg() to use NumericOutputFieldMixin.Nick Pope
Keeps precision instead of forcing DecimalField to FloatField.
2019-01-14Refs #28643 -- Moved db function mixins to a separate module.Nick Pope
2019-01-14Avoided calling as_oracle() for SQLite in Left database function.Nick Pope
2019-01-14Corrected comment in TruncTime database function.Nick Pope
2019-01-14Simplified overriding source expressions in some database functions.Nick Pope
2019-01-12Refs #28643 -- Added Reverse database function.Nick Pope
Thanks Mariusz Felisiak for Oracle advice and review.
2019-01-10Refs #28643 -- Added NullIf database function.Mads Jensen
Thanks Nick Pope, Mariusz Felisiak, and Tim Graham for reviews.
2019-01-08Simplified some imports for database functions.Nick Pope
Used more specific modules to reduce the risk of circular imports.