Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6600/algebra

Modified Files:
        algopt.c planner.c properties.c 
Log Message:
-- 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: algopt.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/algopt.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- algopt.c    7 Jan 2010 15:24:27 -0000       1.54
+++ algopt.c    17 Mar 2010 21:56:09 -0000      1.55
@@ -396,6 +396,7 @@
                    be too many columns involved */
                               false /* original names */,
                               true  /* unique names */,
+                              true  /* name origin */,
                               root, guide_list);
 
                 tm = PFtimer_stop (tm);

Index: planner.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/planner.c,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- planner.c   7 Jan 2010 15:24:27 -0000       1.92
+++ planner.c   17 Mar 2010 21:56:09 -0000      1.93
@@ -368,10 +368,10 @@
 
     /* check if the output is independent of the left side */
     for (unsigned int i = 0; i < L(n)->schema.count; i++)
-        l_indep &= !PFprop_icol (n->prop, L(n)->schema.items[i].name);
+        l_indep &= PFprop_not_icol (n->prop, L(n)->schema.items[i].name);
     /* check if the output is independent of the right side */
     for (unsigned int i = 0; i < R(n)->schema.count; i++)
-        r_indep &= !PFprop_icol (n->prop, R(n)->schema.items[i].name);
+        r_indep &= PFprop_not_icol (n->prop, R(n)->schema.items[i].name);
     
     /* add plans with dependent cross products */
     if (l_indep ||

Index: properties.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/properties.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- properties.c        7 Jan 2010 15:24:27 -0000       1.48
+++ properties.c        17 Mar 2010 21:56:18 -0000      1.49
@@ -120,6 +120,9 @@
     /* initialize composite key list */
     ret->ckeys = NULL;
 
+    /* initialize name origin list */
+    ret->name_origin = NULL;
+
     return ret;
 }
 
@@ -133,6 +136,7 @@
               bool key, bool fds, bool ocols, bool req_node,
               bool reqval, bool level, bool refctr,
               bool guides, bool ori_names, bool unq_names,
+              bool name_origin,
               PFla_op_t *root, PFguide_list_t *guide_list)
 {
     PFprop_create_prop (root);
@@ -175,6 +179,8 @@
         PFprop_infer_ocol (root);
     if (ori_names)
         PFprop_infer_ori_names (root);
+    if (name_origin)
+        PFprop_infer_name_origin (root);
     if (refctr)
         PFprop_infer_refctr (root);
 }


------------------------------------------------------------------------------
Download Intel&#174; 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

Reply via email to