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

Modified Files:
      Tag: PF_ROX
        prop_dom.c prop_dom_nat.c prop_req_node.c 
Log Message:
propagated changes of Tuesday Jun 10 2008
from the development trunk to the PF_ROX branch



U prop_dom_nat.c
Index: prop_dom_nat.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom_nat.c,v
retrieving revision 1.15.4.6
retrieving revision 1.15.4.7
diff -u -d -r1.15.4.6 -r1.15.4.7
--- prop_dom_nat.c      6 Jun 2008 14:25:37 -0000       1.15.4.6
+++ prop_dom_nat.c      10 Jun 2008 14:47:35 -0000      1.15.4.7
@@ -722,7 +722,6 @@
                     break;
 
                 case la_element:
-                case la_textnode:
                 case la_comment:
                     add_dom (n->prop,
                              n->sem.iter_item.iter,
@@ -730,6 +729,16 @@
                                          L(n)->sem.iter_item.iter));
                     break;
 
+                case la_textnode:
+                    /* because of empty textnode constructors
+                       create new subdomain for attribute iter */
+                    add_subdom (n->prop,
+                                PFprop_dom (L(n)->prop,
+                                            L(n)->sem.iter_item.iter),
+                                id);
+                    add_dom (n->prop, n->sem.iter_item.iter, id++);
+                    break;
+                    
                 case la_attribute:
                 case la_processi:
                     add_dom (n->prop,

U prop_dom.c
Index: prop_dom.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom.c,v
retrieving revision 1.47.4.6
retrieving revision 1.47.4.7
diff -u -d -r1.47.4.6 -r1.47.4.7
--- prop_dom.c  6 Jun 2008 14:25:37 -0000       1.47.4.6
+++ prop_dom.c  10 Jun 2008 14:47:34 -0000      1.47.4.7
@@ -1010,7 +1010,6 @@
                     break;
 
                 case la_element:
-                case la_textnode:
                 case la_comment:
                     add_dom (n->prop,
                              n->sem.iter_item.iter,
@@ -1018,6 +1017,16 @@
                                          L(n)->sem.iter_item.iter));
                     break;
 
+                case la_textnode:
+                    /* because of empty textnode constructors
+                       create new subdomain for attribute iter */
+                    add_subdom (n->prop,
+                                PFprop_dom (L(n)->prop,
+                                            L(n)->sem.iter_item.iter),
+                                id);
+                    add_dom (n->prop, n->sem.iter_item.iter, id++);
+                    break;
+                    
                 case la_attribute:
                 case la_processi:
                     add_dom (n->prop,

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.2.3
retrieving revision 1.6.2.4
diff -u -d -r1.6.2.3 -r1.6.2.4
--- prop_req_node.c     2 Jun 2008 20:28:14 -0000       1.6.2.3
+++ prop_req_node.c     10 Jun 2008 14:47:37 -0000      1.6.2.4
@@ -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

Reply via email to