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

Reply via email to