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

Reply via email to