Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv26454
Modified Files:
Tag: XQuery_0-16
milprint_summer.c
Log Message:
* implement pftijah collection locking in milprint_summer.
Index: milprint_summer.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint_summer.c,v
retrieving revision 1.318.2.10
retrieving revision 1.318.2.11
diff -u -d -r1.318.2.10 -r1.318.2.11
--- milprint_summer.c 11 Feb 2007 11:43:42 -0000 1.318.2.10
+++ milprint_summer.c 16 Feb 2007 10:51:21 -0000 1.318.2.11
@@ -8051,6 +8051,10 @@
" var optbat := new(str,str,32);\n");
milprintf(f,
+ " var coll := collName;\n"
+ " if ( optbat.exist(\"collection\") ) { coll :=
optbat.find(\"collection\"); }\n"
+ " tijah_lock := tj_get_collection_lock(coll);\n"
+ " lock_set(tijah_lock);\n"
" var startNodes;\n"
" iter := iter%03u.materialize(ipik%03u);\n"
" if (iter.count() > 0) {\n"
@@ -8062,8 +8066,6 @@
" iter := iter.tmark([EMAIL PROTECTED]);\n"
" item := item.tmark([EMAIL PROTECTED]);\n"
" kind := kind.tmark([EMAIL PROTECTED]);\n"
- " var coll := collName;\n"
- " if ( optbat.exist(\"collection\") ) { coll :=
optbat.find(\"collection\"); }\n"
" var xdoc_name := bat(\"tj_\" + coll +
\"_doc_name\");\n"
" var xdoc_firstpre := bat(\"tj_\" + coll +
\"_doc_firstpre\");\n"
" var xpfpre := bat(\"tj_\" + coll + \"_pfpre\");\n"
@@ -8086,6 +8088,7 @@
" var frag := [find_lower](const
docpre.reverse().mark([EMAIL PROTECTED]), item);\n"
" item := item.join(pfpre).sort().tmark();\n"
" var needed_docs := bat(\"tj_\" + collName +
\"_doc_name\").semijoin(frag.tunique());\n"
+ " lock_unset(tijah_lock); tijah_lock := lock_nil;\n"
" var loaded_docs := ws.fetch(OPEN_NAME).reverse();\n"
" var docs_to_load :=
kdiff(needed_docs.reverse(),loaded_docs).hmark([EMAIL PROTECTED]);\n"
" ws_opendoc(ws, docs_to_load);\n"
@@ -10923,10 +10926,11 @@
#ifdef HAVE_PFTIJAH
"\n"
"var tID := [EMAIL PROTECTED]; # start counter at an arbitrary number\n"
- "var tijah_tID := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
- "var tijah_frag := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
- "var tijah_pre := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
+ "var tijah_tID := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
+ "var tijah_frag := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
+ "var tijah_pre := new(void,oid).seqbase([EMAIL PROTECTED]);\n"
"var tijah_score := new(void,dbl).seqbase([EMAIL PROTECTED]);\n"
+ "var tijah_lock := lock_nil; # pftijah collection lock\n"
#endif
"\n"
"# value containers for literal values\n"
@@ -11059,6 +11063,12 @@
"if (genType.search(\"debug\") >= 0)
print(item.slice(0,10).col_name(\"tot_items_\"+str(item.count())));\n"
*/
+#ifdef HAVE_PFTIJAH
+#define PF_STOP_PFTIJAH " if (not(isnil(tijah_lock)))
lock_unset(tijah_lock);\n"
+#else
+#define PF_STOP_PFTIJAH " \n"
+#endif
+
#define PF_STOPMIL_START \
" time_print := usec();\n"\
" time_exec := time_print - time_start;\n"
@@ -11077,6 +11087,7 @@
" if (not(isnil(err))) ws_log(ws, err);\n"\
" ws_destroy(ws);\n"\
"}\n"\
+ PF_STOP_PFTIJAH\
"if (not(isnil(err))) ERROR(err);\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\","\
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins