Changeset: f6916621906f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6916621906f
Modified Files:
        monetdb5/scheduler/Tests/matpack00.mal
        monetdb5/scheduler/Tests/matpack01.mal
        monetdb5/scheduler/Tests/matpack02.mal
        monetdb5/scheduler/Tests/matpack03.mal
        monetdb5/scheduler/Tests/matpack04.mal
Branch: mutation
Log Message:

Enforce proper returns
If we don't return a proper value the deadcode analyzer
will trim the query function to become empty.


diffs (185 lines):

diff --git a/monetdb5/scheduler/Tests/matpack00.mal 
b/monetdb5/scheduler/Tests/matpack00.mal
--- a/monetdb5/scheduler/Tests/matpack00.mal
+++ b/monetdb5/scheduler/Tests/matpack00.mal
@@ -14,12 +14,11 @@ function initialize{unsafe}(limit:lng):b
        return b;
 end initialize;
 
-function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):lng;
-       t0:= alarm.usec();
+function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):wrd;
        m:= mat.pack(b,c,d);
        s:= algebra.subselect(m,1:lng,99:lng,true,false,false);
-       t1:= alarm.usec();
-       return query := t1-t0;
+       cnt:= aggr.count(s);
+       return query := cnt;
 end query;
 
 optimizer.multicore("user","query");
@@ -37,9 +36,12 @@ function testrun(limit:lng);
        io.printf(" max %d min %d step %d\n",max,min,step);
 
        barrier i:=0;
+               t0:= alarm.usec();
                t2:= user.query(b,b,b);
+               t1:= alarm.usec();
+               t1:= t1-t0;
                mdb.list("user","query");
-               io.printf("#run %d %d %d\n",limit,i,t2);
+               io.printf("#run %d %d %d\n",limit,i,t1);
                redo i:= iterator.next(1,4);
        exit i;
 
diff --git a/monetdb5/scheduler/Tests/matpack01.mal 
b/monetdb5/scheduler/Tests/matpack01.mal
--- a/monetdb5/scheduler/Tests/matpack01.mal
+++ b/monetdb5/scheduler/Tests/matpack01.mal
@@ -14,13 +14,13 @@ function initialize{unsafe}(limit:lng):b
        return b;
 end initialize;
 
-function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):lng;
-       t0:= alarm.usec();
+function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng])(:wrd,:wrd);
        z:= bat.new(:oid,:lng);
        m:= mat.pack(b,c,d);
        (s,t):= algebra.join(z,m);
-       t1:= alarm.usec();
-       return query := t1-t0;
+       cnt1 := aggr.count(s);
+       cnt2 := aggr.count(t);
+       return (cnt1,cnt2);
 end query;
 
 optimizer.multicore("user","query");
@@ -38,9 +38,12 @@ function testrun(limit:lng);
        io.printf(" max %d min %d step %d\n",max,min,step);
 
        barrier i:=0;
-               t2:= user.query(b,b,b);
+               t0:= alarm.usec();
+               (x1,x2):= user.query(b,b,b);
+               t1:= alarm.usec();
+               t1:= t1-t0;
                mdb.list("user","query");
-               io.printf("#run %d %d %d\n",limit,i,t2);
+               io.printf("#run %d %d %d\n",limit,i,t1);
                redo i:= iterator.next(1,3);
        exit i;
 
diff --git a/monetdb5/scheduler/Tests/matpack02.mal 
b/monetdb5/scheduler/Tests/matpack02.mal
--- a/monetdb5/scheduler/Tests/matpack02.mal
+++ b/monetdb5/scheduler/Tests/matpack02.mal
@@ -14,8 +14,7 @@ function initialize{unsafe}(limit:lng):b
        return b;
 end initialize;
 
-function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):lng;
-       t0:= alarm.usec();
+function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng])(:wrd,:wrd);
        z:= bat.new(:oid,:lng);
        m:= mat.pack(c,c,d);
        b1:= bat.partition(z,2,0);
@@ -24,8 +23,9 @@ function query(b:bat[:oid,:lng],c:bat[:o
        (s2,v2):= algebra.join(b2,m);
        s:= mat.pack(s1,s2);
        t:= mat.pack(v1,v2);
-       t1:= alarm.usec();
-       return query := t1-t0;
+       cnt1 := aggr.count(s);
+       cnt2 := aggr.count(t);
+       return (cnt1,cnt2);
 end query;
 
 optimizer.multicore("user","query");
@@ -42,9 +42,12 @@ function testrun(limit:lng);
        io.printf(" max %d min %d step %d\n",max,min,step);
 
        barrier i:=0;
-               t2:= user.query(b,b,b);
+               t0:= alarm.usec();
+               (cnt1,cnt2):= user.query(b,b,b);
+               t1:= alarm.usec();
+               t1:= t1-t0;
                mdb.list("user","query");
-               io.printf("#run %d %d %d\n",limit,i,t2);
+               io.printf("#run %d %d %d\n",limit,i,t1);
                redo i:= iterator.next(1,8);
        exit i;
 
diff --git a/monetdb5/scheduler/Tests/matpack03.mal 
b/monetdb5/scheduler/Tests/matpack03.mal
--- a/monetdb5/scheduler/Tests/matpack03.mal
+++ b/monetdb5/scheduler/Tests/matpack03.mal
@@ -15,13 +15,12 @@ function initialize{unsafe}(limit:lng):b
        return b;
 end initialize;
 
-function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):lng;
-       t0:= alarm.usec();
+function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):wrd;
        z:= bat.new(:oid,:oid);
        m:= mat.pack(b,c,d);
        s:= algebra.leftjoin(z,m);
-       t1:= alarm.usec();
-       return query := t1-t0;
+       cnt:= aggr.count(s);
+       return cnt;
 end query;
 
 optimizer.multicore("user","query");
@@ -39,10 +38,13 @@ function testrun(limit:lng);
        io.printf(" max %d min %d step %d\n",max,min,step);
 
        barrier i:=0;
+               t0:= alarm.usec();
                t2:= user.query(b,b,b);
+               t1:= alarm.usec();
+               t1:= t1-t0;
                mdb.list("user","query");
-               io.printf("#run %d %d %d\n",limit,i,t2);
-               redo i:= iterator.next(1,3);
+               io.printf("#run %d %d %d\n",limit,i,t1);
+               redo i:= iterator.next(1,8);
        exit i;
 
 end testrun;
diff --git a/monetdb5/scheduler/Tests/matpack04.mal 
b/monetdb5/scheduler/Tests/matpack04.mal
--- a/monetdb5/scheduler/Tests/matpack04.mal
+++ b/monetdb5/scheduler/Tests/matpack04.mal
@@ -14,8 +14,7 @@ function initialize{unsafe}(limit:lng):b
        return b;
 end initialize;
 
-function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng]):lng;
-       t0:= alarm.usec();
+function query(b:bat[:oid,:lng],c:bat[:oid,:lng],d:bat[:oid,:lng])(:wrd,:wrd);
        z:= bat.new(:oid,:lng);
        m:= mat.pack(c,c,d);
        b1:= bat.partition(m,2,0);
@@ -24,8 +23,9 @@ function query(b:bat[:oid,:lng],c:bat[:o
        (s2,v2):= algebra.join(b2,z);
        s:= mat.pack(s1,s2);
        t:= mat.pack(v1,v2);
-       t1:= alarm.usec();
-       return query := t1-t0;
+       cnt1:= aggr.count(s);
+       cnt2:= aggr.count(t);
+       return (cnt1,cnt2);
 end query;
 
 optimizer.multicore("user","query");
@@ -42,9 +42,12 @@ function testrun(limit:lng);
        io.printf(" max %d min %d step %d\n",max,min,step);
 
        barrier i:=0;
-               t2:= user.query(b,b,b);
+               t0:= alarm.usec();
+               (x,y):= user.query(b,b,b);
+               t1:= alarm.usec();
+               t1:=t1-t0;
                mdb.list("user","query");
-               io.printf("#run %d %d %d\n",limit,i,t2);
+               io.printf("#run %d %d %d\n",limit,i,t1);
                redo i:= iterator.next(1,8);
        exit i;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to