Update of /cvsroot/monetdb/pathfinder/compiler/algebra/opt
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv5111/compiler/algebra/opt
Modified Files:
Tag: M5XQ
opt_mvd.c
Log Message:
propagated changes of Wednesday May 20 2009
from the development trunk to the M5XQ branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/05/20 - sjoerd: compiler/algebra/opt/opt_mvd.c,1.53
propagated changes of Wednesday May 20 2009
from the May2009 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/05/20 - tsheyar: compiler/algebra/opt/opt_mvd.c,1.52.2.1
-- Make the error message for missing documents more informative:
Include the document name in the error message.
-- Adjust new error messages in the testweb.
-- Adjust stable output (for tests with a modified inter-document order).
-- Fix/Extend a cross product rewrite (for unreferenced inputs).
-- Simplify the 'missing document' error message in the algebra
for constant document names (which is the default).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
U opt_mvd.c
Index: opt_mvd.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_mvd.c,v
retrieving revision 1.50.2.2
retrieving revision 1.50.2.3
diff -u -d -r1.50.2.2 -r1.50.2.3
--- opt_mvd.c 13 May 2009 11:13:51 -0000 1.50.2.2
+++ opt_mvd.c 20 May 2009 16:28:33 -0000 1.50.2.3
@@ -141,29 +141,20 @@
PFprop_card (p->prop) == 1)
return dummy (R(p));
else {
- PFalg_proj_t *proj_list2;
- proj_list2 = PFmalloc ((R(p)->schema.count - 1)
- * sizeof (*(proj_list)));
- count = 0;
- /* split up the columns such that they do not conflict
- anymore */
- assert (R(p)->schema.count > 1);
- /* throw out the first column of the left child
- from the right child */
- for (j = 0; j < R(p)->schema.count; j++)
- if (L(p)->schema.items[0].name !=
- R(p)->schema.items[j].name) {
- proj_list2[count++] =
- proj (R(p)->schema.items[j].name,
- R(p)->schema.items[j].name);
- }
- /* keep only the first column of the left child */
- proj_list[0] = proj (L(p)->schema.items[0].name,
- L(p)->schema.items[0].name);
+ /* The left side does not add anything to the result
+ (except for the cardinality). */
- /* apply project operator on both childs */
- return cross (PFla_project_ (L(p), 1, proj_list),
- PFla_project_ (R(p), count, proj_list2));
+ /* new dummy column */
+ PFalg_col_t dummy = PFcol_new (col_iter);
+
+ return PFla_project_ (
+ cross (
+ project (
+ attach (L(p), dummy, lit_nat (42)),
+ proj (dummy, dummy)),
+ R(p)),
+ p->schema.count,
+ PFalg_proj_create (p->schema));
}
}
else {
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins