Changeset: e4fac3abde61 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e4fac3abde61
Added Files:
        monetdb5/modules/mal/Tests/run
        monetdb5/optimizer/Tests/run
Modified Files:
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_recycle.c
        monetdb5/optimizer/opt_reduce.c
        sql/test/BugTracker-2013/Tests/All
Branch: default
Log Message:

Add the stack to the trimMalVariables call


diffs (134 lines):

diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -1211,7 +1211,7 @@ trimMalVariables_(MalBlkPtr mb, bit *use
 }
 
 void
-trimMalVariables(MalBlkPtr mb)
+trimMalVariables(MalBlkPtr mb, MalStkPtr stk)
 {
        bit *used;
        int i, j;
@@ -1230,7 +1230,7 @@ trimMalVariables(MalBlkPtr mb)
                if (mb->prps[i].var)
                        used[mb->prps[i].var] = 1;
        }
-       trimMalVariables_(mb, used, 0);
+       trimMalVariables_(mb, used, stk);
        GDKfree(used);
 }
 
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -249,7 +249,7 @@ mal_export MalBlkPtr gotoMalBlkMarker(Ma
 mal_export MalBlkPtr getMalBlkMarker(MalBlkPtr mb, str marker);
 mal_export void expandMalBlk(MalBlkPtr mb, int lines);
 mal_export void trimMalBlk(MalBlkPtr mb);
-mal_export void trimMalVariables(MalBlkPtr mb);
+mal_export void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
 mal_export void trimMalVariables_(MalBlkPtr mb, bit *used, MalStkPtr glb);
 mal_export void moveInstruction(MalBlkPtr mb, int pc, int target);
 mal_export void insertInstruction(MalBlkPtr mb, InstrPtr p, int pc);
diff --git a/monetdb5/mal/mal_recycle.c b/monetdb5/mal/mal_recycle.c
--- a/monetdb5/mal/mal_recycle.c
+++ b/monetdb5/mal/mal_recycle.c
@@ -404,7 +404,7 @@ newpass:
        GDKfree(old);
        GDKfree(used);
        /* remove all un-used variables as well */
-       trimMalVariables(recycleBlk);
+       trimMalVariables(recycleBlk,0);
 
        GDKfree(dmask);
        /* check if a new pass of cache cleaning is needed */
diff --git a/monetdb5/modules/mal/Tests/run b/monetdb5/modules/mal/Tests/run
new file mode 100755
--- /dev/null
+++ b/monetdb5/modules/mal/Tests/run
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+#DBFARM=$PWD/dbfarm
+DBFARM=/ufs/mk/monet5/Linux/var/MonetDB/dbfarm
+DBNAME=test
+#MSERVER="Mtimeout -timeout 123 mserver --dbpath=$DBFARM/$DBNAME -c All.conf 
--set monet_prompt="
+MSERVER="valgrind  --leak-check=full --show-reachable=yes --num-callers=20 
mserver5 --dbpath=$DBFARM/$DBNAME "
+
+echo "Initialize database"
+rm -rf $DBFARM/$DBNAME
+#echo 'clients.quit();' | $MSERVER
+
+mkdir -p valgrind
+for f in  `cat  All`
+do
+       echo $f
+       b=`basename $f .mal`
+       s=$b.stable
+       t=valgrind/$b.test
+       echo `date` "----" $f $b $s $t
+       echo "stdout of test '$b\` in directory 'src/mal\` itself:" > $t.out
+       echo "stderr of test '$b\` in directory 'src/mal\` itself:" > $t.err
+       echo `date` $MSERVER $f
+       $MSERVER $f </dev/null >> $t.valgrind.out 2>> $t.valgrind.err |tee 
$t.valgrind.out 
+       #diff -I'^# [Cc]ompiled for ' -I'^# config:' -I'^# dbfarm:' -I'^# 
dbname:' $t.out $s.out
+       #diff -I'^# [Cc]ompiled for ' -I'^# config:' -I'^# dbfarm:' -I'^# 
dbname:' $t.err $s.err
+       sleep 2
+done
diff --git a/monetdb5/optimizer/Tests/run b/monetdb5/optimizer/Tests/run
new file mode 100755
--- /dev/null
+++ b/monetdb5/optimizer/Tests/run
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+#DBFARM=$PWD/dbfarm
+DBFARM=/ufs/mk/monet5/Linux/var/MonetDB/dbfarm
+DBNAME=opttest
+#MSERVER="Mtimeout -timeout 123 mserver --dbpath=$DBFARM/$DBNAME -c All.conf 
--set monet_prompt="
+MSERVER="valgrind  --leak-check=full --show-reachable=yes --num-callers=30 
mserver5 --dbpath=$DBFARM/$DBNAME "
+
+echo "Initialize database"
+rm -rf $DBFARM/$DBNAME
+#echo 'clients.quit();' | $MSERVER
+
+mkdir -p valgrind
+for f in  `cat  All`
+do
+       echo $f
+       b=`basename $f .mal`
+       s=$b.stable
+       t=valgrind/$b.test
+       echo `date` "----" $f $b $s $t
+       echo "stdout of test '$b\` in directory 'src/mal\` itself:" > $t.out
+       echo "stderr of test '$b\` in directory 'src/mal\` itself:" > $t.err
+       echo `date` $MSERVER $f
+       $MSERVER $f </dev/null >> $t.valgrind.out 2>> $t.valgrind.err |tee 
$t.valgrind.out 
+       #diff -I'^# [Cc]ompiled for ' -I'^# config:' -I'^# dbfarm:' -I'^# 
dbname:' $t.out $s.out
+       #diff -I'^# [Cc]ompiled for ' -I'^# config:' -I'^# dbfarm:' -I'^# 
dbname:' $t.err $s.err
+       sleep 2
+done
diff --git a/monetdb5/optimizer/opt_reduce.c b/monetdb5/optimizer/opt_reduce.c
--- a/monetdb5/optimizer/opt_reduce.c
+++ b/monetdb5/optimizer/opt_reduce.c
@@ -30,7 +30,7 @@ OPTreduceImplementation(Client cntxt, Ma
        (void) p;
 
        actions = mb->vtop;
-       trimMalVariables(mb);
+       trimMalVariables(mb,0);
        actions = actions - mb->vtop;
        return actions;
 }
diff --git a/sql/test/BugTracker-2013/Tests/All 
b/sql/test/BugTracker-2013/Tests/All
--- a/sql/test/BugTracker-2013/Tests/All
+++ b/sql/test/BugTracker-2013/Tests/All
@@ -40,6 +40,7 @@ cannot_use_columns_after_groupby.Bug-334
 iso8601_weekofyear.Bug-3232
 sort_void_crash.Bug-3341
 bogus_aggregation_casts.Bug-3342
+recursion      # remind us that it should work
 nestedcalls
 like_pcre_or.Bug-3348
 duplicate_column_name.Bug-3349
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to