Update of /cvsroot/monetdb/MonetDB5/src/optimizer
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv3464

Modified Files:
        opt_replicator.mx 
Log Message:
Deleted double definition. Fix of setting of a variable as stored.


Index: opt_replicator.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/opt_replicator.mx,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- opt_replicator.mx   5 Mar 2008 00:05:04 -0000       1.32
+++ opt_replicator.mx   5 Mar 2008 10:22:59 -0000       1.33
@@ -157,6 +157,7 @@
 @h
 #ifndef _OPT_REPLICATOR_
 #define _OPT_REPLICATOR_
+#define _DEBUG_REPLICATOR_
 #include "mal.h"
 #include "opt_prelude.h"
 #include "opt_support.h"
@@ -193,8 +194,6 @@
 @c
 #include "mal_config.h"
 #include "opt_replicator.h"
-#define _DEBUG_REPLICATOR_
-#define getVarVal(M,i) VALget(&(M)->var[i]->value)
 #define isResStored(M,i) isVarStored(M, getArg(M->stmt[i],0))
 
 /* repl. bookkeeping for current query execution */
@@ -311,10 +310,9 @@
                        r = getDestVar(p);
                        ps = instruction2str(repl,p, LIST_MAL_ALL);
 
-                       if( isResStored(repl,i))
-                               stream_printf(GDKout,"%5.2f  %d  %d\t", 
-                                       replstat[r].ticks, replstat[r].cnt,
-                                       replstat[r].reuse);
+                       stream_printf(GDKout,"%d %d\t", i,isResStored(repl,i));
+                       if( isVarStored(repl,r))
+                               stream_printf(GDKout,"%5.2f  %d  %d\t", 
replstat[r].ticks, replstat[r].cnt,replstat[r].reuse);
                        else stream_printf(GDKout,"Not stored   \t");
                        stream_printf(GDKout,"%s\n", ps);
                        GDKfree(ps);
@@ -499,19 +497,22 @@
        
                if ((i > 0) ||
                    ((i == 0) && keep)){
-                       setVarStored(repl,c); 
+               
                        if (v->vtype == TYPE_bat){
                                bid = *(int*)VALget(v);
                                BBPincref(bid,TRUE);
                        }
-               } else clrVarStored(repl,c); 
+               }
        }
        k = repl->stop;
        pushInstruction(repl,p1);
        r = getDestVar(p1);
        replstat[r].instr = k;
+       if ( keep )
+               setVarStored(repl,r); 
+       else clrVarStored(repl,r); 
        if (s->blk->profiler)
-               replstat[r].ticks = s->blk->profiler[k].ticks;
+               replstat[r].ticks = s->blk->profiler[getPC(s->blk,p)].ticks;
 #ifdef _DEBUG_REPLICATOR_
         stream_printf(GDKout,"newReplica: %s\n",
                instruction2str(repl,p1, LIST_MAL_ALL));
@@ -678,7 +679,7 @@
                ri = findReplica(s,p);  /* replica instr */
                if(ri >= 0 && isResStored(repl,ri)){            /*reuse */ 
                        rr = getArg(repl->stmt[ri],0);
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                } else { /* compute */
@@ -703,7 +704,7 @@
        else {          /* check and reuse mapped var*/
                rr = vmap[rv];
                if( isVarStored(repl,rr) ){             /*reuse */ 
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                }
@@ -806,7 +807,7 @@
                        if( isVarStored(repl,rr) )
                                msg = ALGtmark(ret, bid, base);
                        else {                  /*reuse */ 
-                               *ret = *(int *)getVarVal(repl,rr);
+                               *ret = *(int *)getVarValue(repl,rr);
                                BBPincref(*ret,TRUE);
                                replstat[rr].reuse++; 
                        } 
@@ -815,7 +816,7 @@
        } else{
                rr = vmap[rv];
                if( isVarStored(repl,rr) ){             /*reuse */ 
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                }
@@ -847,7 +848,7 @@
                ri = findReplica(stk,pci);      /* replica instr */
                if(ri >= 0 && isResStored(repl,ri)){            /*reuse */ 
                        rr = getArg(repl->stmt[ri],0);
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                } else {                        /* compute */
@@ -873,7 +874,7 @@
        else {          /* check and reuse mapped var*/
                rr = vmap[rv];
                if( isVarStored(repl,rr) ){             /*reuse */ 
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                }
@@ -918,7 +919,7 @@
                ri = findReplica(stk,pci);      /* replica instr */
                if(ri >= 0 && isResStored(repl,ri)){            /*reuse */ 
                        rr = getArg(repl->stmt[ri],0);
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                } else { /* compute */
@@ -938,7 +939,7 @@
        else {          /* check and reuse mapped var*/
                rr = vmap[rv];
                if( isVarStored(repl,rr) ){             /*reuse */ 
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                }
@@ -973,7 +974,7 @@
                ri = findReplica(stk,pci);      /* replica instr */
                if(ri >= 0 && isResStored(repl,ri)){            /*reuse */ 
                        rr = getArg(repl->stmt[ri],0);
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                } else { /* compute */
@@ -993,7 +994,7 @@
        else {          /* check and reuse mapped var*/
                rr = vmap[rv];
                if( isVarStored(repl,rr) ){             /*reuse */ 
-                       *ret = *(int *)getVarVal(repl,rr);
+                       *ret = *(int *)getVarValue(repl,rr);
                        BBPincref(*ret,TRUE);
                        replstat[rr].reuse++;  
                }


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to