Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs16:/tmp/cvs-serv7471/runtime

Modified Files:
      Tag: XQuery_0-16
        pf_support.mx 
Log Message:
Backport from trunk:
Only do something to ancestor node sizes for ancestors that are not on
modified pages.
This fixes bug 1706640 for which we also provide corrected output.


Index: pf_support.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pf_support.mx,v
retrieving revision 1.190.2.13
retrieving revision 1.190.2.14
diff -u -d -r1.190.2.13 -r1.190.2.14
--- pf_support.mx       31 Mar 2007 17:29:32 -0000      1.190.2.13
+++ pf_support.mx       25 Apr 2007 12:57:18 -0000      1.190.2.14
@@ -2311,6 +2311,13 @@
     # compute the size-delta on the ancestors of modified nodes, and apply 
those to the recent masters (and LOG it) 
     var sel_ancestor_nid := 
ws.fetch(ANCESTOR_NID).reverse().uselect(cont).hmark([EMAIL PROTECTED]); # 
[i,NID]
     var anc_rid := sel_ancestor_nid.leftjoin(ws.fetch(NID_RID).find(cont));
+    # filter out ancestors that are on modified pages
+    var modified_page := ws.fetch(MODIFIED_PAGE).reverse().select(cont); # 
[PGID,cont]
+    var anc_pgid := [oid]([>>]([lng](anc_rid), REMAP_PAGE_BITS));
+    var anc := anc_pgid.outerjoin(modified_page).uselect(oid_nil).mirror();
+    sel_ancestor_nid := anc.leftfetchjoin(sel_ancestor_nid).tmark([EMAIL 
PROTECTED]);
+    anc_rid := anc.leftfetchjoin(anc_rid).tmark([EMAIL PROTECTED]);
+
     var anc_oldsize := [swizzle](anc_rid, 
ws.fetch(MAP_PID).find(cont)).join(ws.fetch(PRE_SIZE).find(cont));
         
anc_rid.access(BAT_WRITE).replace(sel_ancestor_nid.join(ws.fetch(NID_RID_UPDATE).find(cont)));
     var anc_newsize := anc_rid.leftjoin(ws.fetch(RID_SIZE_UPDATE).find(cont));


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to