Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25375/algebra/prop
Modified Files:
Tag: XQuery_0-24
prop_icol.c prop_rec_delta.c
Log Message:
-- Changed the implementation of the icols property inference
to correctly work on unique column names.
(This change is necessary for my next checkin
-- the join push down optimizer.)
U prop_icol.c
Index: prop_icol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_icol.c,v
retrieving revision 1.37
retrieving revision 1.37.2.1
diff -u -d -r1.37 -r1.37.2.1
--- prop_icol.c 3 Apr 2008 11:03:31 -0000 1.37
+++ prop_icol.c 28 May 2008 11:34:41 -0000 1.37.2.1
@@ -47,12 +47,28 @@
#define EDGE(n) (n)->refctr
/**
+ * worker for PFprop_icol;
+ * Test if @a attr is in the list of icol columns in array @a icols
+ */
+static bool
+icol_worker (PFarray_t *icols, PFalg_att_t attr)
+{
+ if (!icols) return false;
[...1016 lines suppressed...]
/* second run infers icols property */
- prop_infer_icols (root, icols);
+ prop_infer_icols (root, icol_list);
}
/**
@@ -856,7 +958,11 @@
*/
void
PFprop_infer_icol (PFla_op_t *root) {
- PFprop_infer_icol_specific (root, 0);
+ /* collect number of incoming edges (parents) */
+ prop_infer (root);
+ PFla_dag_reset (root);
+
+ prop_infer_icols (root, NULL);
}
/* vim:set shiftwidth=4 expandtab: */
U prop_rec_delta.c
Index: prop_rec_delta.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_rec_delta.c,v
retrieving revision 1.23
retrieving revision 1.23.2.1
diff -u -d -r1.23 -r1.23.2.1
--- prop_rec_delta.c 3 Apr 2008 11:03:35 -0000 1.23
+++ prop_rec_delta.c 28 May 2008 11:34:43 -0000 1.23.2.1
@@ -43,8 +43,8 @@
/* Easily access subtree-parts */
#include "child_mnemonic.h"
-#define ITER(n) ((n)->prop->icols)
-#define POS(n) ((n)->prop->r_icols)
+#define ITER(n) ((n)->prop->left_cols)
+#define POS(n) ((n)->prop->right_cols)
#define IN(n) ((n)->prop->set)
#define REFS(n) ((n)->refctr)
-------------------------------------------------------------------------
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