Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv21826/compiler/algebra/prop
Modified Files:
Tag: PF_ROX
prop_card.c prop_dom.c prop_dom_nat.c prop_icol.c
Log Message:
propagated changes of Thursday Jun 05 2008 - Friday Jun 06 2008
from the development trunk to the PF_ROX branch
U prop_icol.c
Index: prop_icol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_icol.c,v
retrieving revision 1.30.4.5
retrieving revision 1.30.4.6
diff -u -d -r1.30.4.5 -r1.30.4.6
--- prop_icol.c 30 May 2008 12:41:01 -0000 1.30.4.5
+++ prop_icol.c 6 Jun 2008 14:25:37 -0000 1.30.4.6
@@ -649,6 +649,12 @@
} else if (first_twig_child) {
first_twig_child = false;
union_ (n->prop->icols, n->sem.iter_item.iter);
+
+ /* special textnode treating as we do not prune
+ a single (stand-alone) textnode constructor */
+ if (n->kind == la_textnode)
+ union_ (n->prop->icols, n->sem.iter_item.item);
+
prop_infer_icols (L(n), n->prop->icols);
} else {
prop_infer_icols (L(n), NULL);
@@ -839,19 +845,19 @@
PFarray_t *lproj = n->sem.eqjoin_unq.lproj,
*rproj = n->sem.eqjoin_unq.rproj;
+ /* add both join columns to the inferred icols */
+ union_ (n->prop->l_icols, proj_at(lproj, 0).old);
+ union_ (n->prop->r_icols, proj_at(rproj, 0).old);
+
/* rename icols columns from new to old */
- for (unsigned int i = 0; i < PFarray_last (lproj); i++)
+ for (unsigned int i = 1; i < PFarray_last (lproj); i++)
if (in (n->prop->icols, proj_at(lproj, i).new))
union_ (n->prop->l_icols, proj_at(lproj, i).old);
/* rename icols columns from new to old */
- for (unsigned int i = 0; i < PFarray_last (rproj); i++)
+ for (unsigned int i = 1; i < PFarray_last (rproj); i++)
if (in (n->prop->icols, proj_at(rproj, i).new))
union_ (n->prop->r_icols, proj_at(rproj, i).old);
-
- /* add both join columns to the inferred icols */
- union_ (n->prop->l_icols, proj_at(lproj, 0).old);
- union_ (n->prop->r_icols, proj_at(rproj, 0).old);
} break;
case la_cross_mvd:
U prop_dom.c
Index: prop_dom.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom.c,v
retrieving revision 1.47.4.5
retrieving revision 1.47.4.6
diff -u -d -r1.47.4.5 -r1.47.4.6
--- prop_dom.c 30 May 2008 12:40:47 -0000 1.47.4.5
+++ prop_dom.c 6 Jun 2008 14:25:37 -0000 1.47.4.6
@@ -773,10 +773,10 @@
if (dom1 == dom2)
union_dom = dom1;
else if (PFprop_subdom (n->prop, dom1, dom2) ||
- dom2 == EMPTYDOM)
+ dom1 == EMPTYDOM)
union_dom = dom2;
else if (PFprop_subdom (n->prop, dom2, dom1) ||
- dom1 == EMPTYDOM)
+ dom2 == EMPTYDOM)
union_dom = dom1;
else {
union_dom = id++;
U prop_card.c
Index: prop_card.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_card.c,v
retrieving revision 1.31.4.3
retrieving revision 1.31.4.4
diff -u -d -r1.31.4.3 -r1.31.4.4
--- prop_card.c 17 Apr 2008 14:31:16 -0000 1.31.4.3
+++ prop_card.c 6 Jun 2008 14:25:36 -0000 1.31.4.4
@@ -90,7 +90,6 @@
case la_docnode:
case la_element:
case la_attribute:
- case la_textnode:
case la_comment:
case la_processi:
case la_roots:
@@ -132,6 +131,7 @@
case la_step_join:
case la_doc_index_join:
case la_fcns:
+ case la_textnode:
case la_merge_adjacent:
case la_fragment:
case la_frag_extract:
U prop_dom_nat.c
Index: prop_dom_nat.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom_nat.c,v
retrieving revision 1.15.4.5
retrieving revision 1.15.4.6
diff -u -d -r1.15.4.5 -r1.15.4.6
--- prop_dom_nat.c 30 May 2008 12:40:57 -0000 1.15.4.5
+++ prop_dom_nat.c 6 Jun 2008 14:25:37 -0000 1.15.4.6
@@ -532,10 +532,10 @@
if (dom1 == dom2)
union_dom = dom1;
else if (PFprop_subdom (n->prop, dom1, dom2) ||
- dom2 == EMPTYDOM)
+ dom1 == EMPTYDOM)
union_dom = dom2;
else if (PFprop_subdom (n->prop, dom2, dom1) ||
- dom1 == EMPTYDOM)
+ dom2 == EMPTYDOM)
union_dom = dom1;
else {
union_dom = id++;
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins