Changeset: f3a79dc97500 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f3a79dc97500
Modified Files:
sql/src/backends/monet5/sql.mx
Branch: default
Log Message:
Accept the changes from others
diffs (194 lines):
diff -r c50b84ac5a7c -r f3a79dc97500 MonetDB5/src/optimizer/opt_mapreduce.mx
--- a/MonetDB5/src/optimizer/opt_mapreduce.mx Thu May 20 21:17:57 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_mapreduce.mx Thu May 20 21:19:05 2010 +0200
@@ -129,8 +129,6 @@
#include "mal_interpreter.h"
#include "remote.h"
-/* #define _DEBUG_OPT_MAPREDUCE*/
-
@-
The work distribution assumes that we know at compile time
the number of nodes participating in the cloud setting.
@@ -328,7 +326,7 @@
getArg(p, 0) = lcol->val1;
}
-#ifdef _DEBUG_OPT_MAPREDUCE
+#if defined(_DEBUG_OPT_MAPREDUCE) && _DEBUG_OPT_MAPREDUCE == 0
chkProgram(cntxt->nspace, mb);
printFunction(cntxt->fdout, mb, 0, LIST_MAL_STMT);
#endif
@@ -350,9 +348,10 @@
if (stk->stack == NULL) {
stk->len = 10;
stk->cur = 0;
- stk->stack = malloc(sizeof(int) * stk->len);
+ stk->stack = GDKmalloc(sizeof(int) * stk->len);
} else if (stk->cur == stk->len) {
- stk->stack = realloc(stk->stack, sizeof(int) * stk->len * 2);
+ stk->len *= 2;
+ stk->stack = GDKrealloc(stk->stack, sizeof(int) * stk->len);
}
assert(stk->stack);
@@ -385,7 +384,7 @@
trackstack_destroy(struct stack *stk)
{
if (!trackstack_isempty(stk)) {
- free(stk->stack);
+ GDKfree(stk->stack);
stk->stack = NULL;
}
}
@@ -407,11 +406,12 @@
Symbol new;
mapcol *col, *lastcol;
struct stack tracker = { NULL, 0, 0 };
+ char hadBinds = 0;
(void)stk; /* useless, is NULL */
(void)pc;
-#ifdef _DEBUG_OPT_MAPREDUCE
+#if defined(_DEBUG_OPT_MAPREDUCE) && _DEBUG_OPT_MAPREDUCE == 0
printFunction(cntxt->fdout, mb, 0, LIST_MAL_ALL);
#endif
@@ -471,28 +471,18 @@
if (*(int *)VALget(&getVar(mc, getArg(p,
5))->value) == 0) {
str schema = VALget(&getVar(mc,
getArg(p, 2))->value);
/* check if this is a column from a
mapreduce schema (mr_*) */
- if (strncmp(schema, "mr_", 3) != 0) {
- freeSymbol(new);
- GDKfree(mb->stmt);
- mb->stmt = orig;
- mb->stop = limit;
- GDKfree(old);
- return 0;
- }
+ if (strncmp(schema, "mr_", 3) != 0)
+ break;
+
/* and that we don't mix 'n' match
mapreduce schemas */
if (mrcluster[0] == '\0') {
snprintf(mrcluster,
sizeof(mrcluster),
"%s", schema +
3);
- } else {
- if (strcmp(mrcluster, schema +
3) != 0) {
- freeSymbol(new);
- GDKfree(mb->stmt);
- mb->stmt = orig;
- mb->stop = limit;
- GDKfree(old);
- return 0;
- }
+ } else if (strcmp(mrcluster, schema +
3) != 0) {
+ break;
}
+
+ hadBinds = 1;
}
/* start of sql.bind, kdiff, kunion, etc.
sequence */
@@ -576,8 +566,7 @@
case SINGLE:
copy = LEAVE;
pushInstruction(mc, p);
- freeInstruction(orig[i]);
- orig[i] = NULL;
+ orig[i]->token = NOOPsymbol;
break;
case STICK:
case DUP:
@@ -588,11 +577,18 @@
}
trackstack_destroy(&tracker);
+ if (hadBinds == 0) {
+ /* FIXME: how to free "new"? */
+ GDKfree(mb->stmt);
+ mb->stmt = orig;
+ mb->stop = limit;
+ GDKfree(old);
+ return 0;
+ }
+
copy = STICK;
for (i = 0; i < limit; i++) { /* phase 2 */
p = orig[i];
- if (p == NULL)
- continue;
if (p == (InstrPtr)1) {
newComment(mb, "{ map");
@@ -603,6 +599,13 @@
sig = pushReturn(mc, sig, lastcol->val1);
MRdistributework(cntxt, mb, col, sig, mrcluster);
newComment(mb, "} map");
+ /* bogus instruction to be able to set to NOOP */
+ orig[i] = newInstruction(mb, ASSIGNsymbol);
+ setModuleId(orig[i], ioRef);
+ setFunctionId(orig[i], printRef);
+ orig[i] = pushReturn(mb, orig[i], 0);
+ orig[i] = pushArgument(mb, orig[i], 0);
+ orig[i]->token = NOOPsymbol;
continue;
}
@@ -744,6 +747,7 @@
} \
}
FINDANDFIXBATNEW(p, 2);
+
setArgType(mb, p, 0, lastcol->val3type);
q =
getArg(p, 1);
}
}
@@ -801,7 +805,6 @@
}
}
-
#if defined(_DEBUG_OPT_MAPREDUCE) && _DEBUG_OPT_MAPREDUCE == 10
stream_printf(cntxt->fdout, "MAP program\n");
chkProgram(cntxt->nspace, mc);
diff -r c50b84ac5a7c -r f3a79dc97500 buildtools/conf/MonetDB.m4
--- a/buildtools/conf/MonetDB.m4 Thu May 20 21:17:57 2010 +0200
+++ b/buildtools/conf/MonetDB.m4 Thu May 20 21:19:05 2010 +0200
@@ -811,7 +811,7 @@
dnl generates "X_CFLAGS =" in the generated Makefile.
NO_X_CFLAGS='X_CFLAGS'
;;
- *-solaris*|*-darwin*|*-aix*)
+ *-solaris*|*-aix*)
dnl In some cases, there is a (possibly) uninitialized
dnl variable in bison.simple ... |-(
X_CFLAGS="$X_CFLAGS -Wno-uninitialized"
diff -r c50b84ac5a7c -r f3a79dc97500
pathfinder/compiler/algebra-m5sql/msaprint.c
--- a/pathfinder/compiler/algebra-m5sql/msaprint.c Thu May 20 21:17:57
2010 +0200
+++ b/pathfinder/compiler/algebra-m5sql/msaprint.c Thu May 20 21:19:05
2010 +0200
@@ -155,10 +155,10 @@
switch (atom.type) {
case aat_nat:
- sprintf(ret, "%i", atom.val.nat_);
+ sprintf(ret, "%u", atom.val.nat_);
break;
case aat_int:
- sprintf(ret, "%lli", atom.val.int_);
+ sprintf(ret, LLFMT, atom.val.int_);
break;
case aat_str:
if (strlen(atom.val.str) >= 10) {
diff -r c50b84ac5a7c -r f3a79dc97500 pathfinder/compiler/include/msa.h
--- a/pathfinder/compiler/include/msa.h Thu May 20 21:17:57 2010 +0200
+++ b/pathfinder/compiler/include/msa.h Thu May 20 21:19:05 2010 +0200
@@ -308,7 +308,7 @@
/* --------------- Constructor stubs for operators --------------- */
/* Constructor for nil node operator */
-PFmsa_op_t * PFmsa_op_nil_node ();
+PFmsa_op_t * PFmsa_op_nil_node (void);
/* Contructor for serialize operator */
PFmsa_op_t * PFmsa_op_serialize_rel (PFmsa_op_t *DAG, PFmsa_op_t *side_effects,
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list