Commit Graph

275 Commits

Author SHA1 Message Date
Pavel Dedik bcfbb71c63 Refs #30907 -- Added SplitArrayField._remove_trailing_nulls() hook. 2019-10-28 10:32:09 +01:00
sage 6f82df69ef Refs #12990 -- Moved CheckFieldDefaultMixin to the django.db.models.fields.mixins. 2019-10-17 12:30:29 +02:00
Louise Grandjonc 7d1bf29977 Fixed #30826 -- Fixed crash of many JSONField lookups when one hand side is key transform.
Regression in 6c3dfba892.
2019-10-11 10:55:22 +02:00
ElizabethU 54ea290e5b Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons.
Changed __eq__ to return NotImplemented instead of False if compared to
an object of the same type, as is recommended by the Python data model
reference. Now these models can be compared to ANY (or other objects
with __eq__ overwritten) without returning False automatically.
2019-10-01 17:58:19 +02:00
Nasir Hussain faf4b988fe Fixed #30758 -- Made RangeFields use multiple hidden inputs for initial data. 2019-09-17 12:08:49 +02:00
Simon Charette 6c3dfba892 Fixed #30769 -- Fixed a crash when filtering against a subquery JSON/HStoreField annotation.
This was a regression introduced by 7deeabc7c7
to address CVE-2019-14234.

Thanks Tim Kleinschmidt for the report and Mariusz for the tests.
2019-09-16 08:24:40 +02:00
Mariusz Felisiak b47bb4c4a7 Refs #29598 -- Removed FloatRangeField per deprecation timeline. 2019-09-10 12:01:00 +02:00
Claude Paroz 5495ea3ae0 Updated translation catalogs 2019-09-08 17:35:32 +02:00
Mariusz Felisiak 521308e575 Fixed #30715 -- Fixed crash of ArrayField lookups on ArrayAgg annotations over AutoField. 2019-08-23 10:43:08 +02:00
Mariusz Felisiak b1f669406f Reduced code duplication in ArrayField's lookups. 2019-08-23 10:43:08 +02:00
Mads Jensen 85ac838d9e Fixed #21039 -- Added AddIndexConcurrently/RemoveIndexConcurrently operations for PostgreSQL.
Thanks to Simon Charettes for review.

Co-Authored-By: Daniel Tao <daniel.tao@gmail.com>
2019-08-21 13:10:06 +02:00
Mariusz Felisiak 1f8382d34d
Fixed #30672 -- Fixed crash of JSONField/HStoreField key transforms on expressions with params.
Regression in 4f5b58f5cd.

Thanks Florian Apolloner for the report and helping with tests.
2019-08-14 15:25:35 +02:00
Mariusz Felisiak c19ad2da4b
Fixed #30704 -- Fixed crash of JSONField nested key and index transforms on expressions with params.
Thanks Florian Apolloner for the report and helping with tests.
2019-08-13 08:42:17 +02:00
Jon Dufresne 5b57798513 Removed unnecessary StatAggregate.resolve_expression().
This method only calls the parent method, but without the for_save
argument. The parent class, Aggregate, already ignores the for_save
argument so there is no need for special handling.

Unnecessary since its introduction in e4cf8c8420.
2019-08-08 22:34:25 +02:00
Mariusz Felisiak 05964b2198 Moved indexes in ArrayField's Index and Slice transforms to SQL params.
Follow up to 7deeabc7c7.

These lookups aren't vulnerable to SQL injection because both accept
only integer indexes. It is a part of good practices.
2019-08-05 14:16:35 +02:00
Mariusz Felisiak 7deeabc7c7 Fixed CVE-2019-14234 -- Protected JSONField/HStoreField key and index lookups against SQL injection.
Thanks to Sage M. Abdullah for the report and initial patch.
Thanks Florian Apolloner for reviews.
2019-08-01 09:24:54 +02:00
Mads Jensen a3417282ac Fixed #29824 -- Added support for database exclusion constraints on PostgreSQL.
Thanks to Nick Pope and Mariusz Felisiak for review.

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-07-16 18:04:41 +02:00
Mads Jensen 7174cf0b00 Refs #29824 -- Added RangeOperators helper class. 2019-07-16 16:57:46 +02:00
Mariusz Felisiak 858cfd74e9
Simplified RangeContainedBy by making it subclass PostgresSimpleLookup. 2019-07-13 10:55:19 +02:00
Mariusz Felisiak 70c2b90d95
Simplified DateTimeRangeContains by making it subclass PostgresSimpleLookup. 2019-07-12 17:27:49 +02:00
Mariusz Felisiak 7991111af1
Fixed #30621 -- Fixed crash of __contains lookup for Date/DateTimeRangeField when the right hand side is the same type.
Thanks Tilman Koschnick for the report and initial patch.
Thanks Carlton Gibson the review.

Regression in 6b048b364c.
2019-07-10 10:33:36 +02:00
Chason Chaffin c238e65e29 Fixed #30596 -- Fixed SplitArrayField.has_changed() for non-string base fields.
Thanks to Evgeniy Krysanov for the report and the idea to use to_python.
Thanks to Mariusz Felisiak for the test case.
2019-07-03 13:35:51 +02:00
Claude Paroz d54baf6970 Updated translations from Transifex
Forward port of b3f7262e6e from stable/2.2.x
2019-06-29 16:17:16 +02:00
Jon Dufresne 42b9a23267 Fixed #30400 -- Improved typography of user facing strings.
Thanks Claude Paroz for assistance with translations.
2019-06-28 16:46:18 +02:00
Caio Ariede a3f91891d2 Fixed #30315 -- Fixed crash of ArrayAgg and StringAgg with ordering when used in Subquery. 2019-05-28 10:05:50 +02:00
Thomasina Lee c38e7a79f4 Fixed #30488 -- Removed redundant Coalesce call in SQL generated by SearchVector.
Regression in 405c836336.
2019-05-20 08:34:06 +02:00
Simon Charette 405c836336 Fixed #30385 -- Restored SearchVector(config) immutability.
Regression in 1a28dc3887.

The usage of CONCAT to allow SearchVector to deal with non-text fields
made the generated expression non-IMMUTABLE which prevents a functional
index to be created for it.

Using a combination of COALESCE and ::text makes sure the expression
preserves its immutability.

Refs #29582. Thanks Andrew Brown for the report, Nick Pope for the
review.
2019-04-23 08:11:33 +02:00
Simone Pellizzari d0315584b5
Fixed #30332 -- Fixed crash of ordering by expressions with params in ArrayAgg and StringAgg. 2019-04-06 14:23:29 +02:00
Claude Paroz 3e01aab533 Updated contrib translations from Transifex.
Forwardport of 7090cbf542 from 2.2.x.
2019-04-01 12:22:15 +02:00
Simon Charette 5935a9aead Removed obsolete Lookup hook to prepare rhs expressions.
After 3a505c70e7, all _prepare() methods
return self.
2019-03-21 20:54:21 -04:00
Mariusz Felisiak b435f82939
Reverted "Fixed relative paths imports per isort 4.3.5."
This reverts commit 463fe11bc8 due to
restore of relative paths sorting from isort < 4.3.5 in isort 4.3.10.
2019-03-03 19:33:48 +01:00
Mariusz Felisiak 463fe11bc8
Fixed relative paths imports per isort 4.3.5. 2019-02-25 11:03:30 +01:00
Vinay Karanam 5a36c81f58 Fixed #29391 -- Made PostgresSimpleLookup respect Field.get_db_prep_value(). 2019-02-09 18:05:50 -05:00
Tim Graham 39ebdf5a3c Fixed #30155 -- Dropped support for PostgreSQL 9.4 and PostGIS 2.1. 2019-02-04 18:07:02 -05:00
Tim Graham da5eb3d56c Refs #28370 -- Removed support for the context arg of Field.from_db_value() and Expression.convert_value().
Per deprecation timeline.
2019-01-17 10:52:19 -05:00
can e192223ed9 Fixed #29738 -- Allowed serializing psycopg2 range types in migrations. 2019-01-11 19:32:26 -05:00
Claude Paroz 217f4456d8 Fetched Armenian translations from Transifex 2019-01-10 10:50:42 +01:00
Simon Charette bc05547cd8 Fixed #28658 -- Added DISTINCT handling to the Aggregate class. 2019-01-09 17:52:36 -05:00
Jaap Roes 8a1a919468 Fixed #29997 -- Allowed combining SearchQuerys with different configs.
Seems to be a needless restriction in
978a00e39f.
2018-11-30 09:42:50 -05:00
Simon Charette 2f120ac517 Fixed #29945 -- Moved contrib.postgres uninstallation logic to the app config. 2018-11-12 11:15:48 -05:00
Stefano Chiodino 6de7f9ec60 Fixed #29598 -- Deprecated FloatRangeField in favor of DecimalRangeField. 2018-10-02 19:17:23 -04:00
Claude Paroz 033d842e84 Updated translations from Transifex
Forward port of d5ed08263b from master.
2018-09-29 17:11:49 +02:00
Sergey Fedoseev 8ef8bc0f64 Refs #28909 -- Simplifed code using unpacking generalizations. 2018-09-28 09:57:12 -04:00
Claude Paroz f5e347a640 Fixed #27899 -- Added support for phrase/raw searching in SearchQuery.
Thanks Tim Graham, Nick Pope, and Claude Paroz for contribution and review.
2018-09-17 12:03:52 -04:00
Tom Forbes a3df7574f9 Fixed #29644 -- Made SearchQuery.__str__() reflect negation and grouping. 2018-08-15 16:47:23 -04:00
Nick Pope 743d28f553 Refs #27869 -- Added PostgreSQL version check for GinIndex support. 2018-08-02 11:53:35 -04:00
Nick Pope ff9543b351 Refs #25809, #28990 -- Added PostgreSQL version check for BrinIndex support. 2018-08-02 11:50:40 -04:00
Nick Pope 6b4d1ec8ff Fixed #29614 -- Added BTreeIndex to django.contrib.postres. 2018-08-02 11:42:57 -04:00
Nick Pope d6381d3559 Fixed #28990 -- Added autosummarize parameter to BrinIndex. 2018-08-02 11:26:58 -04:00
Nick Pope 4c36e9e492 Fixed #28887 -- Added SpGistIndex to django.contrib.postgres. 2018-08-02 11:08:08 -04:00
Nick Pope d526b07784 Fixed #26974 -- Added HashIndex to django.contrib.postgres.
Thanks Akshesh Doshi for the initial implementation.
2018-08-02 10:39:18 -04:00
Claude Paroz 287fef8693 Updated contrib translations from Transifex
Forwardport of cbf7e7dc52 from stable/2.1.x.
2018-08-01 09:24:06 -04:00
vinay karanam 3af695eda2 Fixed #28291, #24726 -- Fixed ArrayField with JSONField and RangeFields. 2018-07-27 11:35:54 -04:00
Simon Charette 1a28dc3887 Fixed #29582 -- Fixed a crash when using SearchVector with non text-fields.
The PostgreSQL concat() function handles nulls and non-text values better than
the || operator.
2018-07-21 21:32:21 -04:00
Floris den Hengst 96199e562d Fixed #26067 -- Added ordering support to ArrayAgg and StringAgg. 2018-06-28 20:29:33 -04:00
Claude Paroz 77f6340d3b Updated translation catalogs 2018-05-17 12:09:40 +02:00
Hasan Ramezani 31ce1f7433 Refs #29131 -- Fixed space handling in ArrayField's item_invalid message. 2018-05-13 17:57:28 -04:00
Hasan Ramezani b33f10d8cc Refs #29131 -- Made ArrayField error messages index from 1 instead of 0. 2018-04-22 22:18:46 -04:00
Alasdair Nicol 65c44a5c1d Fixed #29307 -- Fixed inspectdb import paths for django.contrib.postgres fields.
Thanks erindy for the report.
2018-04-10 09:33:05 -04:00
Vinay Karanam 6a1957bb98 Fixed #28950 -- Fixed ArrayField.has_changed() for empty values. 2018-04-07 17:53:33 -04:00
Dmitry Dygalo c979c0a2b8 Fixed #25718 -- Made a JSONField lookup value of None match keys that have a null value. 2018-04-04 10:53:46 -04:00
Tim Graham 4f7467b690
Refs #28577 -- Added check for HStoreField to prevent mutable default. 2018-04-03 11:12:56 -04:00
Claude Paroz 75527c0f83 Updated translations from Transifex
Forward port of 2126e9317e from stable/2.0.x.
2018-02-28 20:06:52 +01:00
Nick Pope 1f0813ca7e Fixed string format specifier for fillfactor in GistIndex. 2018-01-12 08:49:26 -05:00
Tim Graham db9cd1b37e
Unified construction of WITH SQL in contrib.postgres.indexes. 2018-01-10 14:59:15 -05:00
Nick Pope d95f1e711b Allowed indexes in contrib.postgres to have suffixes of any length. 2018-01-09 13:33:53 -05:00
Sergey Fedoseev 1490611038 Fixed #28908 -- Allowed ArrayField lookups on ArrayAgg annotations. 2017-12-30 14:46:52 -05:00
Nick Pope d13a9e44de Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking. 2017-12-11 07:08:45 -05:00
Claude Paroz d0932ce8fc Updated contrib translations from Transifex
Forward port of 765e6de924 from stable/2.0.x
2017-12-01 21:51:30 +01:00
Mads Jensen f0a68c2511 Fixed #28702 -- Made query lookups for CIText fields use citext. 2017-11-29 10:35:37 -05:00
shanghui 1907fc9b12 Fixed #28534 -- Made JSONField.has_changed() ignore key order and consider True/1 values as different. 2017-11-11 19:45:23 -05:00
Imran Iqbal 3e7497a05e Fixed #28758 -- Fixed RangeMax/MinValueValidators crash with unbound ranges. 2017-11-07 15:07:03 -05:00
Michał Pasternak e554b72a2a Fixed #28749 -- Added subquery support for ArrayField's __in lookup. 2017-11-01 15:12:18 -04:00
Flávio Juvenal f6e1789654 Fixed #28577 -- Added checks for ArrayField and JSONField to prevent mutable defaults. 2017-10-20 13:17:22 -04:00
Tim Graham 98706bb35e Refs #27857 -- Replaced json.loads() ValueError exception catching with JSONDecodeError. 2017-09-25 17:11:06 -04:00
Tim Graham f7b0532ec0 Refs #28334 -- Fixed crash in hstore/citext oid caching during test db creation. 2017-09-19 07:04:31 -04:00
Sergey Fedoseev 873858009c Simplified Count.convert_value() and RegrCount.convert_value(). 2017-09-16 14:31:51 +05:00
Igor Gumenyuk 86a18dc46a Fixed #28334 -- Added caching for hstore/citext OIDs. 2017-09-15 10:00:12 -04:00
Mariusz Felisiak 0214f367bc Merged isinstance() calls. 2017-09-13 15:00:45 -04:00
Simon Charette 08654a99bb Fixed #28492 -- Defined default output_field of expressions at the class level.
This wasn't possible when settings were accessed during Field initialization
time as our test suite setup script was triggering imports of expressions
before settings were configured.
2017-09-11 12:22:39 -04:00
Claude Paroz a599ae6018 Refs #24928 -- Added introspection support for PostgreSQL RangeField 2017-09-09 20:22:47 +02:00
Claude Paroz 0cbb6ac007 Refs #24928 -- Added introspection support for PostgreSQL JSONField
Thanks Adam Johnson and Tim Graham for the reviews.
2017-09-09 18:26:29 +02:00
Mads Jensen f4135783ad Fixed #28126 -- Added GistIndex to contrib.postgres.
Thanks to Marc Tamlyn for the initial patch.
2017-09-04 21:08:02 -04:00
Mads Jensen e016c4c65b Refs #27869 -- Omitted field kwargs from GinIndex.deconstruct() if they're None. 2017-08-26 10:32:03 -04:00
Mads Jensen fb42d02471 Refs #25809 -- Omitted pages_per_range from BrinIndex.deconstruct() if it's None. 2017-08-26 09:45:45 -04:00
Tom b78d100fa6 Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
Claude Paroz 831358f23d Fixed #28465 -- Unified index SQL creation in DatabaseSchemaEditor
Thanks Tim Graham for the review.
2017-08-08 17:37:43 +02:00
Mariusz Felisiak 7724879b52 Removed unused _combine() node argument from various combinable classes.
Unused since f59fd15c49 (Combinable) and
since its introduction in 2d877da855
(SearchVectorCombinable/SearchQueryCombinable/SearchQuery).
2017-08-02 21:21:32 -04:00
Tim Graham 487362fa8f Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value().
Unused since a0d166306f.
2017-07-20 16:30:08 -04:00
Sergey Fedoseev 504ce3914f Fixed #28394 -- Allowed setting BaseExpression.output_field (renamed from _output_field). 2017-07-14 21:56:01 -04:00
Mariusz Felisiak 617505ca89 Fixed #28330 -- Prevented passing positional arguments to an Index.
Thanks Tim Graham for the review.
2017-06-27 13:39:37 -04:00
Mads Jensen de42adf4ff Fixed #27869 -- Added fastupdate and gin_pending_list_limit params to GinIndex.
Thanks Tim Graham and Markus Holtermann for review.
2017-06-20 10:54:39 -04:00
Tim Graham d1d7348001 Refs #25809 -- Removed BrinIndex.__repr__().
In retrospect, implementing a __repr__() for index subclasses doesn't
seem worthwhile.
2017-06-17 18:41:53 -04:00
Romulo Furtado 9dd2443942 Fixed #27161 -- Fixed form validation when an ArrayField's base_field has choices. 2017-06-13 19:44:24 -04:00
Claude Paroz 43b574007e Fixed #28192 -- Required passing optional form field args as keyword args. 2017-06-03 10:49:01 -04:00
Claude Paroz ae2ac4c400 Updated translations from Transifex
Forward port of 02158a785e from stable/1.11.x
2017-05-31 21:43:40 +02:00
Jon Dufresne 21046e7773 Fixed #28249 -- Removed unnecessary dict.keys() calls.
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Tom e9c7f118a7 Fixed #28227 -- Allowed importing BaseRangeField/RangeWidget from contrib.postgres.forms. 2017-05-20 21:17:06 -04:00
Simon Charette b91868507a Fixed #28161 -- Fixed return type of ArrayField(CITextField()).
Thanks Tim for the review.
2017-05-04 00:02:14 -04:00
Tim Graham 1ebd295082 Fixed #28040 -- Updated SplitArrayWidget to use template-based widget rendering.
Thanks Preston Timmons for review.
2017-04-29 19:00:21 -04:00