Changeset: 577214317f9b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=577214317f9b
Modified Files:
MonetDB5/src/modules/mal/mal_io.mx
MonetDB5/src/optimizer/opt_mitosis.mx
clients/src/mapilib/Mapi.mx
sql/src/storage/bat/bat_table.c
sql/src/storage/bpm/bpm_table.c
sql/src/storage/restrict/restrict_table.c
Branch: default
Log Message:
Merge with Oct2010 branch.
diffs (292 lines):
diff -r c53a46899530 -r 577214317f9b MonetDB4/src/modules/contrib/array.mx
--- a/MonetDB4/src/modules/contrib/array.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/MonetDB4/src/modules/contrib/array.mx Sat Dec 25 10:38:04 2010 +0100
@@ -186,11 +186,11 @@
}
batptr[dims++] = tmp;
}
+ va_end(ap);
if (dims == 0) {
GDKerror("print_array: Error, no index bats provided.\n");
goto exit_err_none;
}
- va_end(ap);
#ifdef EXCESSIVE_DEBUGGING
fprintf(stderr, "[PRINT_ARRAY] Dims = %d\n", dims);
diff -r c53a46899530 -r 577214317f9b MonetDB4/src/modules/mnetcdf/mnetcdf.mx
--- a/MonetDB4/src/modules/mnetcdf/mnetcdf.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/MonetDB4/src/modules/mnetcdf/mnetcdf.mx Sat Dec 25 10:38:04 2010 +0100
@@ -668,6 +668,7 @@
while ((tmp = va_arg(ap, BAT *)) != NULL) {
if (dims == NC_MAX_DIMS) {
GDKerror("dimensionality too high");
+ va_end(ap);
return GDK_FAIL;
}
bi[dims++].b = tmp;
@@ -873,6 +874,7 @@
dims = 0;
while ((tmp = va_arg(ap, int *)) != NULL) {
if (dims == NC_MAX_DIMS) {
+ va_end(ap);
GDKerror("dimensionality too high");
return GDK_FAIL;
}
diff -r c53a46899530 -r 577214317f9b MonetDB4/src/modules/plain/builtin.mx
--- a/MonetDB4/src/modules/plain/builtin.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/MonetDB4/src/modules/plain/builtin.mx Sat Dec 25 10:38:04 2010 +0100
@@ -1221,6 +1221,7 @@
}
piv[nbats++] = b;
}
+ va_end(ap);
return CMDprint_bats(nbats, piv, *order);
}
@@ -1242,6 +1243,7 @@
}
piv[nbats++] = b;
} while ((b = va_arg(ap, BAT *)) != NULL);
+ va_end(ap);
return CMDprint_bats(nbats, piv, 0);
}
diff -r c53a46899530 -r 577214317f9b MonetDB5/src/modules/mal/mal_io.mx
--- a/MonetDB5/src/modules/mal/mal_io.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/MonetDB5/src/modules/mal/mal_io.mx Sat Dec 25 10:38:04 2010 +0100
@@ -375,12 +375,12 @@
*res = GDKstrdup(format);
return MAL_SUCCEED;
}
- va_start(ap,format);
buf = dst = (str) GDKmalloc(size = 80);
if ( buf == NULL)
throw(MAL,"io.printf",MAL_MALLOC_FAIL);
*res = NULL;
+ va_start(ap,format);
for (cur = format; *cur; cur++) {
if (paramseen) {
char meta[100];
@@ -408,6 +408,7 @@
}
}
if ((p = va_arg(ap, char *)) == NULL) {
+ va_end(ap);
return_error(toofew_error);
}
type = ATOMstorage(va_arg(ap, int));
@@ -433,6 +434,7 @@
int ival;
if (dotseen) {
+ va_end(ap);
return_error(format_error);
} else if (type == TYPE_chr) {
ival = (int) *(chr *) p;
@@ -449,6 +451,7 @@
} else if (type == TYPE_int) {
ival = *(int *) p;
} else {
+ va_end(ap);
return_error(type_error);
}
@:sprintf(ival)@
@@ -459,6 +462,7 @@
lng lval;
if (dotseen) {
+ va_end(ap);
return_error(format_error);
}
largetypes:
@@ -479,6 +483,7 @@
} else if (type == TYPE_lng) {
lval = *(lng *) p;
} else {
+ va_end(ap);
return_error(type_error);
}
if (!extra) {
@@ -506,6 +511,7 @@
} else if (type == TYPE_dbl) {
dval = *(dbl *) p;
} else {
+ va_end(ap);
return_error(type_error);
}
width += (1 + prec);
@@ -514,8 +520,10 @@
int length;
if (extra) {
+ va_end(ap);
return_error(format_error);
} else if (type != TYPE_str) {
+ va_end(ap);
return_error(type_error);
}
length = strLen(p);
@@ -527,6 +535,7 @@
width = (size_t) length;
@:sprintf(p)@
} else {
+ va_end(ap);
return_error(format_error);
}
width = strlen(add);
diff -r c53a46899530 -r 577214317f9b MonetDB5/src/optimizer/opt_mitosis.mx
--- a/MonetDB5/src/optimizer/opt_mitosis.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/MonetDB5/src/optimizer/opt_mitosis.mx Sat Dec 25 10:38:04 2010 +0100
@@ -155,15 +155,15 @@
/* ensure that GDKnr_threads partitions fit into main memory */
r = (BUN) (monet_memory / typewidth / threads);
if (rowcnt > r)
- pieces = MAX ( (int)(rowcnt / r + 1) , threads);
+ pieces = (int) MAX ( (rowcnt / r + 1) , (wrd) threads );
else
/* exploit parallelism, but ensure minimal partition size to
limit overhead */
if (rowcnt > MINPARTCNT)
- pieces = MIN ( (int)(rowcnt / MINPARTCNT) , threads);
+ pieces = (int) MIN ( (rowcnt / MINPARTCNT) , (wrd)
threads);
/* when testing, split also small BATs, but avoid empty pieces
*/
FORCEMITODEBUG
if (pieces < threads)
- pieces = MIN ( threads , (int)rowcnt );
+ pieces = (int) MIN ( (wrd) threads , rowcnt );
/* prevent plan explosion */
if (pieces > MAXSLICES)
pieces = MAXSLICES;
diff -r c53a46899530 -r 577214317f9b buildtools/Mx/Sys.c
--- a/buildtools/Mx/Sys.c Thu Dec 23 18:19:18 2010 +0100
+++ b/buildtools/Mx/Sys.c Sat Dec 25 10:38:04 2010 +0100
@@ -42,7 +42,6 @@
if (mx_out & 1)
vfprintf(ofile, format, ap);
va_start(ap, format);
- va_start(ap, format);
if (ofile_body && (mx_out & 4))
vfprintf(ofile_body, format, ap);
va_end(ap);
diff -r c53a46899530 -r 577214317f9b clients/src/mapilib/Mapi.mx
--- a/clients/src/mapilib/Mapi.mx Thu Dec 23 18:19:18 2010 +0100
+++ b/clients/src/mapilib/Mapi.mx Sat Dec 25 10:38:04 2010 +0100
@@ -4380,14 +4380,17 @@
if (sz > 512)
sz = 512;
hdl->query = malloc(sz + 1);
+ assert(hdl->query);
+ hdl->query[0] = '\0';
strncpy(hdl->query, query, sz);
- hdl->query[sz] = 0;
+ hdl->query[sz] = '\0';
} else {
- size_t sz = 512 - strlen(hdl->query);
+ size_t ln = strlen(hdl->query), sz = 512 - ln;
if (sz > 0) {
if (size < sz)
sz = size;
- hdl->query = realloc(hdl->query, strlen(hdl->query) +
sz + 1);
+ hdl->query = realloc(hdl->query, ln + sz + 1);
+ assert(hdl->query);
strncat(hdl->query, query, sz);
}
}
diff -r c53a46899530 -r 577214317f9b pathfinder/compiler/mem/array.c
--- a/pathfinder/compiler/mem/array.c Thu Dec 23 18:19:18 2010 +0100
+++ b/pathfinder/compiler/mem/array.c Sat Dec 25 10:38:04 2010 +0100
@@ -260,10 +260,12 @@
*/
va_copy(tmp, mat);
while ((nchars = vsnprintf (try, len, fmt, tmp)) < 0) {
+ va_end(tmp);
len *= 2;
try = realloc(try, len);
va_copy(tmp, mat);
}
+ va_end(tmp);
free(try);
diff -r c53a46899530 -r 577214317f9b sql/src/storage/bat/bat_table.c
--- a/sql/src/storage/bat/bat_table.c Thu Dec 23 18:19:18 2010 +0100
+++ b/sql/src/storage/bat/bat_table.c Sat Dec 25 10:38:04 2010 +0100
@@ -114,6 +114,7 @@
c = nc;
value = nv;
}
+ va_end(va);
b = full_column(c, d, s);
if (s)
bat_destroy(s);
@@ -184,6 +185,7 @@
store_funcs.append_col(tr, c, val, c->type.type->localtype);
cnt++;
}
+ va_end(va);
if (n) {
fprintf(stderr, "called table_insert(%s) with wrong number of
args (%d,%d)\n", t->base.name, list_length(t->columns.set), cnt);
assert(0);
@@ -281,6 +283,7 @@
key_value_low = nvl;
key_value_high = nvh;
}
+ va_end(va);
}
b = full_column(key, d, s);
if (s)
diff -r c53a46899530 -r 577214317f9b sql/src/storage/bpm/bpm_table.c
--- a/sql/src/storage/bpm/bpm_table.c Thu Dec 23 18:19:18 2010 +0100
+++ b/sql/src/storage/bpm/bpm_table.c Sat Dec 25 10:38:04 2010 +0100
@@ -55,6 +55,7 @@
c = nc;
value = nv;
}
+ va_end(va);
b = full_column(c, d, s);
if (s)
bat_destroy(s);
@@ -125,6 +126,7 @@
store_funcs.append_col(tr, c, val, c->type.type->localtype);
cnt++;
}
+ va_end(va);
if (n) {
fprintf(stderr, "called table_insert(%s) with wrong number of
args (%d,%d)\n", t->base.name, list_length(t->columns.set), cnt);
assert(0);
@@ -222,6 +224,7 @@
key_value_low = nvl;
key_value_high = nvh;
}
+ va_end(va);
}
b = full_column(key, d, s);
if (s)
diff -r c53a46899530 -r 577214317f9b sql/src/storage/restrict/restrict_table.c
--- a/sql/src/storage/restrict/restrict_table.c Thu Dec 23 18:19:18 2010 +0100
+++ b/sql/src/storage/restrict/restrict_table.c Sat Dec 25 10:38:04 2010 +0100
@@ -76,6 +76,7 @@
c = nc;
value = nv;
}
+ va_end(va);
b = full_column(c, d, s);
if (s)
bat_destroy(s);
@@ -146,6 +147,7 @@
store_funcs.append_col(tr, c, val, c->type.type->localtype);
cnt++;
}
+ va_end(va);
if (n) {
fprintf(stderr, "called table_insert(%s) with wrong number of
args (%d,%d)\n", t->base.name, list_length(t->columns.set), cnt);
assert(0);
@@ -196,6 +198,7 @@
key_value_low = nvl;
key_value_high = nvh;
}
+ va_end(va);
}
b = full_column(key, d, s);
if (s)
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list