Update of /cvsroot/monetdb/pathfinder/modules/pftijah/Tests
In directory
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32077/modules/pftijah/Tests
Modified Files:
procs.stable.out
Log Message:
Finally, the last remaining XPath location step has been loop-lifted:
preceding-siblings.
The implementation falls back to applying a loop-lifted parent-step, first
--- using unique temporary iter-numbers, one for each item, we keep the
loop-lifted parent-step from pruning, and hence, get excatly one parent-node
for each context-node (item) ---
then, a slightly modified loop-lifted child-step is used to retried all children
of the just calculated parents up to the respective original context nodes.
For now, we only have kind-test push-down (like with following-sibling,
preceding & following), but no ns/loc-test push-down, yet.
While the child step should support this readily, I was not yet able to
locate and eliminate some strange bug in the calculation of candidates,
that occurs with one of our preceding-sibling tests.
Special thanks go to Jan R. for proving the initial idea of falling-back
to parent-step plus "context-node-limited" child-step.
Index: procs.stable.out
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/modules/pftijah/Tests/procs.stable.out,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- procs.stable.out 6 Aug 2007 12:54:52 -0000 1.25
+++ procs.stable.out 9 Aug 2007 21:49:38 -0000 1.26
@@ -137,6 +137,7 @@
[ "ceil(flt) : flt"
]
[ "checkpoint_protect(BAT[void,BAT]) : void"
]
[ "checkpoint_unprotect(BAT[void,BAT]) : void"
]
+[ "child(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], oid, BAT[oid,BAT], int,
BAT[void,any], chr) : BAT[void,BAT]"
]
[ "child(BAT[oid,oid], BAT[oid,oid], oid, BAT[oid,BAT], int, BAT[void,any],
chr) : BAT[void,BAT]" ]
[ "clear(BAT[any::1,any::2]) : BAT[any::1,any::2]"
]
[ "clients() : void"
]
@@ -172,7 +173,9 @@
[ "delete_doc(BAT[void,str]) : void"
]
[ "delete_doc(str) : void"
]
[ "delete_pfc_fti(str) : void"
]
+[ "descendant(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], oid, BAT[oid,BAT],
int, BAT[void,any], chr) : BAT[void,BAT]"
]
[ "descendant(BAT[oid,oid], BAT[oid,oid], oid, BAT[oid,BAT], int,
BAT[void,any], chr) : BAT[void,BAT]"
]
+[ "descendant_or_self(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], oid,
BAT[oid,BAT], int, BAT[void,any], chr) : BAT[void,BAT]"
]
[ "descendant_or_self(BAT[oid,oid], BAT[oid,oid], oid, BAT[oid,BAT], int,
BAT[void,any], chr) : BAT[void,BAT]" ]
[ "destroy(BAT[any,any]) : bit"
]
[ "diff(BAT[any::1,any::2], BAT[any::1,any::2]) : BAT[any::1,any::2]"
]
@@ -268,6 +271,9 @@
[ "listen(int, int) : void"
]
[ "listen(int, int, bit) : void"
]
[ "listen(int, str, int) : void"
]
+[ "ll_child(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[void,any], bit, bit,
oid, oid, bit, chr) : BAT[oid,oid]"
]
+[ "ll_descendant(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[void,any], bit,
bit, oid, oid, bit, chr) : BAT[oid,oid]"
]
+[ "ll_descendant_or_self(BAT[oid,oid], BAT[oid,oid], BAT[oid,int],
BAT[void,any], bit, bit, oid, oid, bit, chr) : BAT[oid,oid]"
]
[ "ll_htordered_unique_thetajoin(int, BAT[oid,any::2], BAT[oid,any::2],
BAT[void,oid], BAT[void,oid], any, any) : BAT[any,any]"
]
[ "ll_standoff_select_narrow(BAT[void,oid], BAT[oid,oid], BAT[oid,oid],
BAT[oid,oid], BAT[oid,any], BAT[oid,any]) : BAT[oid,oid]"
]
[ "ll_standoff_select_wide(BAT[void,oid], BAT[oid,oid], BAT[oid,oid],
BAT[oid,oid], BAT[oid,any], BAT[oid,any]) : BAT[oid,oid]"
]
@@ -486,7 +492,7 @@
[ "play_update_tape(BAT[void,BAT], BAT[void,oid], BAT[void,int],
BAT[void,lng], BAT[void,str]) : void"
]
[ "preceding(BAT[void,oid], BAT[void,oid], oid, BAT[void,BAT], int) :
BAT[void,BAT]"
]
[ "preceding(BAT[void,oid], BAT[void,oid], oid, BAT[void,BAT], int, chr) :
BAT[void,BAT]"
]
-[ "preceding_sibling(BAT[void,oid], BAT[void,oid], oid, BAT[void,BAT], int) :
BAT[void,BAT]" ]
+[ "preceding_sibling(BAT[void,oid], BAT[void,oid], oid, BAT[void,BAT], int,
chr) : BAT[void,BAT]"
]
[ "print(str, BAT[any::1,any], ..BAT[any::1,any]..) : void"
]
[ "prior_ls(BAT[any,any], int, BAT[oid,str]) : BAT[any,any]"
]
[ "procs() : void"
]
@@ -645,7 +651,7 @@
[ "vm_usage(int) : BAT[str,lng]"
]
[ "vx_lookup(BAT[void,BAT], BAT[void,oid], BAT[void,int], BAT[void,str], str,
str, bit) : BAT[oid,oid]"
]
[ "vx_lookup(BAT[void,BAT], oid, BAT[void,str], str, str, bit) : BAT[oid,oid]"
]
-[ "vx_maintain(BAT[oid,oid], BAT[oid,oid], BAT[oid,str]) : BAT[int,oid]"
]
+[ "vx_maintain(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,str]) :
BAT[int,oid]"
]
[ "vx_maintain(BAT[oid,oid], BAT[oid,str]) : BAT[int,oid]"
]
[ "vx_reduce(BAT[oid,int], BAT[void,oid]) : BAT[oid,oid]"
]
[ "ws_collection(BAT[void,BAT], BAT[oid,str], BAT[void,oid]) : BAT[oid,oid]"
]
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins