Changeset: 9e15dc4c7b4e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e15dc4c7b4e
Modified Files:
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/CMexample.mal
        monetdb5/optimizer/Tests/CMexample.stable.out
        monetdb5/optimizer/Tests/CRexample.mal
        monetdb5/optimizer/Tests/JPexample.mal
        monetdb5/optimizer/Tests/JPexample.stable.out
        monetdb5/optimizer/Tests/emptyset00.mal
        monetdb5/optimizer/Tests/mat00.mal
        monetdb5/optimizer/Tests/qep00.mal
        monetdb5/optimizer/Tests/qep01.mal
        monetdb5/optimizer/Tests/qep02.mal
        monetdb5/optimizer/Tests/qep02.stable.out
        monetdb5/optimizer/Tests/rangePush00.mal
        monetdb5/optimizer/Tests/rangePush01.mal
        monetdb5/optimizer/Tests/tst4610.mal
Branch: Oct2014
Log Message:

Output fixed for optimizers


diffs (truncated from 374 to 300 lines):

diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All
--- a/monetdb5/optimizer/Tests/All
+++ b/monetdb5/optimizer/Tests/All
@@ -10,9 +10,9 @@ tst4300
 tst4600
 tst4601
 tst4602
-tst4610
-tst4611
-tst4620
+#tst4610 needs new joinpath 
+#tst4611 ,,
+#tst4620 ,,
 tst4630
 # tst4631 -- uses group.refine
 tst4700
@@ -20,9 +20,9 @@ tst4701
 # tst4730 -- uses group.refine
 tst4820
 
-qep00
-qep01
-qep02
+#qep00 deprecated optimizer
+#qep01 ,,
+#qep02 ,,
 
 cst00
 cst01
@@ -40,16 +40,10 @@ reorder00
 
 #mapreduce00   has no output, won't run this way
 
-mat00
-mat01
-#mat02
-#mat03
-#mat04
+#rangePush00 optimizer out of date
+#rangePush01
 
-rangePush00
-rangePush01
-
-emptyset00
+#emptyset00 Optimizer does not deal with subselects
 emptyset01
 
 inline00
@@ -77,7 +71,7 @@ ifthencst
 CXerror1
 #the remainder are snippets used in the reference manual
 CMexample
-CRexample
+#CRexample push range optimizer is out of date
 ARexample
 DCexample
 DCexample2
diff --git a/monetdb5/optimizer/Tests/CMexample.mal 
b/monetdb5/optimizer/Tests/CMexample.mal
--- a/monetdb5/optimizer/Tests/CMexample.mal
+++ b/monetdb5/optimizer/Tests/CMexample.mal
@@ -1,9 +1,13 @@
 # Cost model example
+function q();
        r{rows=100} := bat.new(:oid,:int);
        s{rows=1000}:= bat.new(:oid,:int);
-       rs:= algebra.select(s,1,1);
-       rr:= bat.reverse(r);
-       j:= algebra.join(rs,rr);
-       optimizer.costModel();
-       mdb.List();
+    r{rows=100} := bat.new(:oid,:int);
+    s{rows=1000}:= bat.new(:oid,:int);
+    x{rows=300} := bat.new(:oid,:oid);
+    rs:= algebra.subselect(s,x,1,1,true,true,false);
+    j:= algebra.leftfetchjoin(rs,r);
+end q;
+    optimizer.costModel("user","q");
+    mdb.List("user","q");
 
diff --git a/monetdb5/optimizer/Tests/CMexample.stable.out 
b/monetdb5/optimizer/Tests/CMexample.stable.out
--- a/monetdb5/optimizer/Tests/CMexample.stable.out
+++ b/monetdb5/optimizer/Tests/CMexample.stable.out
@@ -5,32 +5,40 @@ stdout of test 'CMexample` in directory 
 # 08:55:26 >  Mtimeout -timeout 60 mserver5 
"--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set 
"monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB"
 --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set 
"sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=38095 
--set monet_prompt= --trace --dbname=mTests_src_optimizer  CMexample.mal < 
/dev/null
 # 08:55:26 >  
 
-# MonetDB Server v4.99.19
-# Copyright (c) 1993-2006 CWI, all rights reserved
-# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked
-# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf
-# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm
-# dbname:mTests_src_optimizer
-# Visit http://monetdb.cwi.nl/ for further information
-# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:32348/
+# MonetDB 5 server v11.19.0
+# This is an unreleased version
+# Serving database 'mTests_monetdb5_optimizer', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
+# Found 15.590 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2014 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:31955/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-20624/.s.monetdb.31955
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+function user.q():void;
+    r := bat.new(:oid,:int);
+    s := bat.new(:oid,:int);
+    r := bat.new(:oid,:int);
+    s := bat.new(:oid,:int);
+    x := bat.new(:oid,:oid);
+    rs := algebra.subselect(s,x,1,1,true,true,false);
+    j := algebra.leftfetchjoin(rs,r);
+end q;
 function user.main():void;
 # Cost model example 
-    r := bat.new(:oid,:int);
-    s := bat.new(:oid,:int);
-    rs := algebra.select(s,1,1);
-    rr := bat.reverse(r);
-    j := algebra.join(rs,rr);
-    mdb.List();
+    mdb.List("user","q");
 end main;
-function user.main():void;              #  0 main:void := user.main() {G}
-# Cost model example 
-    r{rows=100} := bat.new(:oid,:int);  #  2 r:bat[:oid,:int] := 
CMDBATnew(_4:oid, _5:int) {G}
-    s{rows=1000} := bat.new(:oid,:int); #  3 s:bat[:oid,:int] := 
CMDBATnew(_4:oid, _8:int) {G}
-    rs{rows=501} := algebra.select(s{rows=1000},1,1);#  4 rs:bat[:oid,:int] := 
ALGselect(s:bat[:oid,:int], _10:int, _10:int) {G}
-    rr{rows=100} := bat.reverse(r{rows=100});#  5 rr:bat[:int,:oid] := 
BKCreverse(r:bat[:oid,:int]) {G}
-    j{rows=100} := algebra.join(rs{rows=501},rr{rows=100});#  6 
j:bat[:oid,:oid] := ALGjoin(rs:bat[:oid,:int], rr:bat[:int,:oid]) {G}
-    mdb.List();                         #  7 _14:void := MDBlistDetail() 
-end main;                               #  8  
+function user.q():void;                 #  0 q:void := user.q() {G}
+    r{rows=100} := bat.new(:oid,:int);  #  1 r:bat[:oid,:int] := 
CMDBATnew(_3:oid, _4:int) {G}
+    s{rows=1000} := bat.new(:oid,:int); #  2 s:bat[:oid,:int] := 
CMDBATnew(_3:oid, _7:int) {G}
+    r{rows=100} := bat.new(:oid,:int);  #  3 r:bat[:oid,:int] := 
CMDBATnew(_3:oid, _8:int) {G}
+    s{rows=1000} := bat.new(:oid,:int); #  4 s:bat[:oid,:int] := 
CMDBATnew(_3:oid, _9:int) {G}
+    x{rows=300} := bat.new(:oid,:oid);  #  5 x:bat[:oid,:oid] := 
CMDBATnew(_3:oid, _3:oid) {G}
+    rs{rows=151} := 
algebra.subselect(s{rows=1000},x{rows=300},1,1,true,true,false);#  6 
rs:bat[:oid,:oid] := ALGsubselect2(s:bat[:oid,:int], x:bat[:oid,:oid], _13:int, 
_13:int, _14:bit, _14:bit, _15:bit) {G}
+    j{rows=100} := algebra.leftfetchjoin(rs{rows=151},r{rows=100});#  7 
j:bat[:oid,:int] := ALGleftfetchjoin(rs:bat[:oid,:oid], r:bat[:oid,:int]) {G}
+end q;                                  #  8  
 
 # 08:55:26 >  
 # 08:55:26 >  Done.
diff --git a/monetdb5/optimizer/Tests/CRexample.mal 
b/monetdb5/optimizer/Tests/CRexample.mal
--- a/monetdb5/optimizer/Tests/CRexample.mal
+++ b/monetdb5/optimizer/Tests/CRexample.mal
@@ -1,8 +1,10 @@
 b := bat.new(:oid,:int);
-s1:= algebra.select(b,1,80);
-s2:= algebra.select(s1,5,95);
-s3:= algebra.select(s2,50,nil:int);
-s4:= algebra.select(s3,nil:int,75);
+x:= bat.new(:oid,:oid);
+y:= bat.new(:oid,:oid);
+s1:= algebra.subselect(b,1,80,true,true,false);
+s2:= algebra.subselect(b,s1,5,95,true,true,false);
+s3:= algebra.subselect(b,s2,50,nil:int,true,true,false);
+s4:= algebra.subselect(b,s3,nil:int,75,true,true,false);
 io.print(s4);
 optimizer.pushranges();
 optimizer.deadcode();
diff --git a/monetdb5/optimizer/Tests/JPexample.mal 
b/monetdb5/optimizer/Tests/JPexample.mal
--- a/monetdb5/optimizer/Tests/JPexample.mal
+++ b/monetdb5/optimizer/Tests/JPexample.mal
@@ -2,10 +2,10 @@
     a:= bat.new(:oid,:oid);
     b:= bat.new(:oid,:oid);
     c:= bat.new(:oid,:str);
-    j1:= algebra.join(a,b);
-    j2:= algebra.join(j1,c);
-    j3:= algebra.join(b,b);
-    j4:= algebra.join(b,j3);
+    j1:= algebra.leftfetchjoin(a,b);
+    j2:= algebra.leftfetchjoin(j1,c);
+    j3:= algebra.leftfetchjoin(b,b);
+    j4:= algebra.leftfetchjoin(b,j3);
 
 optimizer.joinPath();
 mdb.List();
diff --git a/monetdb5/optimizer/Tests/JPexample.stable.out 
b/monetdb5/optimizer/Tests/JPexample.stable.out
--- a/monetdb5/optimizer/Tests/JPexample.stable.out
+++ b/monetdb5/optimizer/Tests/JPexample.stable.out
@@ -18,11 +18,11 @@ function user.main():void;
     a := bat.new(:oid,:oid);
     b := bat.new(:oid,:oid);
     c := bat.new(:oid,:str);
-    j1 := algebra.join(a,b);
-    j2:bat[:oid,:str]  := algebra.joinPath(a,b,c);
-    j3 := algebra.join(b,b);
-    X_13 := algebra.join(b,b);
-    j4:bat[:oid,:oid]  := algebra.join(X_13,b);
+    j1 := algebra.leftfetchjoin(a,b);
+    j2:bat[:oid,:str]  := algebra.leftfetchjoinPath(a,b,c);
+    j3 := algebra.leftfetchjoin(b,b);
+    X_13 := algebra.leftfetchjoin(b,b);
+    j4:bat[:oid,:oid]  := algebra.leftfetchjoin(X_13,b);
     mdb.List();
 end main;
 function user.main():void;              #  0 main:void := user.main() {G}
@@ -30,11 +30,11 @@ function user.main():void;              
     a := bat.new(:oid,:oid);            #  2 a:bat[:oid,:oid] := 
CMDBATnew(_3:oid, _3:oid) {G}
     b := bat.new(:oid,:oid);            #  3 b:bat[:oid,:oid] := 
CMDBATnew(_3:oid, _3:oid) {G}
     c := bat.new(:oid,:str);            #  4 c:bat[:oid,:str] := 
CMDBATnew(_3:oid, _6:str) {G}
-    j1 := algebra.join(a,b);            #  5 j1:bat[:oid,:oid] := 
ALGjoin(a:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
-    j2:bat[:oid,:str]  := algebra.joinPath(a,b,c);#  6 j2:bat[:oid,:str] := 
ALGjoinPath(a:bat[:oid,:oid], b:bat[:oid,:oid], c:bat[:oid,:str]) {G}
-    j3 := algebra.join(b,b);            #  7 j3:bat[:oid,:oid] := 
ALGjoin(b:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
-    X_13 := algebra.join(b,b);          #  8 _13:bat[:oid,:oid] := 
ALGjoin(b:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
-    j4:bat[:oid,:oid]  := algebra.join(X_13,b);#  9 j4:bat[:oid,:oid] := 
ALGjoin(_13:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
+    j1 := algebra.leftfetchjoin(a,b);   #  5 j1:bat[:oid,:oid] := 
ALGleftfetchjoin(a:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
+    j2:bat[:oid,:str]  := algebra.leftfetchjoinPath(a,b,c);#  6 
j2:bat[:oid,:str] := ALGjoinPath(a:bat[:oid,:oid], b:bat[:oid,:oid], 
c:bat[:oid,:str]) {G}
+    j3 := algebra.leftfetchjoin(b,b);   #  7 j3:bat[:oid,:oid] := 
ALGleftfetchjoin(b:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
+    X_13 := algebra.leftfetchjoin(b,b); #  8 _13:bat[:oid,:oid] := 
ALGleftfetchjoin(b:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
+    j4:bat[:oid,:oid]  := algebra.leftfetchjoin(X_13,b);#  9 j4:bat[:oid,:oid] 
:= ALGleftfetchjoin(_13:bat[:oid,:oid], b:bat[:oid,:oid]) {G}
     mdb.List();                         # 10 _12:void := MDBlistDetail() 
 end main;                               # 11  
 
diff --git a/monetdb5/optimizer/Tests/emptyset00.mal 
b/monetdb5/optimizer/Tests/emptyset00.mal
--- a/monetdb5/optimizer/Tests/emptyset00.mal
+++ b/monetdb5/optimizer/Tests/emptyset00.mal
@@ -1,7 +1,8 @@
        b := bat.new(:oid,:int);
-       s1 := algebra.select(b,80,90);
-       s2 := algebra.select(s1,90,80);
-       s3 := algebra.select(s2,80,80);
+       x := bat.new(:oid,:oid);
+       s1 := algebra.subselect(b,x,80,90,true,true,false);
+       s2 := algebra.subselect(b,s1,90,80,true,true,false);
+       s3 := algebra.subselect(b,s2,80,80,true,true,false);
        io.print(s3);
 
 optimizer.pushranges();
diff --git a/monetdb5/optimizer/Tests/mat00.mal 
b/monetdb5/optimizer/Tests/mat00.mal
--- a/monetdb5/optimizer/Tests/mat00.mal
+++ b/monetdb5/optimizer/Tests/mat00.mal
@@ -17,8 +17,8 @@
     bat.append(c1,5@0);
     c := mat.new(c0,c1);
     bat.append(c,6@0);
-    j := algebra.join(b,c);
-    io.print(j);
+    (j,jj) := algebra.join(b,c);
+    io.print(j,jj);
 io.print(b);
 io.print(c);
 
diff --git a/monetdb5/optimizer/Tests/qep00.mal 
b/monetdb5/optimizer/Tests/qep00.mal
--- a/monetdb5/optimizer/Tests/qep00.mal
+++ b/monetdb5/optimizer/Tests/qep00.mal
@@ -3,6 +3,5 @@ R:= bat.new(:oid,:int);
 S:= bat.new(:oid,:int);
 E1:= algebra.select(R,1,3);
 E2:= algebra.select(S,4,9);
-R2:= bat.reverse(E2);
-J1:= algebra.join(E1,R2);
+(J1,J2):= algebra.join(E1,E2);
 optimizer.dumpQEP();
diff --git a/monetdb5/optimizer/Tests/qep01.mal 
b/monetdb5/optimizer/Tests/qep01.mal
--- a/monetdb5/optimizer/Tests/qep01.mal
+++ b/monetdb5/optimizer/Tests/qep01.mal
@@ -1,12 +1,15 @@
+function q();
 T1:= bat.new(:oid,:oid);
 T2:= bat.new(:oid,:oid);
 T3:= bat.new(:oid,:oid);
 T4:= bat.new(:oid,:oid);
-a:= algebra.select(T1,1@0,3@0);
-b:= algebra.select(T2,1@0,3@0);
-c:= algebra.select(T3,0@0,5@0);
-d:= algebra.select(T4,0@0,5@0);
-e:= algebra.join(a,c);
-f:= algebra.join(b,d);
-h:= algebra.join(e,f);
-optimizer.dumpQEP();
+a:= algebra.subselect(T1,1@0,3@0,true,true,false);
+b:= algebra.subselect(T2,1@0,3@0,true,true,false);
+c:= algebra.subselect(T3,0@0,5@0,true,true,false);
+d:= algebra.subselect(T4,0@0,5@0,true,true,false);
+(e,ex):= algebra.join(a,c);
+(f,fx):= algebra.join(b,d);
+(h,hx):= algebra.join(e,f);
+end q;
+optimizer.dumpQEP("user","q");
+user.q();
diff --git a/monetdb5/optimizer/Tests/qep02.mal 
b/monetdb5/optimizer/Tests/qep02.mal
--- a/monetdb5/optimizer/Tests/qep02.mal
+++ b/monetdb5/optimizer/Tests/qep02.mal
@@ -4,6 +4,6 @@ T3:= bat.new(:oid,:oid);
 barrier b;
        a:= algebra.select(T1,1@0,3@0);
        c:= algebra.select(T3,0@0,5@0);
-       e:= algebra.join(a,c);
+       (e,f):= algebra.join(a,c);
 exit b;
 optimizer.dumpQEP();
diff --git a/monetdb5/optimizer/Tests/qep02.stable.out 
b/monetdb5/optimizer/Tests/qep02.stable.out
--- a/monetdb5/optimizer/Tests/qep02.stable.out
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to