Changeset: 9d67371551f3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9d67371551f3
Modified Files:
        monetdb5/optimizer/opt_mergetable.c
        
monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat
        monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/monet_daemon.SF-623743.bat
        monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495s.bat
Branch: default
Log Message:

merged with feb2013


diffs (75 lines):

diff --git a/monetdb5/optimizer/opt_mergetable.c 
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -255,14 +255,18 @@ mat_delta(MalBlkPtr mb, InstrPtr p, mat_
 
 
 static InstrPtr
-mat_apply1(MalBlkPtr mb, InstrPtr p, mat_t *mat, int m, int var)
+mat_apply1(MalBlkPtr mb, InstrPtr p, mat_t *mat, int mtop, int m, int var)
 {
        int tpe, k, is_select = isSubSelect(p), is_mirror = (getFunctionId(p) 
== mirrorRef);
        int is_identity = (getFunctionId(p) == identityRef && getModuleId(p) == 
batcalcRef);
-       int ident_var = 0;
+       int ident_var = 0, is_assign = (getFunctionId(p) == NULL), n;
        InstrPtr r = NULL, q;
 
-       //printf("# %s.%s(%d)", getModuleId(p), getFunctionId(p), m);
+       /* Find the mat we overwrite */
+       if (is_assign) {
+               n = is_a_mat(getArg(p, 0), mat, mtop);
+               is_assign = (n >= 0);
+       }
 
        r = newInstruction(mb, ASSIGNsymbol);
        setModuleId(r,matRef);
@@ -282,7 +286,10 @@ mat_apply1(MalBlkPtr mb, InstrPtr p, mat
        for(k=1; k < mat[m].mi->argc; k++) {
                q = copyInstruction(p);
 
-               getArg(q, 0) = newTmpVariable(mb, tpe);
+               if (is_assign)
+                       getArg(q, 0) = getArg(mat[n].mi, k);
+               else
+                       getArg(q, 0) = newTmpVariable(mb, tpe);
                if (is_identity)
                        getArg(q, 1) = newTmpVariable(mb, TYPE_oid);
                getArg(q, var+is_identity) = getArg(mat[m].mi, k);
@@ -1641,7 +1648,7 @@ OPTmergetableImplementation(Client cntxt
                if (match == 1 && bats == 1 && (isFragmentGroup(p) || 
isMapOp(p) || 
                   (!getModuleId(p) && !getFunctionId(p) && p->barrier == 0 /* 
simple assignment */)) && p->retc != 2 && 
                   (m=is_a_mat(getArg(p,fm), mat, mtop)) >= 0){
-                       if ((r = mat_apply1(mb, p, mat, m, fm)) != NULL)
+                       if ((r = mat_apply1(mb, p, mat, mtop, m, fm)) != NULL)
                                mtop = mat_add(mat, mtop, r, mat_type(mat, m), 
getFunctionId(p));
                        actions++;
                        continue;
diff --git 
a/monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat 
b/monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat
--- 
a/monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat
+++ 
b/monetdb5/tests/BugDay_2005-10-06_4.8/Tests/multiple_servers.SF-914113.MIL.bat
@@ -1,1 +1,1 @@
-@call %MSERVER% --dbpath=%GDK_DBFARM%\%TSTDB%
+@call %MSERVER% "--dbpath=%GDK_DBFARM%\%TSTDB%"
diff --git 
a/monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/monet_daemon.SF-623743.bat 
b/monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/monet_daemon.SF-623743.bat
--- a/monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/monet_daemon.SF-623743.bat
+++ b/monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/monet_daemon.SF-623743.bat
@@ -4,5 +4,5 @@
 @set NAME=%1
 
 echo "%MSERVER% --dbpath=%GDK_DBFARM%\$TSTDB --set monet_daemon=yes"
-%MSERVER% --dbpath=%GDK_DBFARM%\%TSTDB% --set monet_daemon=yes"
+%MSERVER% "--dbpath=%GDK_DBFARM%\%TSTDB%" --set monet_daemon=yes"
 
diff --git a/monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495s.bat 
b/monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495s.bat
--- a/monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495s.bat
+++ b/monetdb5/tests/BugsViaSourgeforce/Tests/ID.905495s.bat
@@ -5,7 +5,7 @@ set NAME=%1
 prompt # $t $g  
 echo on
 
-call %MSERVER% --dbpath=%GDK_DBFARM%\%TSTDB% %NAME%.mal
+call %MSERVER% "--dbpath=%GDK_DBFARM%\%TSTDB%" %NAME%.mal
 
-call %MSERVER% --dbpath=%GDK_DBFARM%\%TSTDB% < %NAME%.mal
+call %MSERVER% "--dbpath=%GDK_DBFARM%\%TSTDB%" < %NAME%.mal
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to