Update of /cvsroot/monetdb/pathfinder/compiler/algebra/opt
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv14317/compiler/algebra/opt
Modified Files:
Tag: M5XQ
opt_complex.c
Log Message:
propagated changes of Thursday Nov 05 2009 - Monday Nov 09 2009
from the development trunk to the M5XQ branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/11/05 - singhan: compiler/algebra/opt/opt_complex.c,1.83
XQuery full-text search support initial version!
This initial version provides support to
-ftcontains keyword,
e.g., for $f in doc("menu.xml")//food[./name ftcontains "Belgian Waffles"]
return $f
The above query will return all the food nodes that has some relevancy over
"Belgian Waffles"
-initial score variable support
e.g., for $f score $s in doc("menu.xml")//food[./name ftcontains "Belgian
Waffles"]
return $s
The above query will return the relevancy score of all the matched food
nodes, however since its an initial version, the support to this score variable
is very limited.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: opt_complex.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_complex.c,v
retrieving revision 1.74.2.7
retrieving revision 1.74.2.8
diff -u -d -r1.74.2.7 -r1.74.2.8
--- opt_complex.c 5 Oct 2009 12:12:28 -0000 1.74.2.7
+++ opt_complex.c 9 Nov 2009 00:03:13 -0000 1.74.2.8
@@ -132,7 +132,7 @@
if (!PFprop_key (p->prop, p->sem.eqjoin.col1) &&
!PFprop_set (p->prop))
return NULL;
-
+
/* checks for the left join side */
lp = L(p);
@@ -386,7 +386,7 @@
PFprop_card (lp->prop) &&
(lp->kind == la_lit_tbl ||
(lp->kind == la_project && L(lp)->kind == la_lit_tbl)));
-
+
/* attach all columns of the to-be-replaced side
to the other side */
for (unsigned int i = 0; i < lp->schema.count; i++) {
@@ -551,7 +551,7 @@
lop = L(op);
rop = R(op);
-
+
/* ACTION: split up column name mapping into
a left and a right mapping */
lproj = PFmalloc (lop->schema.count * sizeof (PFalg_proj_t));
@@ -598,7 +598,7 @@
PFord_order_dir_at (lop->sem.sort.sortby, 0) != DIR_ASC ||
PFord_order_dir_at (rop->sem.sort.sortby, 0) != DIR_ASC)
return false;
-
+
sort1 = PFord_order_col_at (lop->sem.sort.sortby, 0);
sort2 = PFord_order_col_at (rop->sem.sort.sortby, 0);
@@ -1049,7 +1049,7 @@
/* adjust the column name to the next operator */
desc_col = PFprop_lineage_col (desc->prop, desc_col);
desc = new_desc;
- }
+ }
/* we ensured that (desc == origin) and now
check that they stem from the same column */
@@ -1060,7 +1060,7 @@
* For operators with order criteria we try to
* remove columns from the order list if they are
* functionally dependent and the correct order is
- * ensured by the next order criterion in the order list.
+ * ensured by the next order criterion in the order list.
*/
static bool
shrink_order_list (PFla_op_t *p)
@@ -1088,7 +1088,7 @@
/* compare adjacent order criteria */
for (unsigned int i = 1; i < PFord_count (sortby); i++) {
cur = PFord_order_col_at (sortby, i-1);
- next_cur = PFord_order_col_at (sortby, i);
+ next_cur = PFord_order_col_at (sortby, i);
/* and skip the former criterion if it is
functionally dependent from the current
@@ -1419,13 +1419,13 @@
break;
}
- if (PFprop_disjdom (p->prop,
+ if (PFprop_disjdom (p->prop,
PFprop_dom_left (RL(p)->prop, col2),
PFprop_dom_left (p->prop, col1))) {
R(p) = PFla_project_ (RLR(p), count, proj);
modified = true;
}
- else if (PFprop_disjdom (p->prop,
+ else if (PFprop_disjdom (p->prop,
PFprop_dom_right (RL(p)->prop, col2),
PFprop_dom_left (p->prop, col1))) {
R(p) = PFla_project_ (RLL(p), count, proj);
@@ -1450,13 +1450,13 @@
break;
}
- if (PFprop_disjdom (p->prop,
+ if (PFprop_disjdom (p->prop,
PFprop_dom_left (LL(p)->prop, col1),
PFprop_dom_right (p->prop, col2))) {
L(p) = PFla_project_ (LLR(p), count, proj);
modified = true;
}
- else if (PFprop_disjdom (p->prop,
+ else if (PFprop_disjdom (p->prop,
PFprop_dom_right (LL(p)->prop, col1),
PFprop_dom_right (p->prop, col2))) {
L(p) = PFla_project_ (LLL(p), count, proj);
@@ -1849,7 +1849,7 @@
/* replace dependent column by icols column */
proj2[i].old = p->schema.items[j].name;
/* throw away column */
- break;
+ break;
}
if (j == p->schema.count)
/* keep column */
@@ -2116,7 +2116,7 @@
schema.items = PFmalloc (schema.count *
sizeof (PFalg_schema_t));
for (unsigned int i = 0; i < schema.count; i++)
- schema.items[i].name =
+ schema.items[i].name =
PFord_order_col_at (p->sem.sort.sortby, i);
if (PFprop_ckey (p->prop, schema)) {
*p = *PFla_rowrank (
@@ -2641,7 +2641,7 @@
*p = *PFla_step_join_simple (
L(p),
PFla_project_ (RR(p), R(p)->schema.count, proj),
- spec,
+ spec,
R(p)->sem.step.item,
p->sem.step.item_res);
modified = true;
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins