]> granicus.if.org Git - postgis/commitdiff
Different types _can_ be equal, see #756
authorSandro Santilli <strk@keybit.net>
Tue, 20 Dec 2011 18:51:54 +0000 (18:51 +0000)
committerSandro Santilli <strk@keybit.net>
Tue, 20 Dec 2011 18:51:54 +0000 (18:51 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8480 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/lwgeom_geos.c
regress/tickets.sql
regress/tickets_expected

index 974263a7916fe9abccc8070dd180f1b2cc8ebbe8..aeffa5b679acbcd8fc040f8ee80f15571b92391c 100644 (file)
@@ -3032,10 +3032,6 @@ Datum geomequals(PG_FUNCTION_ARGS)
        errorIfGeometryCollection(geom1,geom2);
        error_if_srid_mismatch(gserialized_get_srid(geom1), gserialized_get_srid(geom2));
 
-       /* Different types can't be equal */
-       if( gserialized_get_type(geom1) != gserialized_get_type(geom2) )
-               PG_RETURN_BOOL(FALSE);
-               
        /* Empty == Empty */
        if ( gserialized_is_empty(geom1) && gserialized_is_empty(geom2) )
                PG_RETURN_BOOL(TRUE);
index 833da7828dc06b453c51fa4eefeb8032190c663c..3ab9a37f596e98ed7a7ff9245a78d9029baa0955 100644 (file)
@@ -393,6 +393,14 @@ select '#711', ST_GeoHash(ST_GeomFromText('POLYGON EMPTY',4326));
 -- #712 --
 SELECT '#712',ST_IsValid(ST_GeomFromText('POLYGON EMPTY',4326));
 
+-- #756
+WITH inp AS ( SELECT 'LINESTRING(0 0, 1 1)'::geometry as s,
+                     'LINESTRING EMPTY'::geometry as e      )
+ SELECT '#756.1', ST_Equals(s, st_multi(s)),
+                  ST_Equals(s, st_collect(s, e))
+ FROM inp;
+
+
 -- #1023 --
 select '#1023', 'POINT(10 4)'::geometry = 'POINT(10 4)'::geometry;
 select '#1023.a', 'POINT(10 4)'::geometry = 'POINT(10 5)'::geometry;
index 1c7df0424ee54b7b974a5c1350e9dc3c2b03c0a4..99e6cd0b0d84e9d716a5151b6f94e4e5b61fb64c 100644 (file)
@@ -115,6 +115,7 @@ ERROR:  First argument must be a LINESTRING
 #668|BOX(10 2,14 2)
 #711|
 #712|t
+#756.1|t|t
 #1023|t
 #1023.a|f
 #1023.b|t