Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv13092/algebra

Modified Files:
        algopt.c planner.c properties.c 
Log Message:
-- Added node based properties that check (top-down) if ...

    ... the node may be used (indirectly) for serialization

    ... the node id may be used

    ... the node order may be used

    ... the node values may be accessed

    ... a downward axis is applied lateron
        (child, descendant, descendant-or-self)

    ... a side-way axis is applied lateron
        (following, following-sibling, preceding, preceding-sibling)

    ... an upward axis is applied lateron
        (parent, ancestor, ancestor-or-self)

    ... a self axis is applied lateron
        (self, ancestor-or-self, descendant-or-self)

    ... the node may be used as input to node construction

-- Exploited the node base property that checks for the downward axis
   property:
  
   For every content constructor whose input is not queried we can
   use the physical shallow content constructor that makes use of
   references instead of creating a subtree copy.

   (This sped up the execution time of XMark Q10 (scale factor 1)
    by 60% and the execution time of XMark Q15 by 150%.)


U algopt.c
Index: algopt.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/algopt.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- algopt.c    25 Feb 2008 15:37:04 -0000      1.30
+++ algopt.c    1 Apr 2008 16:37:11 -0000       1.31
@@ -339,6 +339,7 @@
                                   false /* composite key */,
                                   true  /* key */,
                                   false /* ocols */, 
+                                  true  /* req_node */,
                                   false /* reqval */,
                                   true  /* level */,
                                   true  /* refctr */,
@@ -356,6 +357,7 @@
                                   true  /* composite key */,
                                   true  /* key */,
                                   true  /* ocols */, 
+                                  true  /* req_node */,
                                   true  /* reqval */,
                                   true  /* level */,
                                   true  /* refctr */,

U planner.c
Index: planner.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/planner.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- planner.c   26 Mar 2008 11:20:47 -0000      1.56
+++ planner.c   1 Apr 2008 16:37:13 -0000       1.57
@@ -1784,7 +1784,7 @@
                        *(plan_t **) PFarray_at (R(n)->plans, i),
                        sortby (iter, pos)));
 
-    if (false /* magic flag to enable shallow content constructors */)
+    if (!PFprop_node_content_queried (n->prop, att_item))
         /* for each plan, generate a constructor */
         for (unsigned int i = 0; i < PFarray_last (ordered_in); i++)
             add_plan (ret,

U properties.c
Index: properties.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/properties.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- properties.c        14 Jan 2008 14:05:24 -0000      1.34
+++ properties.c        1 Apr 2008 16:37:14 -0000       1.35
@@ -122,9 +122,9 @@
 void
 PFprop_infer (bool card, bool const_, bool set,
               bool dom, bool icol, bool ckey,
-              bool key, bool ocols, bool reqval, 
-              bool level, bool refctr, bool guides,
-              bool ori_names, bool unq_names,
+              bool key, bool ocols, bool req_node,
+              bool reqval, bool level, bool refctr,
+              bool guides, bool ori_names, bool unq_names,
               PFla_op_t *root, PFguide_tree_t *guide)
 {
     PFprop_create_prop (root);
@@ -145,6 +145,8 @@
         PFprop_infer_guide (root, guide);
     if (const_)
         PFprop_infer_const (root);
+    if (req_node)
+        PFprop_infer_req_node (root);
     if (reqval)
         PFprop_infer_reqval (root);
     if (dom)


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to