Changeset: 14d4f211697a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14d4f211697a
Modified Files:
geom/monetdb5/geom.c
geom/monetdb5/geom_x3d.c
sql/server/rel_optimizer.c
Branch: sfcgal
Log Message:
Merge
diffs (79 lines):
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -3769,6 +3769,7 @@ wkbMakePolygon(wkb **out, wkb **external
GEOSGeom geosGeometry, externalGeometry, linearRingGeometry;
bit closed = 0;
GEOSCoordSeq coordSeq_copy;
+ int geometryType;
if (wkb_isnil(*external) || *srid == int_nil) {
if ((*out = wkbNULLcopy()) == NULL)
@@ -3781,10 +3782,11 @@ wkbMakePolygon(wkb **out, wkb **external
throw(MAL, "geom.Polygon", MAL_MALLOC_FAIL);
//check the type of the external geometry
- if ((GEOSGeomTypeId(externalGeometry) + 1) != wkbLineString_mdb) {
+ geometryType = GEOSGeomTypeId(externalGeometry) + 1;
+ if (geometryType != wkbLineString_mdb) {
*out = NULL;
GEOSGeom_destroy(externalGeometry);
- throw(MAL, "geom.Polygon", "Geometries should be LineString");
+ throw(MAL, "geom.Polygon", "Geometries should be LineString,
but it is %s.", geom_type2str(geometryType, 0));
}
//check whether the linestring is closed
wkbIsClosed(&closed, external);
diff --git a/geom/monetdb5/geom_x3d.c b/geom/monetdb5/geom_x3d.c
--- a/geom/monetdb5/geom_x3d.c
+++ b/geom/monetdb5/geom_x3d.c
@@ -497,7 +497,7 @@ x3d_3_psurface_buf(const GEOSGeometry *p
{
ptr += sprintf(ptr, " ");
}
- ptr += sprintf(ptr, "%ud", (j + k));
+ ptr += sprintf(ptr, "%u", (j + k));
}
if (i < (ngeoms - 1) )
{
@@ -618,7 +618,7 @@ x3d_3_collection_size(const GEOSGeometry
for (i=0; i<ngeoms; i++)
{
const GEOSGeometry *subgeom = GEOSGetGeometryN(col, i);
- size += ( sizeof("<Shape />") + defidlen ) * 2;
+ //size += ( sizeof("<Shape />") + defidlen ) * 2;
switch (type) {
case ( wkbPoint_mdb ):
size += x3d_3_point_size(subgeom, precision);
@@ -662,7 +662,7 @@ x3d_3_collection_buf(const GEOSGeometry
for (i=0; i<ngeoms; i++)
{
subgeom = GEOSGetGeometryN(col, i);
- ptr += sprintf(ptr, "<Shape%s>", defid);
+ //ptr += sprintf(ptr, "<Shape%s>", defid);
switch (type) {
case ( wkbPoint_mdb ):
ptr += x3d_3_point_buf(subgeom, ptr, precision, opts);
@@ -690,7 +690,7 @@ x3d_3_collection_buf(const GEOSGeometry
assert(0);
}
- ptr += printf(ptr, "</Shape>");
+ //ptr += printf(ptr, "</Shape>");
}
return (ptr-output);
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -7541,6 +7541,11 @@ rel_merge_table_rewrite(int *changes, mv
}
assert(e->type == e_column);
exp_setname(sql->sa, ne, e->l,
e->r);
+ /* make sure we don't include
additional indices */
+ if (!n->next && m->next) {
+ m->next = NULL;
+ prel->exps->cnt =
rel->exps->cnt;
+ }
}
first = 0;
if (!skip) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list