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