Changeset: ec7c4c277337 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec7c4c277337
Modified Files:
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
Branch: jit2
Log Message:
Minor changes
Finalizing git-branch
diffs (73 lines):
diff --git a/monetdb5/optimizer/opt_aliases.c b/monetdb5/optimizer/opt_aliases.c
--- a/monetdb5/optimizer/opt_aliases.c
+++ b/monetdb5/optimizer/opt_aliases.c
@@ -57,6 +57,7 @@ OPTaliasesImplementation(Client cntxt, M
freeInstruction(p);
actions++;
k--;
+ mb->stmt[k] = 0;
} else
OPTaliasRemap(p,alias);
} else
diff --git a/monetdb5/optimizer/opt_emptybind.c
b/monetdb5/optimizer/opt_emptybind.c
--- a/monetdb5/optimizer/opt_emptybind.c
+++ b/monetdb5/optimizer/opt_emptybind.c
@@ -58,7 +58,7 @@ OPTemptybindImplementation(Client cntxt,
{
int i, actions = 0;
int *marked;
- int limit = mb->stop, slimit= mb->ssize;
+ int limit = mb->stop;
InstrPtr p, *old = mb->stmt;
// use an instruction reference table to keep
@@ -117,6 +117,7 @@ OPTemptybindImplementation(Client cntxt,
OPTDEBUGemptybind
mnstr_printf(cntxt->fdout, "#empty bind
pc %d var %d\n",i , getArg(p,1) );
}
+ // replace the call into a empty bat creation
continue;
}
@@ -153,10 +154,8 @@ OPTemptybindImplementation(Client cntxt,
continue;
}
}
- for(; i<slimit; i++)
- if (old[i])
- freeInstruction(old[i]);
+ chkTypes(cntxt->fdout, cntxt->nspace,mb,TRUE);
OPTDEBUGemptybind{
mnstr_printf(GDKout, "Optimize Query Emptybind done\n");
printFunction(GDKout, mb, 0, LIST_MAL_DEBUG);
diff --git a/monetdb5/optimizer/opt_evaluate.c
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -74,6 +74,7 @@ OPTremoveUnusedBlocks(Client cntxt, MalB
block = -1;
skip = 0;
freeInstruction(p);
+ mb->stmt[i] = 0;
continue;
}
if (p->argc == 2 && blockStart(p) && block < 0 &&
isVarConstant(mb, getArg(p, 1)) && getArgType(mb, p, 1) == TYPE_bit ){
@@ -90,14 +91,16 @@ OPTremoveUnusedBlocks(Client cntxt, MalB
skip = 0;
action++;
freeInstruction(p);
+ mb->stmt[i] = 0;
continue;
}
} else
if( p->argc == 2 && blockStart(p) && block >= 0 &&
skip == 0 && isVarConstant(mb, getArg(p, 1)) && getArgType(mb, p, 1) ==
TYPE_bit && multipass == 0)
multipass++;
- if (skip)
+ if (skip){
freeInstruction(p);
- else
+ mb->stmt[i] = 0;
+ } else
mb->stmt[j++] = p;
}
mb->stop = j;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list