Update of /cvsroot/monetdb/MonetDB5/src/optimizer/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv12406/Tests
Modified Files:
All
Added Files:
inline09.stable.err inline09.stable.out inline10.stable.err
inline10.stable.out inlineCst.mal inlineIfthen.mal
inlineIfthen.stable.err inlineIfthen.stable.out
Log Message:
during multiplexed inlineing we have to be careful about barrier blocks.
if entrance to the barrier or redo/leave is dependent on an upgraded
type, we bail out.
inlineCst.mal is a todo action.
--- NEW FILE: inlineIfthen.stable.err ---
stderr of test 'inlineIfthen` in directory 'src/optimizer` itself:
# 11:53:01 >
# 11:53:01 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inlineIfthen.mal
# 11:53:01 >
#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)
# 11:53:01 >
# 11:53:01 > Done.
# 11:53:01 >
--- NEW FILE: inlineCst.mal ---
function user.foo{inline}(b:int):int;
foo:= 0;
return foo;
end foo;
function qry();
b:= bat.new(:oid,:int);
bat.append(b,1);
bat.append(b,10);
bat.append(b,20);
r:bat[:oid,:int]:= mal.multiplex("user","foo",b);
io.print(r);
end qry;
optimizer.inline("user","qry");
optimizer.remap("user","qry");
mdb.list("user","qry");
Index: All
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/optimizer/Tests/All,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- All 27 Dec 2007 18:39:57 -0000 1.59
+++ All 19 Jan 2008 11:06:13 -0000 1.60
@@ -70,6 +70,11 @@
inline06
inline07
inline08
+inline09
+inline10
+#inline11
+inlineIfthen
+inlineCst
CXerror1
#the remainder are snippets used in the reference manual
--- NEW FILE: inlineIfthen.mal ---
function user.foo{inline}(b:int):int;
foo:= 0;
barrier go:= b<10;
foo:= 1;
exit go;
return foo;
end foo;
function qry();
b:= bat.new(:oid,:int);
bat.append(b,1);
bat.append(b,10);
bat.append(b,20);
r:bat[:oid,:int]:= mal.multiplex("user","foo",b);
io.print(r);
end qry;
optimizer.inline("user","qry");
optimizer.remap("user","qry");
mdb.list("user","qry");
--- NEW FILE: inline09.stable.err ---
stderr of test 'inline09` in directory 'src/optimizer` itself:
# 11:53:00 >
# 11:53:00 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inline09.mal
# 11:53:00 >
#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)
# 11:53:00 >
# 11:53:00 > Done.
# 11:53:00 >
--- NEW FILE: inlineIfthen.stable.out ---
stdout of test 'inlineIfthen` in directory 'src/optimizer` itself:
# 11:53:01 >
# 11:53:01 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inlineIfthen.mal
# 11:53:01 >
# MonetDB server v5.3.0, based on kernel v1.21.0
# Serving database 'mTests_src_optimizer'
# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked
# Copyright (c) 1993-2007 CWI, all rights reserved
# Visit http://monetdb.cwi.nl/ for further information
# Listening for connection requests on mapi:monetdb://gio.ins.cwi.nl:36453/
#function user.foo{inline}(b:int):int;
# foo:= 0;
#barrier go:= b<10;
# foo:= 1;
#exit go;
# return foo;
#end foo;
function user.foo{inline}(b:int):int; # 0 (foo:int)<-(b:int)
foo{inline} := 0; # 1 (foo:int)<-(_2:int)
barrier go := calc.<(b,10); # 2 CALCcompLTintint (go:bit)<-(b:int)(_4:int)
jump 4
foo{inline} := 1; # 3 (foo:int)<-(_5:int)
exit go; # 4 (go:bit)
return foo{inline} := foo; # 5 (foo:int)<-(foo:int)
end foo; # 6
#
#function qry();
# b:= bat.new(:oid,:int);
# bat.append(b,1);
# bat.append(b,10);
# bat.append(b,20);
# r:bat[:oid,:int]:= mal.multiplex("user","foo",b);
# io.print(r);
#end qry;
function user.qry():void; # 0 (qry:void)
b := bat.new(:oid,:int); # 1 CMDBATnew
(b:bat[:oid,:int])<-(_2:oid)(_3:int)
bat.append(b,1); # 2 BKCappend_val_wrap
(_4:void)<-(b:bat[:oid,:int])(_5:int)
bat.append(b,10); # 3 BKCappend_val_wrap
(_6:void)<-(b:bat[:oid,:int])(_7:int)
bat.append(b,20); # 4 BKCappend_val_wrap
(_8:void)<-(b:bat[:oid,:int])(_9:int)
r:bat[:oid,:int] := mal.multiplex("user","foo",b); # 5 OPTremapMultiplex
(r:bat[:oid,:int])<-(_11:str)(_12:str)(b:bat[:oid,:int])
io.print(r); # 6 IOprint_val (_13:void)<-(r:bat[:oid,:int])
end qry; # 7
#
#optimizer.inline("user","qry");
#optimizer.remap("user","qry");
#mdb.list("user","qry");
#
function user.main():void; # 0 (main:void)
mdb.list("user","qry"); # 1 MDBlist3 (_5:void)<-(_2:str)(_3:str)
end main; # 2
function user.qry():void;
b := bat.new(:oid,:int);
bat.append(b,1);
bat.append(b,10);
bat.append(b,20);
r:bat[:oid,:int]{inline} := mal.multiplex("user","foo",b);
io.print(r);
end qry;
# 11:53:01 >
# 11:53:01 > Done.
# 11:53:01 >
--- NEW FILE: inline09.stable.out ---
stdout of test 'inline09` in directory 'src/optimizer` itself:
# 11:53:00 >
# 11:53:00 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inline09.mal
# 11:53:00 >
# MonetDB server v5.3.0, based on kernel v1.21.0
# Serving database 'mTests_src_optimizer'
# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked
# Copyright (c) 1993-2007 CWI, all rights reserved
# Visit http://monetdb.cwi.nl/ for further information
# Listening for connection requests on mapi:monetdb://gio.ins.cwi.nl:36453/
#
## remapping inline functions
#function foo{inline}(a:str):str;
# a:= str.replace(a,"A","");
# a:= str.replace(a,"E","");
# a:= str.replace(a,"I","");
# a:= str.replace(a,"O","");
# a:= str.replace(a,"U","");
# a:= str.replace(a," ","");
# return foo:=a;
#end foo;
function user.foo{inline}(a:str):str; # 0 (foo:str)<-(a:str)
a := str.replace(a,"A",""); # 1 STRreplace (a:str)<-(a:str)(_2:str)(_3:str)
a := str.replace(a,"E",""); # 2 STRreplace (a:str)<-(a:str)(_4:str)(_3:str)
a := str.replace(a,"I",""); # 3 STRreplace (a:str)<-(a:str)(_5:str)(_3:str)
a := str.replace(a,"O",""); # 4 STRreplace (a:str)<-(a:str)(_6:str)(_3:str)
a := str.replace(a,"U",""); # 5 STRreplace (a:str)<-(a:str)(_7:str)(_3:str)
a := str.replace(a," ",""); # 6 STRreplace (a:str)<-(a:str)(_8:str)(_3:str)
return foo{inline} := a; # 7 (foo:str)<-(a:str)
end foo; # 8
#
#function bar{inline}(a:str,b:str):str;
# sa:= user.foo(a);
# sa:= str.substring(sa, 1, 5);
# sb:= user.foo(b);
# sb:= str.substring(sb, 1, 3);
# c:= sa+sb;
# return bar:=c;
#end bar;
function user.bar{inline}(a:str,b:str):str; # 0 (bar:str)<-(a:str)(b:str)
sa := user.foo(a); # 1 (sa:str)<-(a:str)
sa := str.substring(sa,1,5); # 2 STRsubstring
(sa:str)<-(sa:str)(_4:int)(_5:int)
sb := user.foo(b); # 3 (sb:str)<-(b:str)
sb := str.substring(sb,1,3); # 4 STRsubstring
(sb:str)<-(sb:str)(_4:int)(_7:int)
c := calc.+(sa,sb); # 5 CALCstrConcat (c:str)<-(sa:str)(sb:str)
return bar{inline} := c; # 6 (bar:str)<-(c:str)
end bar; # 7
#
#function qry();
# b:= bat.new(:oid,:str);
# bat.insert(b,[EMAIL PROTECTED],"2");
# z:bat[:oid,:str]:= mal.multiplex("user","bar",b,b);
#end qry;
function user.qry():void; # 0 (qry:void)
b := bat.new(:oid,:str); # 1 CMDBATnew
(b:bat[:oid,:str])<-(_2:oid)(_3:str)
bat.insert(b,[EMAIL PROTECTED],"2"); # 2 BKCinsert_bun
(_4:void)<-(b:bat[:oid,:str])(_5:oid)(_6:str)
z:bat[:oid,:str] := mal.multiplex("user","bar",b,b); # 3
OPTremapMultiplex
(z:bat[:oid,:str])<-(_8:str)(_9:str)(b:bat[:oid,:str])(b:bat[:oid,:str])
end qry; # 4
#
# optimizer.inline("user","qry");
# optimizer.remap("user","qry");
# mdb.list("user","qry");
#
function user.main():void; # 0 (main:void)
# remapping inline functions # 1 (_1:str)
mdb.list("user","qry"); # 2 MDBlist3 (_6:void)<-(_3:str)(_4:str)
end main; # 3
function user.qry():void;
b := bat.new(:oid,:str);
bat.insert(b,[EMAIL PROTECTED],"2");
z:bat[:oid,:str]{inline} := nil;
_13 := nil;
b := batstr.replace(b,"A","");
b := batstr.replace(b,"E","");
b := batstr.replace(b,"I","");
b := batstr.replace(b,"O","");
b := batstr.replace(b,"U","");
b := batstr.replace(b," ","");
_13 := b;
_13 := batstr.substring(_13,1,5);
_16 := nil;
b := batstr.replace(b,"A","");
b := batstr.replace(b,"E","");
b := batstr.replace(b,"I","");
b := batstr.replace(b,"O","");
b := batstr.replace(b,"U","");
b := batstr.replace(b," ","");
_16 := b;
_16 := batstr.substring(_16,1,3);
_18 := batcalc.+(_13,_16);
z:bat[:oid,:str]{inline} := _18;
end qry;
# 11:53:00 >
# 11:53:00 > Done.
# 11:53:00 >
--- NEW FILE: inline10.stable.out ---
stdout of test 'inline10` in directory 'src/optimizer` itself:
# 11:53:01 >
# 11:53:01 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inline10.mal
# 11:53:01 >
# MonetDB server v5.3.0, based on kernel v1.21.0
# Serving database 'mTests_src_optimizer'
# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked
# Copyright (c) 1993-2007 CWI, all rights reserved
# Visit http://monetdb.cwi.nl/ for further information
# Listening for connection requests on mapi:monetdb://gio.ins.cwi.nl:36453/
## remapping inline functions
## recursive inlining
#function foo{inline}(a:int,b:int):int;
# c:= a+b;
# return foo:=c;
#end foo;
function user.foo{inline}(a:int,b:int):int; # 0 (foo:int)<-(a:int)(b:int)
c := calc.+(a,b); # 1 CALCbinaryADDintint (c:int)<-(a:int)(b:int)
return foo{inline} := c; # 2 (foo:int)<-(c:int)
end foo; # 3
#
#function bar{inline}(a:int,b:int):int;
# z:= foo(a,b);
# return bar:=z;
#end bar;
function user.bar{inline}(a:int,b:int):int; # 0 (bar:int)<-(a:int)(b:int)
z := user.foo(a,b); # 1 (z:int)<-(a:int)(b:int)
return bar{inline} := z; # 2 (bar:int)<-(z:int)
end bar; # 3
#
#function qry();
# b:= bat.new(:oid,:int);
# bat.insert(b,[EMAIL PROTECTED],1);
# zz:= user.bar(1,2); # base line test for inlining
#
# z:bat[:oid,:int]:= mal.multiplex("user","bar",b,b);
#end qry;
function user.qry():void; # 0 (qry:void)
b := bat.new(:oid,:int); # 1 CMDBATnew
(b:bat[:oid,:int])<-(_2:oid)(_3:int)
bat.insert(b,[EMAIL PROTECTED],1); # 2 BKCinsert_bun
(_4:void)<-(b:bat[:oid,:int])(_5:oid)(_6:int)
zz := user.bar(1,2); # 3 (zz:int)<-(_6:int)(_8:int)
# base line test for inlining # 4 (_9:str)
z:bat[:oid,:int] := mal.multiplex("user","bar",b,b); # 5
OPTremapMultiplex
(z:bat[:oid,:int])<-(_11:str)(_12:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
end qry; # 6
#
# optimizer.inline("user","qry");
# optimizer.remap("user","qry");
# mdb.list("user","qry");
#
function user.main():void; # 0 (main:void)
# remapping inline functions # 1 (_1:str)
# recursive inlining # 2 (_2:str)
mdb.list("user","qry"); # 3 MDBlist3 (_7:void)<-(_4:str)(_5:str)
end main; # 4
function user.qry():void;
b := bat.new(:oid,:int);
bat.insert(b,[EMAIL PROTECTED],1);
zz := nil:int;
_16 := nil:int;
_21 := calc.+(1,2);
_16 := _21;
zz := _16;
# base line test for inlining
z:bat[:oid,:int]{inline} := nil;
_25 := nil;
_29 := batcalc.+(b,b);
_25 := _29;
z:bat[:oid,:int]{inline} := _25;
end qry;
# 11:53:01 >
# 11:53:01 > Done.
# 11:53:01 >
--- NEW FILE: inline10.stable.err ---
stderr of test 'inline10` in directory 'src/optimizer` itself:
# 11:53:01 >
# 11:53:01 > mserver5 "--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf"
--debug=10 --set
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
--set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/sql_logs" --set mapi_open=true
--set xrpc_open=true --set mapi_port=36453 --set xrpc_port=42260 --set
monet_prompt= --trace --dbname=mTests_src_optimizer inline10.mal
# 11:53:01 >
#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)
# 11:53:01 >
# 11:53:01 > Done.
# 11:53:01 >
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins