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