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
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to