Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv1296/compiler/algebra
Modified Files:
Tag: xquery-decomposition
logical.c physical.c planner.c properties.c
Log Message:
propagated changes up to Thursday Jan 17 2008
from the development trunk to the xquery-decomposition branch
Index: physical.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/physical.c,v
retrieving revision 1.50
retrieving revision 1.50.2.1
diff -u -d -r1.50 -r1.50.2.1
--- physical.c 11 Jan 2008 10:46:56 -0000 1.50
+++ physical.c 17 Jan 2008 08:36:35 -0000 1.50.2.1
@@ -1653,7 +1653,7 @@
case alg_fun_fn_name:
case alg_fun_fn_local_name:
case alg_fun_fn_namespace_uri:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure attribute is of type node */
assert (n->schema.items[ix[0]].type & aat_node);
@@ -1666,7 +1666,7 @@
break;
case alg_fun_fn_qname:
- assert (n->sem.fun_1to1.refs.count == 2);
+ assert (refs.count == 2);
/* make sure both attributes are of type string */
assert (n->schema.items[ix[0]].type == aat_str &&
n->schema.items[ix[1]].type == aat_str);
@@ -1675,7 +1675,7 @@
break;
case alg_fun_pf_fragment:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure both attributes are of type string */
assert (n->schema.items[ix[0]].type & aat_node);
@@ -1683,7 +1683,7 @@
break;
case alg_fun_pf_supernode:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure both attributes are of type string */
assert (n->schema.items[ix[0]].type & aat_node);
Index: planner.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/planner.c,v
retrieving revision 1.46
retrieving revision 1.46.2.1
diff -u -d -r1.46 -r1.46.2.1
--- planner.c 11 Jan 2008 10:46:57 -0000 1.46
+++ planner.c 17 Jan 2008 08:36:36 -0000 1.46.2.1
@@ -2795,6 +2795,7 @@
if (n->schema.count == 1 &&
L(n)->sem.thetajoin.count == 2 &&
L(n)->sem.thetajoin.pred[0].comp == alg_comp_eq &&
+ L(n)->sem.thetajoin.pred[1].comp != alg_comp_ne &&
(n->sem.proj.items[0].old ==
L(n)->sem.thetajoin.pred[0].left ||
n->sem.proj.items[0].old ==
@@ -2806,6 +2807,7 @@
and the right children of the thetajoin */
} else if (n->schema.count == 2 &&
L(n)->sem.thetajoin.count == 1 &&
+ L(n)->sem.thetajoin.pred[0].comp != alg_comp_ne &&
(PFprop_ocol (L(L(n)), n->sem.proj.items[0].old) &&
PFprop_ocol (R(L(n)), n->sem.proj.items[1].old)) ^
(PFprop_ocol (L(L(n)), n->sem.proj.items[1].old) &&
Index: logical.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/logical.c,v
retrieving revision 1.75
retrieving revision 1.75.2.1
diff -u -d -r1.75 -r1.75.2.1
--- logical.c 11 Jan 2008 10:46:56 -0000 1.75
+++ logical.c 17 Jan 2008 08:36:35 -0000 1.75.2.1
@@ -1401,7 +1401,7 @@
case alg_fun_fn_name:
case alg_fun_fn_local_name:
case alg_fun_fn_namespace_uri:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure attribute is of type node */
assert (n->schema.items[ix[0]].type & aat_node);
@@ -1414,7 +1414,7 @@
break;
case alg_fun_fn_qname:
- assert (n->sem.fun_1to1.refs.count == 2);
+ assert (refs.count == 2);
/* make sure both attributes are of type string */
assert (n->schema.items[ix[0]].type == aat_str &&
n->schema.items[ix[1]].type == aat_str);
@@ -1423,7 +1423,7 @@
break;
case alg_fun_pf_fragment:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure attribute is of type node */
assert (n->schema.items[ix[0]].type & aat_node);
@@ -1431,7 +1431,7 @@
break;
case alg_fun_pf_supernode:
- assert (n->sem.fun_1to1.refs.count == 1);
+ assert (refs.count == 1);
/* make sure attribute is of type node */
assert (n->schema.items[ix[0]].type & aat_node);
Index: properties.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/properties.c,v
retrieving revision 1.33
retrieving revision 1.33.2.1
diff -u -d -r1.33 -r1.33.2.1
--- properties.c 11 Jan 2008 12:49:09 -0000 1.33
+++ properties.c 17 Jan 2008 08:36:36 -0000 1.33.2.1
@@ -84,7 +84,8 @@
/* initialize required value lists */
ret->req_bool_vals.name = empty_list;
ret->req_bool_vals.val = empty_list;
- ret->req_distr_cols = empty_list;
+ ret->req_order_cols = empty_list;
+ ret->req_bijective_cols = empty_list;
ret->req_multi_col_cols = empty_list;
ret->req_value_cols = empty_list;
-------------------------------------------------------------------------
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