Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4698/compiler/mil
Modified Files:
milprint_summer.c
Log Message:
propagated changes of Saturday Feb 10 2007 - Sunday Feb 11 2007
from the XQuery_0-16 branch to the development trunk
Index: milprint_summer.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint_summer.c,v
retrieving revision 1.323
retrieving revision 1.324
diff -u -d -r1.323 -r1.324
--- milprint_summer.c 9 Feb 2007 23:41:09 -0000 1.323
+++ milprint_summer.c 11 Feb 2007 22:04:35 -0000 1.324
@@ -6528,36 +6528,51 @@
milprintf(f,
"{ # translate pf:documents (string*) as string*\n"
" var ret := ws_documents(ws, item%s.materialize(ipik));\n"
- " item_str_ := ret.tmark([EMAIL PROTECTED]);\n"
+ " item := ret.tmark([EMAIL PROTECTED]);\n"
" iter := ret.hmark([EMAIL
PROTECTED]).leftfetchjoin(iter);\n", (rc)?item_ext:val_join(STR));
} else {
milprintf(f,
"{ # translate pf:documents () as string*\n"
- " var ret := reverse(loop%03u).project([EMAIL
PROTECTED]).leftjoin(ws_documents(ws));\n"
+ " var ret := reverse(loop%03u).cross(ws_documents(ws));\n"
" iter := ret.hmark([EMAIL PROTECTED]);\n"
- " item_str_ := ret.tmark([EMAIL PROTECTED]);\n", cur_level);
+ " item := ret.tmark([EMAIL PROTECTED]);\n", cur_level);
}
milprintf(f,
- " ipik := item_str_;\n"
- " kind := STR;\n"
+ " ipik := item;\n"
+ " kind := set_kind(WS,ELEM);\n"
" pos := tmark_grp_unique(iter,ipik);\n"
"} # end of translate fn:documents (string?) as string*\n");
- if (code) return STR;
- addValues (f, str_container(), "item_str_", "item");
return NORMAL;
} else if (!PFqname_eq(fnQname,PFqname (PFns_lib,"collections")))
{
milprintf(f,
"{ # translate pf:collections () as string*\n"
- " var ret := reverse(loop%03u).project([EMAIL
PROTECTED]).leftjoin(ws_collections(ws));\n"
+ " var ret := reverse(loop%03u).cross(ws_collections(ws));\n"
" iter := ret.hmark([EMAIL PROTECTED]);\n"
- " item_str_ := ret.tmark([EMAIL PROTECTED]);\n"
- " ipik := item_str;\n"
- " kind := STR;\n"
+ " item := ret.tmark([EMAIL PROTECTED]);\n"
+ " ipik := item;\n"
+ " kind := set_kind(WS,ELEM);\n"
" pos := tmark_grp_unique(iter,ipik);\n"
"} # end of translate fn:collections () as string*\n",
cur_level);
- if (code) return STR;
- addValues (f, str_container(), "item_str_", "item");
+ return NORMAL;
+ } else if (!PFqname_eq(fnQname,PFqname (PFns_lib,"mil")))
+ {
+ rc = translate2MIL (f, VALUES, cur_level, counter, L(args));
+ item_ext = kind_str(rc);
+ milprintf(f,
+ "{ # translate pf:mil (string) as item*\n"
+ " if (count(loop%03u) != 1) ERROR(\"pf:mil can only be called
in a single iteration\");\n"
+ " kind := ELEM;\n"
+ " item := ws_mil(ws, item%s.fetch(0));\n"
+ " if (type(item) = str) {\n"
+ " item := addValues(str_values,item);\n"
+ " kind := STR;\n"
+ " }\n"
+ " kind := set_kind(WS,kind);\n"
+ " iter := item.materialize(ipik).project([EMAIL
PROTECTED]);\n"
+ " ipik := iter;\n"
+ " pos := ipik.tmark([EMAIL PROTECTED]);\n"
+ "} # end of translate fn:mil (string) as item*\n", cur_level,
rc?item_ext:val_join(STR));
return NORMAL;
} else if (!PFqname_eq(fnQname,PFqname (PFns_fn,"put")))
{
@@ -11065,10 +11080,9 @@
" ws_destroy(ws);\n"\
"}\n"\
"if (not(isnil(err))) ERROR(err);\n"\
- "time_print := usec() - time_print;\n"\
- "if (genType.startsWith(\"timing\"))\n"\
+ "else if (genType.startsWith(\"timing\"))\n"\
" printf(\"\\nTrans %% 10.3f msec\\nShred %% 10.3f msec\\nQuery
%% 10.3f msec\\n" LASTPHASE " %% 10.3f msec\\n\","\
- " dbl(time_compile)/1000.0, dbl(time_shred)/1000.0,
dbl(time_exec - time_shred)/1000.0, dbl(time_print)/1000.0);\n"
+ " dbl(time_compile)/1000.0, dbl(time_shred)/1000.0,
dbl(time_exec - time_shred)/1000.0, dbl(time_print := usec() -
time_print)/1000.0);\n"
const char* PFstopMIL(int statement_type) {
return (statement_type==0)?
(PF_STOPMIL_RDONLY):
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins