Changeset: 418908bb9712 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=418908bb9712
Modified Files:
sql/server/rel_schema.c
Branch: default
Log Message:
Merge from Dec2011 branch.
diffs (88 lines):
diff --git a/geom/monetdb5/geom.mx b/geom/monetdb5/geom.mx
--- a/geom/monetdb5/geom.mx
+++ b/geom/monetdb5/geom.mx
@@ -451,18 +451,17 @@ mbrREAD(mbr *a, stream *s, size_t cnt)
{
mbr *c;
size_t i;
- int xmin, ymin, xmax, ymax;
+ int v[4];
+ flt vals[4];
for (i = 0, c = a; i < cnt; i++, c++) {
- if (!mnstr_readInt(s, &xmin) ||
- !mnstr_readInt(s, &ymin) ||
- !mnstr_readInt(s, &xmax) ||
- !mnstr_readInt(s, &ymax))
+ if (!mnstr_readIntArray(s, v, 4))
return NULL;
- c->xmin = (flt) xmin;
- c->ymin = (flt) ymin;
- c->xmax = (flt) xmax;
- c->ymax = (flt) ymax;
+ memcpy(vals, v, 4 * sizeof(int));
+ c->xmin = vals[0];
+ c->ymin = vals[1];
+ c->xmax = vals[2];
+ c->ymax = vals[3];
}
return a;
}
@@ -473,15 +472,16 @@ int
mbrWRITE(mbr *c, stream *s, size_t cnt)
{
size_t i;
+ flt vals[4];
+ int v[4];
for (i = 0; i < cnt; i++, c++) {
- /* use binary writeInt (as sizeof (flt) == sizeof(int)); */
- /* We want to write nil's here too.
- So no overflow checking needed */
- if (!mnstr_writeInt(s, (int) c->xmin) ||
- !mnstr_writeInt(s, (int) c->ymin) ||
- !mnstr_writeInt(s, (int) c->xmax) ||
- !mnstr_writeInt(s, (int) c->ymax))
+ vals[0] = c->xmin;
+ vals[1] = c->ymin;
+ vals[2] = c->xmax;
+ vals[3] = c->ymax;
+ memcpy(v, vals, 4 * sizeof(int));
+ if (!mnstr_writeIntArray(s, v, 4))
return GDK_FAIL;
}
return GDK_SUCCEED;
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -180,6 +180,7 @@ table_constraint_name(symbol *s, sql_tab
char *suffix; /* stores the type of this constraint */
dnode *nms = NULL;
static char buf[BUFSIZ];
+ size_t len;
switch (s->token) {
case SQL_UNIQUE:
@@ -200,16 +201,18 @@ table_constraint_name(symbol *s, sql_tab
}
/* copy table name */
- strncpy(buf, t->base.name, BUFSIZ);
+ strncpy(buf, t->base.name, BUFSIZ - 1);
+ buf[BUFSIZ - 1] = '\0';
/* add column name(s) */
for (; nms; nms = nms->next) {
- strncat(buf, "_", BUFSIZ - strlen(buf));
- strncat(buf, nms->data.sval, BUFSIZ - strlen(buf));
+ len = strlen(buf);
+ snprintf(buf + len, BUFSIZ - len, "_%s", nms->data.sval);
}
/* add suffix */
- strncat(buf, suffix, BUFSIZ - strlen(buf));
+ len = strlen(buf);
+ snprintf(buf + len, BUFSIZ - len, "%s", suffix);
return buf;
}
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list