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