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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list
