Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv7122/algebra

Modified Files:
      Tag: XQuery_0-24
        builtins.c core2alg.brg 
Log Message:
-- Disable the blocking step and semijoin operators
   and replace them by step_join+distinct and eqjoin+distinct.

   This change gives the optimizer more freedom and removes the last
   traces of staircase-join from the logical plans.

   The physical algebra planner will try to implement step_join whenever
   possible with a duplicate-eliminating staircase-join operator.


U core2alg.brg
Index: core2alg.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/core2alg.brg,v
retrieving revision 1.71.2.1
retrieving revision 1.71.2.2
diff -u -d -r1.71.2.1 -r1.71.2.2
--- core2alg.brg        2 Jun 2008 09:56:21 -0000       1.71.2.1
+++ core2alg.brg        3 Jun 2008 11:53:37 -0000       1.71.2.2
@@ -3067,13 +3067,17 @@
      * A(L(p)).rel contains a axis node with information on the
      * location step. Will be read out in PFla_step().
      */
-    PFla_op_t *step = PFla_step_simple (
-                          PFla_set_to_la (p.frag),
-                          project (p.rel,
-                                   proj (att_iter, att_iter),
-                                   proj (att_item, att_item)),
-                          locstep_spec (axis, ty),
-                          att_iter, att_item, att_item);
+    PFla_op_t *step = PFla_project (
+                          PFla_step_join_simple (
+                              PFla_set_to_la (p.frag),
+                              project (p.rel,
+                                       proj (att_iter, att_iter),
+                                       proj (att_item, att_item)),
+                              locstep_spec (axis, ty),
+                              att_item,
+                              att_item1),
+                          PFalg_proj (att_iter, att_iter),
+                          PFalg_proj (att_item, att_item1));
 
     if (ORDERING)
         return (struct  PFla_pair_t) {

U builtins.c
Index: builtins.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/builtins.c,v
retrieving revision 1.95.2.2
retrieving revision 1.95.2.3
diff -u -d -r1.95.2.2 -r1.95.2.3
--- builtins.c  2 Jun 2008 09:56:20 -0000       1.95.2.2
+++ builtins.c  3 Jun 2008 11:53:35 -0000       1.95.2.3
@@ -4429,14 +4429,14 @@
 
     /* retrieve all descendant textnodes (`/descendant-or-self::text()') */
     node_scj = rank (
-                   PFla_step_simple (
+                   PFla_step_join_simple (
                        PFla_set_to_la (args[0].frag),
                        project (args[0].rel,
                                 proj (att_iter, att_iter),
                                 proj (att_item, att_item)),
                        desc_text_spec,
-                       att_iter, att_item, att_item),
-                   att_pos, sortby (att_item));
+                       att_item, att_item1),
+                   att_pos, sortby (att_item1));
 
     /* concatenate all texts within an iteration using
        the empty string as delimiter */
@@ -4445,7 +4445,7 @@
                     doc_access (
                         PFla_set_to_la (args[0].frag),
                         node_scj,
-                        att_res, att_item, doc_text),
+                        att_res, att_item1, doc_text),
                     proj (att_iter, att_iter),
                     proj (att_pos,  att_pos),
                     proj (att_item, att_res)),
@@ -4516,14 +4516,14 @@
 
     /* retrieve all descendant textnodes (`/descendant-or-self::text()') */
     node_scj = rank (
-                   PFla_step_simple (
+                   PFla_step_join_simple (
                        PFla_set_to_la (args[0].frag),
                        project (sel_node,
                                 proj (att_iter, att_iter),
                                 proj (att_item, att_item)),
                        desc_text_spec,
-                       att_iter, att_item, att_item),
-                   att_pos, sortby (att_item));
+                       att_item, att_item1),
+                   att_pos, sortby (att_item1));
 
     /* concatenate all texts within an iteration using
        the empty string as delimiter */
@@ -4532,7 +4532,7 @@
                     doc_access (
                         PFla_set_to_la (args[0].frag),
                         node_scj,
-                        att_res, att_item, doc_text),
+                        att_res, att_item1, doc_text),
                     proj (att_iter, att_iter),
                     proj (att_pos,  att_pos),
                     proj (att_item, att_res)),


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to