From cccc004b46f71b4e54d87b376be691a17de6b903 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Wed, 19 Aug 2026 11:57:21 -0400 Subject: [PATCH] Skipped tests involving 1-element GeometryCollections on Oracle 23.9. Because these Oracle versions unpack 1-element collections, LayerMapping unexpectedly received single geometries and failed when saving: File "/django/source/django/contrib/gis/utils/layermapping.py", line 663, in _save geom.add(g) ^^^^^^^^ AttributeError: 'Polygon' object has no attribute 'add' https://forums.oracle.com/ords/apexds/post/23ai-sdo-geometry-converts-1-element-multipolygon-to-polygo-3474 --- django/contrib/gis/db/backends/oracle/features.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/django/contrib/gis/db/backends/oracle/features.py b/django/contrib/gis/db/backends/oracle/features.py index 16279b8a1ea8..eae6fcfbd03b 100644 --- a/django/contrib/gis/db/backends/oracle/features.py +++ b/django/contrib/gis/db/backends/oracle/features.py @@ -29,4 +29,17 @@ def django_test_skips(self): }, } ) + if self.connection.oracle_version >= (23, 9): + skips.update( + { + "Oracle 23ai unpacks 1-element geometry collections.": { + "gis_tests.layermap.tests.LayerMapTest." + "test_layermap_unique_multigeometry_fk", + "gis_tests.layermap.tests.LayerMapTest." + "test_null_geom_with_unique", + "gis_tests.layermap.tests.LayerMapTest." + "test_test_fid_range_step", + }, + }, + ) return skips