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

Modified Files:
        algebra.c core2alg.brg 
Log Message:
propagated changes of Thursday Feb 21 2008 - Friday Feb 22 2008
from the XQuery_0-22 branch to the development trunk


Index: core2alg.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/core2alg.brg,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- core2alg.brg        16 Feb 2008 19:42:39 -0000      1.63
+++ core2alg.brg        22 Feb 2008 12:46:27 -0000      1.64
@@ -2691,14 +2691,16 @@
 
             /* ------------------- LOOP ------------------- */
 
-            /* for strategy IFP we do not need to update the
-               loop relation ... */
-            if (strategy == IFP || strategy == IFP_OR_DELTA || !loop_used) {
+            /* In case the loop relation was not used
+               we don't need the recursion parameter */
+            if (!loop_used) {
                 loop_rec_param = res_rec_param;
-
-                /* ... instead we have to make sure that the 'real'
-                   loop relation is used already at the beginning */
-                *LOOP = *old_loop;
+            } else if (strategy == IFP || strategy == IFP_OR_DELTA) {
+                /* for IFP the loop doesn't change */
+                loop_rec_param = rec_param (rec_arg (old_loop,
+                                                     base_loop,
+                                                     base_loop),
+                                            res_rec_param);
             } else {
                 /* update the loop relation after the recursion body
                    has been processed ... */

Index: algebra.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/algebra.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- algebra.c   16 Feb 2008 19:42:38 -0000      1.71
+++ algebra.c   22 Feb 2008 12:46:27 -0000      1.72
@@ -935,7 +935,7 @@
             if (att & (1 << 3)) {
                 unsigned int id = att >> 4;
                 size_t len = sizeof ("iter0000");
-                char *res = PFmalloc (len);
+                char *res = PFmalloc (len+1);
 
                 assert (id < 10000);
 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to