Commit be1022d0 authored by Sergey Fedoseev's avatar Sergey Fedoseev Committed by Tim Graham
Browse files

[1.10.x] Fixed #26785 -- Made Oracle return None rather than empty string for empty geometries.

Backport of ea466506 from master
parent 23ac35af
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ class BaseSpatialField(Field):
    of the spatial reference system of the field.
    """
    description = _("The base GIS field.")
    empty_strings_allowed = False
    # Geodetic units.
    geodetic_units = ('decimal degree', 'degree')

+2 −5
Original line number Diff line number Diff line
@@ -223,12 +223,9 @@ class GISFunctionsTests(TestCase):
        geom = Point(5, 23, srid=4326)
        qs = Country.objects.annotate(inter=functions.Intersection('mpoly', geom))
        for c in qs:
            if spatialite or mysql:
                # When the intersection is empty, Spatialite and MySQL return None
            if spatialite or mysql or oracle:
                # When the intersection is empty, some databases return None.
                expected = None
            elif oracle:
                # When the intersection is empty, Oracle returns an empty string
                expected = ''
            else:
                expected = c.mpoly.intersection(geom)
            self.assertEqual(c.inter, expected)