Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17553/runtime
Modified Files:
pathfinder.mx
Log Message:
propagated changes of Thursday Mar 20 2008 - Friday Mar 21 2008
from the XQuery_0-22 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/03/20 - sjoerd: runtime/pathfinder.mx,1.399.2.7
Add overlapping working sets to ws_overlaps_ws *before* cleaning up
page_ws (which uses ws_overlaps_ws).
This seems to fix bug [ 1896755 ] XQ: updates under stress.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/03/20 - sjoerd: tests/BugTracker/Tests/All,1.95.2.14
tests/BugTracker/Tests/update-stress.SF-1896755-xq,1.1.2.1
tests/BugTracker/Tests/update-stress.SF-1896755.stable.err,1.1.2.1
tests/BugTracker/Tests/update-stress.SF-1896755.stable.out,1.1.2.1
tests/BugTracker/Tests/update-stress.SF-1896755.xml,1.1.2.1
tests/BugTracker/Tests/update-stress.SF-1896755.XQUERY.sh,1.1.2.1
Test for bug [ 1896755 ] XQ: updates under stress.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: pathfinder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
retrieving revision 1.406
retrieving revision 1.407
diff -u -d -r1.406 -r1.407
--- pathfinder.mx 17 Mar 2008 09:54:35 -0000 1.406
+++ pathfinder.mx 21 Mar 2008 08:44:31 -0000 1.407
@@ -1484,6 +1484,8 @@
}
}
ws_free(ws_id(ws)); # deregister working set from meta tables
+ if (ws_log_active)
+ ws_log(ws, "===================== END TRANSACTION");
}
PROC __ws_opencoll(BAT[void,BAT] ws,
@@ -1721,6 +1723,11 @@
var runtime := _runtime_get(colname);
if (and(wsid, WSID_UPDATE) != 0LL) {
+ # all queries using colname constitute new dependencies
+ var dep := _ws_pinnedcoll(wsid, colname);
+ ws_overlaps_ws.insert(dep); # A overlaps B
+ ws_overlaps_ws.insert(reverse(dep)); # B overlaps A (overlapping is
reflexive)
+
# clean up the query change lists (pages, attributes) by removing no
longer overlapping queries
if (count(runtime) > RT_ATTR_WS) {
var page_ws := runtime.fetch(RT_PAGE_WS);
@@ -1733,11 +1740,6 @@
attr_ws.deleteBuns(tdiff(attr_ws, all_ws));
}
}
-
- # all other queries using colname now constitute new dependencies
- var dep := _ws_pinnedcoll(wsid, colname);
- ws_overlaps_ws.insert(dep); # A overlaps B
- ws_overlaps_ws.insert(reverse(dep)); # B overlaps A (overlapping is
reflexive)
}
# index memory control, done when a persistent collection is opened for
the first time
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins