Changeset: 220a4ae35df1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=220a4ae35df1
Modified Files:
        monetdb5/optimizer/opt_cluster.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_crackers.c
        monetdb5/optimizer/opt_datacell.c
        monetdb5/optimizer/opt_datacyclotron.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_dictionary.c
        monetdb5/optimizer/opt_emptySet.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_factorize.c
        monetdb5/optimizer/opt_garbagecollector.c
        monetdb5/optimizer/opt_history.c
        monetdb5/optimizer/opt_joinpath.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mapreduce.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_octopus.c
        monetdb5/optimizer/opt_prejoin.c
        monetdb5/optimizer/opt_pushranges.c
        monetdb5/optimizer/opt_recycler.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_replication.c
        monetdb5/optimizer/opt_selcrack.c
        monetdb5/optimizer/opt_singleton.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_wrapper.c
Branch: headless
Log Message:

Convert to MALtype structure


diffs (truncated from 1620 to 300 lines):

diff --git a/monetdb5/optimizer/opt_cluster.c b/monetdb5/optimizer/opt_cluster.c
--- a/monetdb5/optimizer/opt_cluster.c
+++ b/monetdb5/optimizer/opt_cluster.c
@@ -163,7 +163,7 @@
        if (ol) { 
                InstrPtr c, q = old[ord[0]], *no, m, s, o;
                int i, j, p, cur = 0;
-               int ht = getColType(getArgType(mb, q, 1));
+               int ht = getArgType(mb, q, 1).type;
                int bits = 5; 
                int offset = 3; 
                
@@ -187,7 +187,7 @@
                /* cluster into 'nr_parts' parts based on the values */
                c = newStmt( mb, "cluster", "new" );
                /* second return (map) value */
-               c = pushReturn(mb, c, newTmpVariable(mb, TYPE_any));
+               c = pushReturn(mb, c, newTmpVariable(mb, newMALtype(TYPE_any)));
                c = pushArgument( mb, c, getArg(q, 1) );
                c = pushInt( mb, c, bits);
                c = pushInt( mb, c, offset);
@@ -202,7 +202,7 @@
                s = newStmt( mb, "cluster", "split" );
                /* split returns 'nr_parts' parts */
                for (p = 1; p<nr_parts; p++)
-                       s = pushReturn(mb, s, newTmpVariable(mb, TYPE_any));
+                       s = pushReturn(mb, s, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                s = pushArgument( mb, s, getArg(m, 0) ); 
                s = pushArgument( mb, s, getArg(c, 0) ); /* psum */
                
@@ -211,7 +211,7 @@
                o = old[ord[0]];
                for (p = 0; p<nr_parts; p++) {
                        no[p] = copyInstruction(o);
-                       getArg(no[p], 0) = newTmpVariable(mb, TYPE_any); 
+                       getArg(no[p], 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                        getArg(no[p], 1) = getArg(s, p);
                        pushInstruction(mb, no[p]);
                }
@@ -233,12 +233,12 @@
                                s = newStmt( mb, "cluster", "split" );
                                /* split returns 'nr_parts' parts */
                                for (p = 1; p<nr_parts; p++)
-                                       s = pushReturn(mb, s, 
newTmpVariable(mb, TYPE_any));
+                                       s = pushReturn(mb, s, 
newTmpVariable(mb, newMALtype(TYPE_any)));
                                s = pushArgument( mb, s, getArg(m, 0) ); 
                                s = pushArgument( mb, s, getArg(c, 0) ); /* 
psum */
                                for (p = 0; p<nr_parts; p++) {
                                        nno = copyInstruction(o);
-                                       getArg(nno, 0) = newTmpVariable(mb, 
TYPE_any); 
+                                       getArg(nno, 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                                        getArg(nno, 1) = getArg(no[p], 0);
                                        getArg(nno, 2) = getArg(s, p);
                                        pushInstruction(mb, nno);
@@ -247,7 +247,7 @@
                        } else {
                                for (p = 0; p<nr_parts; p++) {
                                        nno = copyInstruction(o);
-                                       getArg(nno, 0) = newTmpVariable(mb, 
TYPE_any); 
+                                       getArg(nno, 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                                        getArg(nno, 1) = getArg(no[p], 0);
                                        pushInstruction(mb, nno);
                                        no[p] = nno;
@@ -270,7 +270,7 @@
                        s = newStmt( mb, "cluster", "split" );
                        /* split returns 'nr_parts' parts */
                        for (p = 1; p<nr_parts; p++)
-                               s = pushReturn(mb, s, newTmpVariable(mb, 
TYPE_any));
+                               s = pushReturn(mb, s, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                        s = pushArgument( mb, s, getArg(m, 0) ); 
                        s = pushArgument( mb, s, getArg(c, 0) ); /* psum */
 
@@ -281,7 +281,7 @@
 
                        for (p = 0; p<nr_parts; p++) {
                                ppj = copyInstruction(opj);
-                               getArg(ppj, 0) = newTmpVariable(mb, TYPE_any); 
+                               getArg(ppj, 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                                getArg(ppj, 1) = getArg(no[p], 0);
                                getArg(ppj, 2) = getArg(s, p);
                                
@@ -376,8 +376,8 @@
                InstrPtr cl, cr, sl, sr, q = old[join[0]], *njn, *mr, *rmr, m, 
s, jn;
                int njn0 = -1, mr0 = -1, rmr0 = -1, p;
                int i, j, cur = 0;
-               int ht = getColType(getArgType(mb, q, 1));
-               int h2 = getColType(getArgType(mb, q, 2)); 
+               int ht = getArgType(mb, q, 1).type;
+               int h2 = getArgType(mb, q, 2).type;
                int bits = 5; 
                int offset = 0; 
                
@@ -399,7 +399,7 @@
                /* cluster left col into 'nr_parts' parts based on the values */
                cl = newStmt( mb, "cluster", "new" );
                /* second return (map) value */
-               cl = pushReturn(mb, cl, newTmpVariable(mb, TYPE_any));
+               cl = pushReturn(mb, cl, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                cl = pushArgument( mb, cl, getArg(q, 1) );
                cl = pushInt( mb, cl, bits);
                cl = pushInt( mb, cl, offset);
@@ -415,7 +415,7 @@
                sl = newStmt( mb, "cluster", "split" );
                /* split returns 'nr_parts' parts */
                for (p = 1; p<nr_parts; p++)
-                       sl = pushReturn(mb, sl, newTmpVariable(mb, TYPE_any));
+                       sl = pushReturn(mb, sl, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                sl = pushArgument( mb, sl, getArg(m, 0) ); 
                sl = pushArgument( mb, sl, getArg(cl, 0) ); /* psum */
 
@@ -425,7 +425,7 @@
 
                cr = newStmt( mb, "cluster", "new" );
                /* second return (map) value */
-               cr = pushReturn(mb, cr, newTmpVariable(mb, TYPE_any));
+               cr = pushReturn(mb, cr, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                cr = pushArgument( mb, cr, getArg(s, 0) );
                cr = pushInt( mb, cr, bits);
                cr = pushInt( mb, cr, offset);
@@ -441,7 +441,7 @@
                sr = newStmt( mb, "cluster", "split" );
                /* split returns 'nr_parts' parts */
                for (p = 1; p<nr_parts; p++)
-                       sr = pushReturn(mb, sr, newTmpVariable(mb, TYPE_any));
+                       sr = pushReturn(mb, sr, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                sr = pushArgument( mb, sr, getArg(m, 0) ); 
                sr = pushArgument( mb, sr, getArg(cr, 0) ); /* psum */
 
@@ -457,7 +457,7 @@
                        r = pushArgument(mb, r, getArg(sr, p));
 
                        njn[p] = copyInstruction(jn);
-                       getArg(njn[p], 0) = newTmpVariable(mb, TYPE_any); 
+                       getArg(njn[p], 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                        getArg(njn[p], 1) = getArg(sl, p);
                        getArg(njn[p], 2) = getArg(r, 0);
                        pushInstruction(mb, njn[p]);
@@ -499,7 +499,7 @@
        
                        for (p = 0; p<nr_parts; p++) {
                                InstrPtr n = copyInstruction(o);
-                               getArg(n, 0) = newTmpVariable(mb, TYPE_any); 
+                               getArg(n, 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                                getArg(n, 1) = getArg(in[p], 0);
                                pushInstruction(mb, n);
                                res[p] = n;
@@ -523,7 +523,7 @@
                        s = newStmt( mb, "cluster", "split" );
                        /* split returns 'nr_parts' parts */
                        for (p = 1; p<nr_parts; p++)
-                               s = pushReturn(mb, s, newTmpVariable(mb, 
TYPE_any));
+                               s = pushReturn(mb, s, newTmpVariable(mb, 
newMALtype(TYPE_any)));
                        s = pushArgument( mb, s, getArg(m, 0) ); 
                        s = pushArgument( mb, s, getArg(c, 0) ); /* psum */
 
@@ -534,7 +534,7 @@
 
                        for (p = 0; p<nr_parts; p++) {
                                ppj = copyInstruction(opj); 
-                               getArg(ppj, 0) = newTmpVariable(mb, TYPE_any); 
+                               getArg(ppj, 0) = newTmpVariable(mb, 
newMALtype(TYPE_any)); 
                                getArg(ppj, 1) = getArg(jr[p], 0);
                                getArg(ppj, 2) = getArg(s, p);
                                pushInstruction(mb, ppj);
diff --git a/monetdb5/optimizer/opt_coercion.c 
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -36,14 +36,15 @@
 static int
 coercionOptimizerStep(MalBlkPtr mb, int i, InstrPtr p)
 {
-       int t, k, a, b;
+       int k, a, b;
+       MALtype tpe;
 
        a = getArg(p, 0);
        b = getArg(p, 1);
-       t = getVarType(mb, b);
-       if (getVarType(mb, a) != t)
+       tpe = getVarType(mb, b);
+       if ( !CMPMALtype(getVarType(mb, a), tpe))
                return 0;
-       if (strcmp(getFunctionId(p), ATOMname(t)) == 0) {
+       if (strcmp(getFunctionId(p), ATOMname(tpe.type)) == 0) {
                removeInstruction(mb, p); /* dead code */
                for (; i < mb->stop; i++) {
                        p = getInstrPtr(mb, i);
@@ -55,6 +56,7 @@
        }
        return 0;
 }
+
 int
 OPTcoercionImplementation(Client cntxt,MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
 {
diff --git a/monetdb5/optimizer/opt_costModel.c 
b/monetdb5/optimizer/opt_costModel.c
--- a/monetdb5/optimizer/opt_costModel.c
+++ b/monetdb5/optimizer/opt_costModel.c
@@ -161,7 +161,7 @@
                                newRows1(1, c1 < 50 ? c1 : c1 / 10+1)
                        }
                } else if (getModuleId(p) == colcalcRef) {
-                       if( isaColType(getArgType(mb,p,1)) )
+                       if( getArgType(mb,p,1).col )
                                newRows1(1, c1)
                        else
                                newRows1(2, c2)
@@ -186,7 +186,7 @@
  * The same holds for replacement operations, which add information to
  * an initially empty insertion column.
 */
-                               if( isaColType(getArgType(mb,p,2)) ){
+                               if( getArgType(mb,p,2).col ){
                                        newRows(1,2, c1 + c2+1,1) 
                                        OPTbackpropagate(mb,i,getArg(p,1));
                                } else {
@@ -195,7 +195,7 @@
                                        OPTbackpropagate(mb,i,getArg(p,1));
                                }
                        } else if (getFunctionId(p) == deleteRef){
-                               if( isaColType(getArgType(mb,p,2)) ){
+                               if( getArgType(mb,p,2).col ){
                                        /* delete column */
                                        newRows(1,2, (c1 - c2 ==0? 1: c1-c2),1) 
                                        OPTbackpropagate(mb,i,getArg(p,1));
diff --git a/monetdb5/optimizer/opt_crackers.c 
b/monetdb5/optimizer/opt_crackers.c
--- a/monetdb5/optimizer/opt_crackers.c
+++ b/monetdb5/optimizer/opt_crackers.c
@@ -59,7 +59,7 @@
                if ( match2(p, colRef, newRef) || match2(p, sqlRef, bindRef) ){ 
 
 
                        /* crack only supported data types */
-                       if ( getColType(mb->var[getArg(p,0)]->type)==TYPE_str )
+                       if ( getVarType(mb,getArg(p,0)).type == TYPE_str )
                                        continue;
 
                        /* avoid cracking delta bats used for updates */
diff --git a/monetdb5/optimizer/opt_datacell.c 
b/monetdb5/optimizer/opt_datacell.c
--- a/monetdb5/optimizer/opt_datacell.c
+++ b/monetdb5/optimizer/opt_datacell.c
@@ -247,7 +247,7 @@
                j= mf->stop;
                /* barrier go:=true; */
                q= newAssignment(mf);
-               setArgType(mf,q,0,TYPE_bit);
+               setArgType(mf,q,0, newMALtype(TYPE_bit));
                k= getArg(q,0);
                setVarUsed(mf,k);
                q->barrier= BARRIERsymbol;
diff --git a/monetdb5/optimizer/opt_datacyclotron.c 
b/monetdb5/optimizer/opt_datacyclotron.c
--- a/monetdb5/optimizer/opt_datacyclotron.c
+++ b/monetdb5/optimizer/opt_datacyclotron.c
@@ -179,7 +179,8 @@
 int
 OPTdatacyclotronImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p)
 {
-       int i=0, actions=0, k=0, z=0, j=0, num_regs=DCYREGS, *tpes=NULL, 
oldtop=0,slimit=0;
+       int i=0, actions=0, k=0, z=0, j=0, num_regs=DCYREGS, oldtop=0,slimit=0;
+       MALtype *tpes = NULL;
        DCYcatalog **regs=NULL, *reg = NULL;
        VarRecord low,hgh,max_hgh;
        InstrPtr *old=NULL, new, matq;
@@ -193,7 +194,7 @@
                return actions;
 
 #ifdef BIND_DATACYCLOTRON_OPT
-       tpes= (int*) GDKmalloc(num_regs * sizeof(int));
+       tpes= (MALtype*) GDKmalloc(num_regs * sizeof(MALtype));
        if ( tpes == NULL )
                goto out;
 #endif
@@ -219,7 +220,7 @@
 
                if ( num_regs <= (mb->vtop + 1000) ) {
 #ifdef BIND_DATACYCLOTRON_OPT
-                       if ( !(tpes = GDKrealloc(tpes, (num_regs + DCYREGS) * 
sizeof(int))) ){
+                       if ( !(tpes = (MALtype*) GDKrealloc(tpes, (num_regs + 
DCYREGS) * sizeof(MALtype))) ){
                                errors = 1;
                                goto out;
                        }
@@ -248,7 +249,7 @@
                        regs[getArg(p,0)] = findRegist(sch, tab, col, acc);
 
                        if (regs[getArg(p,0)]) {
-                               int tpe = TYPE_int;
+                               MALtype tpe = newMALtype(TYPE_int);
                                reg = regs[getArg(p,0)];
 #ifndef BIND_DATACYCLOTRON_OPT
                                tpe = getArgType(mb,p,0);
@@ -270,10 +271,10 @@
                                        getArg(new,0) = newTmpVariable(mb, tpe);
 #else
                                        setFunctionId(new,copyRef);
-                                       new = pushArgument(mb, new, 
newTmpVariable(mb,TYPE_int));
+                                       new = pushArgument(mb, new, 
newTmpVariable(mb, newMALtype(TYPE_int)));
                                        new->retc++;
                                        getArg(new,0) = newTmpVariable(mb, tpe);
-                                       getArg(new,1) = newTmpVariable(mb, 
TYPE_int);
+                                       getArg(new,1) = newTmpVariable(mb, 
newMALtype(TYPE_int));
 #endif
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to