Update of /cvsroot/monetdb/pathfinder/runtime/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32077/runtime/Tests
Modified Files:
procs.stable.out sigs.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: sigs.stable.out
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/Tests/sigs.stable.out,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -d -r1.86 -r1.87
--- sigs.stable.out 31 Jul 2007 08:10:20 -0000 1.86
+++ sigs.stable.out 9 Aug 2007 21:49:40 -0000 1.87
@@ -29,13 +29,16 @@
[ "append(BAT[any::1,BAT], any) : BAT[any::1,BAT]"
]
[ "attr_constr(BAT[void,oid], BAT[void,str], BAT[void,BAT]) : BAT[void,BAT]"
]
[ "bat2constant(any) : any"
]
+[ "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]" ]
[ "cleantmpdir(lng) : void"
]
[ "combine_text_string(BAT[void,oid], BAT[void,oid], BAT[void,str], int) :
BAT[oid,str]" ]
[ "constant2bat(any) : BAT[any,any]"
]
[ "correct_sizes(BAT[void,oid], BAT[void,oid], BAT[void,int]) : BAT[void,int]"
]
[ "delete_nodes_prepare_pre_size(BAT[void,int], BAT[oid,void]) : BAT[oid,int]"
]
+[ "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]" ]
[ "doc_tbl(BAT[void,BAT], BAT[void,str]) : BAT[void,BAT]"
]
[ "ebv(BAT[oid,bit]) : BAT[oid,bit]"
]
@@ -49,12 +52,14 @@
[ "lastmod_time(str) : timestamp"
]
[ "lev_child(BAT[void,chr], BAT[oid,any], int) : BAT[oid,void]"
]
[ "lev_parent(BAT[void,chr], BAT[oid,any], int) : BAT[oid,void]"
]
-[ "lev_ps(BAT[void,chr], BAT[oid,any], int) : BAT[oid,void]"
]
[ "ll_ancestor(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,chr]) :
BAT[oid,oid]"
]
[ "ll_ancestor_or_self(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,chr])
: BAT[oid,oid]" ]
[ "ll_child(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[void,any], bit, bit,
oid, oid, bit, chr) : BAT[oid,oid]" ]
+[ "ll_child(BAT[oid,oid], 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(BAT[oid,oid], 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_descendant_or_self(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid],
BAT[oid,int], BAT[void,any], bit, bit, oid, oid, bit, chr) : BAT[oid,oid]"
]
[ "ll_following(BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int],
BAT[oid,chr], chr) : BAT[oid,oid]"
]
[ "ll_following_sibling(BAT[oid,oid], BAT[oid,oid], BAT[oid,int],
BAT[oid,chr], BAT[oid,chr], chr) : BAT[oid,oid]"
]
[ "ll_parent(BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,chr]) :
BAT[oid,oid]"
]
@@ -78,7 +83,6 @@
[ "pflock_get(int) : lock"
]
[ "pflock_meta(lng) : void"
]
[ "preceding(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) :
BAT[void,BAT]" ]
[ "print_doc(str, BAT[void,BAT], str) : void"
]
[ "print_result(str, BAT[void,BAT], BAT[void,oid], BAT[void,int],
BAT[void,lng], BAT[void,dbl], BAT[void,dbl], BAT[void,str]) : void" ]
[ "print_result(str, str, BAT[void,BAT], oid, int, BAT[void,lng],
BAT[void,dbl], BAT[void,dbl], BAT[void,str]) : void"
]
Index: procs.stable.out
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/Tests/procs.stable.out,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- procs.stable.out 6 Aug 2007 12:54:53 -0000 1.72
+++ procs.stable.out 9 Aug 2007 21:49:40 -0000 1.73
@@ -139,6 +139,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"
]
@@ -174,7 +175,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]"
]
@@ -270,6 +273,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]"
]
@@ -488,7 +494,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"
]
@@ -647,7 +653,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