Changeset: 56bc4f330ce5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56bc4f330ce5
Modified Files:
        monetdb5/mal/mal_instruction.c
Branch: default
Log Message:

Fix type and add some more lazy initializations


diffs (35 lines):

diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -777,7 +777,6 @@ setVariableType(MalBlkPtr mb, const int 
 char *
 getVarName(MalBlkPtr mb, int idx)
 {
-       char buf[IDLENGTH] = {0};
        char *s = mb->var[idx].name;
        if( getVarKind(mb,idx) == 0)
                setVarKind(mb,idx, REFMARKER);
@@ -785,7 +784,7 @@ getVarName(MalBlkPtr mb, int idx)
        if( *s &&  s[1] != '_' && (s[0] != 'X' && s[0] != 'C'))
                return s;
        if ( *s == 0)
-               (void) snprintf(buf, IDLENGTH,"%c_%d", getVarKind(mb, idx), 
mb->vid++);
+               (void) snprintf(s, IDLENGTH,"%c_%d", getVarKind(mb, idx), 
mb->vid++);
        return s;
 }
 
@@ -828,8 +827,12 @@ cloneVariable(MalBlkPtr tm, MalBlkPtr mb
        int res;
        if (isVarConstant(mb, x))
                res = cpyConstant(tm, getVar(mb, x));
-       else
-               res = newVariable(tm, getVarName(mb, x), 
strlen(getVarName(mb,x)), getVarType(mb, x));
+       else {
+               res = newTmpVariable(tm, getVarType(mb, x));
+               if( *mb->var[x].name)
+                       strcpy(tm->var[x].name, mb->var[x].name);
+               //res = newVariable(tm, getVarName(mb, x), 
strlen(getVarName(mb,x)), getVarType(mb, x));
+       }
        if (res < 0)
                return res;
        if (isVarFixed(mb, x))
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to