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