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

Reply via email to