Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv12961/algebra
Modified Files:
Tag: XQuery_0-22
core2alg.brg
Log Message:
-- Bugfix: The recursion operator in IFP mode did not distinct between nodes
created inside and outside of the recursion body.
Index: core2alg.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/core2alg.brg,v
retrieving revision 1.61
retrieving revision 1.61.2.1
diff -u -d -r1.61 -r1.61.2.1
--- core2alg.brg 31 Jan 2008 16:26:24 -0000 1.61
+++ core2alg.brg 21 Feb 2008 16:26:58 -0000 1.61.2.1
@@ -2719,14 +2719,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 ... */
-------------------------------------------------------------------------
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