Changeset: af71070945b1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af71070945b1 Modified Files: monetdb5/extras/jaql/jaqlgencode.c Branch: Oct2012 Log Message:
dumpvariabletransformation: simplify j_func case now we can give a startoid diffs (155 lines): diff --git a/monetdb5/extras/jaql/jaqlgencode.c b/monetdb5/extras/jaql/jaqlgencode.c --- a/monetdb5/extras/jaql/jaqlgencode.c +++ b/monetdb5/extras/jaql/jaqlgencode.c @@ -3928,46 +3928,23 @@ dumpvariabletransformation(jc *j, Client q->argc = q->retc = 1; q->barrier = EXITsymbol; - q = newInstruction(mb, ASSIGNsymbol); - setModuleId(q, batRef); - setFunctionId(q, newRef); - q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushType(mb, q, TYPE_oid); - q = pushType(mb, q, TYPE_bte); - c = getArg(q, 0); - pushInstruction(mb, q); + a = dumpnextid(mb, j->j1); + dumpbatwritable(j, mb, 1); q = newInstruction(mb, ASSIGNsymbol); setModuleId(q, batRef); setFunctionId(q, insertRef); q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushArgument(mb, q, c); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, j->j1); + q = pushArgument(mb, q, a); q = pushBte(mb, q, 'a'); - c = getArg(q, 0); + j->j1 = getArg(q, 0); pushInstruction(mb, q); q = newInstruction(mb, ASSIGNsymbol); setModuleId(q, algebraRef); - setFunctionId(q, putName("kdifference", 11)); - q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushArgument(mb, q, j->j1); - q = pushArgument(mb, q, c); - a = getArg(q, 0); - pushInstruction(mb, q); - q = newInstruction(mb, ASSIGNsymbol); - setModuleId(q, batRef); - setFunctionId(q, insertRef); - q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushArgument(mb, q, c); - q = pushArgument(mb, q, a); - a = getArg(q, 0); - pushInstruction(mb, q); - - q = newInstruction(mb, ASSIGNsymbol); - setModuleId(q, algebraRef); setFunctionId(q, projectRef); q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); q = pushArgument(mb, q, b); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, a); h = getArg(q, 0); pushInstruction(mb, q); q = newInstruction(mb, ASSIGNsymbol); @@ -3977,37 +3954,30 @@ dumpvariabletransformation(jc *j, Client q = pushArgument(mb, q, h); h = getArg(q, 0); pushInstruction(mb, q); - q = newInstruction(mb, ASSIGNsymbol); - setModuleId(q, algebraRef); - setFunctionId(q, putName("kdifference", 11)); - q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushArgument(mb, q, j->j5); - q = pushArgument(mb, q, h); - c = getArg(q, 0); - pushInstruction(mb, q); + dumpbatwritable(j, mb, 5); q = newInstruction(mb, ASSIGNsymbol); setModuleId(q, batRef); setFunctionId(q, insertRef); q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); + q = pushArgument(mb, q, j->j5); q = pushArgument(mb, q, h); - q = pushArgument(mb, q, c); - h = getArg(q, 0); + j->j5 = getArg(q, 0); pushInstruction(mb, q); - /* a = j1, h = j5 */ + j->startoid = a; if (coltypes[i] == j_sort_arg) { q = newInstruction(mb, ASSIGNsymbol); setModuleId(q, putName("json", 4)); setFunctionId(q, putName("unwraptype", 10)); q = pushReturn(mb, q, newTmpVariable(mb, TYPE_any)); - q = pushArgument(mb, q, a); + q = pushArgument(mb, q, j->j1); q = pushArgument(mb, q, j->j2); q = pushArgument(mb, q, j->j3); q = pushArgument(mb, q, j->j4); - q = pushArgument(mb, q, h); + q = pushArgument(mb, q, j->j5); q = pushArgument(mb, q, j->j6); q = pushArgument(mb, q, j->j7); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, j->startoid); dynaarg[i][0] = getArg(q, 0); pushInstruction(mb, q); } else { @@ -4044,14 +4014,14 @@ dumpvariabletransformation(jc *j, Client setModuleId(q, putName("json", 4)); setFunctionId(q, putName("unwrap", 6)); q = pushReturn(mb, q, c); - q = pushArgument(mb, q, a); + q = pushArgument(mb, q, j->j1); q = pushArgument(mb, q, j->j2); q = pushArgument(mb, q, j->j3); q = pushArgument(mb, q, j->j4); - q = pushArgument(mb, q, h); + q = pushArgument(mb, q, j->j5); q = pushArgument(mb, q, j->j6); q = pushArgument(mb, q, j->j7); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, j->startoid); q = pushStr(mb, q, ""); dynaarg[i][1] = getArg(q, 0); pushInstruction(mb, q); @@ -4085,14 +4055,14 @@ dumpvariabletransformation(jc *j, Client setModuleId(q, putName("json", 4)); setFunctionId(q, putName("unwrap", 6)); q = pushReturn(mb, q, d); - q = pushArgument(mb, q, a); + q = pushArgument(mb, q, j->j1); q = pushArgument(mb, q, j->j2); q = pushArgument(mb, q, j->j3); q = pushArgument(mb, q, j->j4); - q = pushArgument(mb, q, h); + q = pushArgument(mb, q, j->j5); q = pushArgument(mb, q, j->j6); q = pushArgument(mb, q, j->j7); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, j->startoid); q = pushDbl(mb, q, 0.0); dynaarg[i][2] = getArg(q, 0); pushInstruction(mb, q); @@ -4126,14 +4096,14 @@ dumpvariabletransformation(jc *j, Client setModuleId(q, putName("json", 4)); setFunctionId(q, putName("unwrap", 6)); q = pushReturn(mb, q, d); - q = pushArgument(mb, q, a); + q = pushArgument(mb, q, j->j1); q = pushArgument(mb, q, j->j2); q = pushArgument(mb, q, j->j3); q = pushArgument(mb, q, j->j4); - q = pushArgument(mb, q, h); + q = pushArgument(mb, q, j->j5); q = pushArgument(mb, q, j->j6); q = pushArgument(mb, q, j->j7); - q = pushOid(mb, q, (oid)0); + q = pushArgument(mb, q, j->startoid); q = pushLng(mb, q, 0); dynaarg[i][3] = getArg(q, 0); pushInstruction(mb, q); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list