Commit Graph

134 Commits

Author SHA1 Message Date
Simon Charette c2d4926702 Fixed #31910 -- Fixed crash of GIS aggregations over subqueries.
Regression was introduced by fff5186 but was due a long standing issue.

AggregateQuery was abusing Query.subquery: bool by stashing its
compiled inner query's SQL for later use in its compiler which made
select_format checks for Query.subquery wrongly assume the provide
query was a subquery.

This patch prevents that from happening by using a dedicated
inner_query attribute which is compiled at a later time by
SQLAggregateCompiler.

Moving the inner query's compilation to SQLAggregateCompiler.compile
had the side effect of addressing a long standing issue with
aggregation subquery pushdown which prevented converters from being
run. This is now fixed as the aggregation_regress adjustments
demonstrate.

Refs #25367.

Thanks Eran Keydar for the report.
2020-11-04 09:54:58 +01:00
Tim Graham c3b1e41288 Removed unneeded @no_oracle skips. 2020-10-27 07:14:16 +01:00
Tim Graham 7734337bcb Made OracleSpatialAdapter clone geometries rather than mutate them. 2020-10-27 07:14:16 +01:00
Tim Graham 755dbf39fc Replaced @no_oracle skips with DatabaseFeatures.allows_group_by_lob. 2020-10-22 18:16:58 +02:00
Simon Charette 1b7623fdfd Refs #30446 -- Defined output_field of BoundingCircle() GIS database function.
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. BoundingCircle(Polygon, num_seg=12)).
2020-07-14 09:36:17 +02:00
Adam Johnson 4bb33bb074 Fixed #31459 -- Fixed handling invalid indentifiers in URL path conversion.
This patch adjusted existing tests that used invalid identifiers.
2020-04-15 11:29:35 +02:00
Mariusz Felisiak c48a7d3a8a Fixed typos in tolerance gis_tests. 2020-03-10 07:55:31 +01:00
Mariusz Felisiak 5ca76baa72
Fixed GeoQuerySetTest.test_unionagg_tolerance() test on Oracle 18c. 2020-03-05 08:55:34 +01:00
Mariusz Felisiak 6695d29b1c Fixed CVE-2020-9402 -- Properly escaped tolerance parameter in GIS functions and aggregates on Oracle.
Thanks to Norbert Szetei for the report.
2020-03-04 09:04:50 +01:00
=Pratik Kumar 20ba3ce4ac Fixed #30846 -- Made PostGIS backend respect Index's name argument. 2020-02-10 13:25:32 +01:00
Hannes Ljungberg adcf1a7308 Fixed #31248 -- Added missing space before USING SQL on PostGIS. 2020-02-10 11:20:45 +01:00
Sergey Fedoseev 31e2ab345b Fixed #31195 -- Relaxed GeometryDistance test for PROJ 5.2+. 2020-01-21 22:16:23 +01:00
Sergey Fedoseev a920c0b852 Fixed #31142 -- Fixed MakeValid.output_field when geometry type is changed.
Regression in 2ef4b4795e.
2020-01-20 08:59:45 +01:00
Mariusz Felisiak 266c853e10
Fixed #31162 -- Prevented error logs when using WKT strings in lookups.
Thanks dbxnr for the initial patch.

Regression in 6f44f714c9.
2020-01-16 14:34:54 +01:00
Simon Charette 0290e01d5a Fixed #31002 -- Fixed GIS lookups crash against a subquery annotation.
Thanks Vasileios Bouzas for the report.
2019-11-25 12:30:33 +01:00
Sergey Fedoseev a5855c8f0f Fixed #30996 -- Added AsWKB and AsWKT GIS functions. 2019-11-22 13:40:48 +01:00
Sergey Fedoseev f95b59a1b3 Fixed #30994 -- Added Oracle support for AsGeoJSON GIS function. 2019-11-18 15:32:44 +01:00
Mariusz Felisiak 3a8af298b9 Fixed #30890 -- Added MariaDB support for the relate lookup. 2019-10-18 07:46:31 +02:00
Mariusz Felisiak bebf61de11 Added gis_tests.utils.mariadb hook. 2019-10-18 07:46:31 +02:00
Mariusz Felisiak 3dca8738cb
Simplified GISFunctionsTests.test_point_on_surface(). 2019-06-12 12:59:02 +02:00
Mariusz Felisiak b616f65855
Added missing support for PointOnSurface function on MariaDB. 2019-06-12 10:51:43 +02:00
Mariusz Felisiak 198a0adef2 Removed obsolete comment from GISFunctionsTests.test_asgeojson(). 2019-06-12 09:43:03 +02:00
Mariusz Felisiak 2e00119e39 Fixed GISFunctionsTests.test_asgeojson() crash on MariaDB 10.2+. 2019-06-12 09:43:03 +02:00
Francisco Couzo 0193bf874f Fixed #28738 -- Added the GeometryDistance function. 2019-03-20 12:54:42 -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
Claude Paroz 15715bf2a2 Fixed #22423 -- Added support for MySQL operators on real geometries.
Thanks Viswanathan Mahalingam for the report and initial patch, and
Nicke Pope and Tim Graham for the review.
2019-02-12 17:29:16 -05:00
Tim Graham 6f23996a59 Refs #28841 -- Removed ForceRHR function per deprecation timeline. 2019-01-17 10:52:19 -05:00
Mariusz Felisiak 1508e71c5b Relaxed assertions to fix GIS test failures on Oracle 18c. 2019-01-14 18:32:42 -05:00
Tim Graham 0004daa536
Used 4 space hanging indent for dictionaries.
Thanks Mariusz Felisiak for auditing.
2019-01-02 18:18:19 -05:00
Tim Graham 043bd70942 Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
Simon Charette 84e7a9f4a7 Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
Tom f98e1c01ea Refs #29451 -- Fixed test_isvalid_lookup on MySQL 8+. 2018-07-06 08:59:27 -04:00
Sergey Fedoseev a799dc51b9 Fixed #29509 -- Added SpatiaLite support for covers and coveredby lookups. 2018-06-21 09:25:31 -04:00
Sergey Fedoseev d8d21d3891 Made test for GIS Envelope function more strict. 2018-06-20 16:48:50 +05:00
Mariusz Felisiak d0ad03cded Refs #29416 -- Fixed GeoExpressionsTests.test_multiple_annotation() on MySQL 5.7+.
Failure introduced in b6e48f514e.
2018-05-31 10:38:42 -04:00
Mariusz Felisiak b002a032f9
Fixed #29054 -- Fixed a regression where a queryset that annotates with geometry objects crashes.
Made GEOSGeometryBase hashable.
Regression in 19b2dfd1bf.

Thanks Tim Graham for the review.
2018-01-27 11:12:11 +01:00
Sergey Fedoseev aefe624c62 Fixed #28841 -- Added ForcePolygonCW GIS function and deprecated ForceRHR. 2017-12-27 19:26:14 -05:00
Sergey Fedoseev da71e4bb08 Fixed #28896 -- Reallowed filtering a queryset with GeometryField=None.
Regression in 58da81a5a3.
2017-12-12 17:12:04 -10:00
Sergey Fedoseev 69922d303d Refs #17448 -- Fixed GeoModelTest.test_raw_sql_query.
The test was a false positive.
2017-11-04 10:08:26 -04:00
Simon Charette 9d93dff333 Fixed #28665 -- Change some database exceptions to NotImplementedError per PEP 249. 2017-10-06 12:47:08 -04:00
Sergey Fedoseev 3905cfa1a5 Fixed #28353 -- Fixed some GIS functions when queryset is evaluated more than once.
Reverted test for refs #27603 in favor of using FuncTestMixin.
2017-09-11 11:56:39 -04:00
Sergey Fedoseev 63d2472b10 Fixed capitalization of "Spherical Mercator." 2017-09-09 09:35:30 -04:00
Sergey Fedoseev 1a85b07bdd Fixed #28518 -- Improved performance of loading geometries from DB. 2017-08-24 14:08:35 -04:00
Fabian Schindler da0fb5b1ec Fixed #28380 -- Excluded null geometries in SpatiaLite geometry lookups. 2017-08-24 08:30:11 -04:00
Sergey Fedoseev 6ebe3a95ea Fixed #28437 -- Added support for complex geometry expressions in GIS lookups. 2017-07-27 08:06:08 -04:00
Sergey Fedoseev 306b961a4d Fixed #28383 -- Made NumPoints GIS function return None for non-LINESTRING geometries on MySQL. 2017-07-11 08:21:11 -04:00
Sergey Fedoseev 44a7b98abb Fixed #27964 -- Made MySQL backend raise exception if spatial transformation is needed for query. 2017-06-26 15:10:55 -04:00
Jon Dufresne 2c69824e5a Refs #23968 -- Removed unnecessary lists, generators, and tuple calls. 2017-06-01 19:08:59 -04:00
Mariusz Felisiak 037d6540ec Fixed gis_tests.geoapp test with incorrect geodetic coordinates.
The latitude coordinates exceed -90, 90 bounds and caused a test failure
on Oracle 12.2.

Thanks Michał Wierzbowski for help preparing the patch.
2017-05-30 08:22:40 -04:00