Changeset: 486003e3a10e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=486003e3a10e
Modified Files:
geom/monetdb5/geom.c
Branch: geo
Log Message:
ST_IsClosed : empty geometries are never closed
diffs (33 lines):
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -3451,13 +3451,27 @@ static str geosIsClosed(bit *out, const
return MAL_SUCCEED;
}
-str wkbIsClosed(bit *out, wkb **geom) {
+str wkbIsClosed(bit *out, wkb **geomWKB) {
str err;
- GEOSGeom geosGeometry = wkb2geos(*geom);
+ GEOSGeom geosGeometry = wkb2geos(*geomWKB);
if (!geosGeometry)
throw(MAL, "geom.IsClosed", "wkb2geos failed");
+ //if empty geometry return false
+ if((err = wkbIsEmpty(out, geomWKB)) != MAL_SUCCEED) {
+ str msg = createException(MAL, "geom.IsEmpty", "%s", err);
+ GDKfree(err);
+ GEOSGeom_destroy(geosGeometry);
+
+ return msg;
+ }
+ if(*out) {
+ *out = 0;
+ GEOSGeom_destroy(geosGeometry);
+ return MAL_SUCCEED;
+ }
+
if((err = geosIsClosed(out, geosGeometry)) != MAL_SUCCEED) {
str msg = createException(MAL, "geom.IsClosed", "%s", err);
GDKfree(err);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list