Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory
sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23005/compiler/algebra/prop
Modified Files:
Tag: M5XQ
prop_icol.c
Log Message:
propagated changes of Thursday Mar 18 2010
from the XQFT branch to the M5XQ branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010/03/18 - sjoerd: compiler/algebra/prop/prop_icol.c,1.50.2.2
propagated changes of Wednesday Mar 17 2010 - Thursday Mar 18 2010
from the development trunk to the XQFT branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010/03/17 - tsheyar: compiler/algebra/prop/prop_icol.c,1.52
-- Introduced a new column-name-origin property that enhances the column
names
in the DOT generated algebra plans. If a column stems from a ref_tbl or a
path step we now keep the original name throughout the plan.
(Use pf-option -fN to print the mapping of original names.)
-- Make property usage a little bit more defensive. Instead of !PFprop_icol
a new function PFprop_not_icol is introduced that copes correctly with
missing property information.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: prop_icol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_icol.c,v
retrieving revision 1.47.2.4
retrieving revision 1.47.2.5
diff -u -d -r1.47.2.4 -r1.47.2.5
--- prop_icol.c 8 Jan 2010 08:55:17 -0000 1.47.2.4
+++ prop_icol.c 18 Mar 2010 11:45:43 -0000 1.47.2.5
@@ -58,9 +58,9 @@
* Test if @a col is in the list of icol columns in array @a icols
*/
static bool
-icol_worker (PFalg_collist_t *icols, PFalg_col_t col)
+icol_worker (PFalg_collist_t *icols, PFalg_col_t col, bool exist)
{
- if (!icols) return false;
+ if (!icols) return !exist;
for (unsigned int i = 0; i < clsize (icols); i++)
if (col == clat (icols, i))
@@ -75,7 +75,16 @@
bool
PFprop_icol (const PFprop_t *prop, PFalg_col_t col)
{
- return icol_worker (prop->icols, col);
+ return icol_worker (prop->icols, col, true);
+}
+
+/**
+ * Test if @a col is *not* in the list of icol columns in container @a prop
+ */
+bool
+PFprop_not_icol (const PFprop_t *prop, PFalg_col_t col)
+{
+ return !icol_worker (prop->icols, col, false);
}
/**
@@ -85,7 +94,7 @@
bool
PFprop_icol_left (const PFprop_t *prop, PFalg_col_t col)
{
- return icol_worker (prop->l_icols, col);
+ return icol_worker (prop->l_icols, col, true);
}
/**
@@ -95,7 +104,7 @@
bool
PFprop_icol_right (const PFprop_t *prop, PFalg_col_t col)
{
- return icol_worker (prop->r_icols, col);
+ return icol_worker (prop->r_icols, col, true);
}
/*
@@ -149,7 +158,7 @@
{
assert (a);
- if (!icol_worker (a, b))
+ if (!icol_worker (a, b, false))
cladd (a) = b;
}
@@ -167,7 +176,7 @@
for (unsigned int i = 0; i < clsize (b); i++) {
cur = clat (b, i);
- if (!icol_worker (a, cur))
+ if (!icol_worker (a, cur, false))
cladd (a) = cur;
}
}
@@ -196,7 +205,7 @@
static bool
in (PFalg_collist_t *a, PFalg_col_t b)
{
- return (icol_worker (a, b));
+ return (icol_worker (a, b, true));
}
/**
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins