Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23090/algebra/prop
Modified Files:
Tag: XQuery_0-24
prop_req_node.c
Log Message:
-- In the node property inference we cannot assume that update and
document management queries can be optimized.
(Updates fail with lightweight node constructors
-- nodes of kind REFERENCE.)
U prop_req_node.c
Index: prop_req_node.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_req_node.c,v
retrieving revision 1.6.4.1
retrieving revision 1.6.4.2
diff -u -d -r1.6.4.1 -r1.6.4.2
--- prop_req_node.c 2 Jun 2008 12:58:32 -0000 1.6.4.1
+++ prop_req_node.c 9 Jun 2008 12:30:40 -0000 1.6.4.2
@@ -412,10 +412,22 @@
break;
case la_fun_1to1:
- /* mark the input columns as access columns */
- for (unsigned int i = 0; i < n->sem.fun_1to1.refs.count; i++)
- if (type_of (n, n->sem.fun_1to1.refs.atts[i]) & aat_node)
- add_access_map (n, n->sem.fun_1to1.refs.atts[i]);
+ if (type_of (n, n->sem.fun_1to1.res) & (aat_update|aat_docmgmt)) {
+ /* mark that we are not allowed to assume anything about
+ the input columns */
+ for (unsigned int i = 0; i < n->sem.fun_1to1.refs.count; i++)
+ if (type_of (n, n->sem.fun_1to1.refs.atts[i]) & aat_node)
+ add_map_ (n, n->sem.fun_1to1.refs.atts[i],
+ true, true, true,
+ true, true, true,
+ true, true, true);
+ }
+ else {
+ /* mark the input columns as access columns */
+ for (unsigned int i = 0; i < n->sem.fun_1to1.refs.count; i++)
+ if (type_of (n, n->sem.fun_1to1.refs.atts[i]) & aat_node)
+ add_access_map (n, n->sem.fun_1to1.refs.atts[i]);
+ }
break;
case la_num_eq:
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins