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