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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list