Update of /cvsroot/monetdb/MonetDB5/src/optimizer/Tests
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14885

Added Files:
        inline02.stable.err inline02.stable.out inline03.stable.err 
        inline03.stable.out inline04.stable.err inline04.stable.out 
        inline05.stable.err inline05.stable.out inline06.stable.err 
        inline06.stable.out inline07.mal inline07.stable.err 
        inline07.stable.out 
Log Message:
The first series of multiplexing inline MAL blocks.
The optimizers are limited towards side-effect free mal blocks.


--- NEW FILE: inline07.stable.out ---
stdout of test 'inline07` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline07.mal
# 18:00:44 >  

# 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:34223/
## remapping inline functions
#function foo{inline}(a:int,b:bat[:oid,:int]):dbl;
#       s:= aggr.sum(b);
#       c:= a+s;
#       return foo:=c;
#end foo;
function user.foo{inline}(a:int,b:bat[:oid,:int]):dbl;  # 0  
(foo:dbl)<-(a:int)(b:bat[:oid,:int])
    s := aggr.sum(b);   # 1 ALGsum_int_dbl (s:dbl)<-(b:bat[:oid,:int])
    c := calc.+(a,s);   # 2 CALCbinaryADDintdbl (c:dbl)<-(a:int)(s:dbl)
    return foo{inline} := c;    # 3  (foo:dbl)<-(c:dbl)
end foo;        # 4  
#
#function qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       z:bat[:oid,:dbl]:= mal.multiplex("user","foo",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)
    z:bat[:oid,:dbl]  := mal.multiplex("user","foo",b,b);       # 3 
OPTremapMultiplex 
(z:bat[:oid,:dbl])<-(_8:str)(_9:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
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,:int);
    bat.insert(b,[EMAIL PROTECTED],1);
    z:bat[:oid,:dbl]{inline}  := mal.multiplex("user","foo",b,b);
end qry;

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline02.stable.out ---
stdout of test 'inline02` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline02.mal
# 18:00:43 >  

# 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:34223/
## remapping inline functions
#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 qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       zz:= user.foo(1,2); # base line test for inlining
#
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,b);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,2);
#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.foo(1,2);        # 3  (zz:int)<-(_6:int)(_8:int)
# base line test for inlining   # 4  (_9:str)
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,b);       # 5 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_11:str)(_12:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,2);       # 6 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_11:str)(_12:str)(b:bat[:oid,:int])(_8:int)
end qry;        # 7  
#
#       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,:int);
    bat.insert(b,[EMAIL PROTECTED],1);
    _16 := calc.+(1,2);
    zz := _16;
# base line test for inlining 
    _20 := batcalc.+(b,b);
    z:bat[:oid,:int]{inline}  := _20;
    _24 := batcalc.+(b,2);
    z:bat[:oid,:int]{inline}  := _24;
end qry;

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  


--- NEW FILE: inline05.stable.err ---
stderr of test 'inline05` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline05.mal
# 18:00:44 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline06.stable.err ---
stderr of test 'inline06` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline06.mal
# 18:00:44 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline07.mal ---
# remapping inline functions
function foo{inline}(a:int,b:bat[:oid,:int]):dbl;
        s:= aggr.sum(b);
        c:= a+s;
        return foo:=c;
end foo;

function qry();
        b:= bat.new(:oid,:int);
        bat.insert(b,[EMAIL PROTECTED],1);
        z:bat[:oid,:dbl]:= mal.multiplex("user","foo",b,b);
end qry;

        optimizer.inline("user","qry");
        optimizer.remap("user","qry");
        mdb.list("user","qry");

--- NEW FILE: inline04.stable.err ---
stderr of test 'inline04` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline04.mal
# 18:00:43 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  


--- NEW FILE: inline02.stable.err ---
stderr of test 'inline02` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline02.mal
# 18:00:43 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  


--- NEW FILE: inline07.stable.err ---
stderr of test 'inline07` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline07.mal
# 18:00:44 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline04.stable.out ---
stdout of test 'inline04` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline04.mal
# 18:00:43 >  

# 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:34223/
## remapping inline functions
## the crucial part is to recognize valid inlines
## here the inlined function contains more then
## just multiplex callable functions.
#function foo{inline}(a:int,b:int):int;
#       c:= a+b;
#       base:=1;
#barrier loop:= true;
#       c:= c *c;
#       base:= base+1;
#       redo loop:= base <3;
#exit loop;
#       return 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)
    base := 1;  # 2  (base:int)<-(_5:int)
barrier loop := true;   # 3  (loop:bit)<-(_7:bit) jump 7
    c := calc.*(c,c);   # 4 CALCbinaryMULintint (c:int)<-(c:int)(c:int)
    base := calc.+(base,1);     # 5 CALCbinaryADDintint 
(base:int)<-(base:int)(_5:int)
    redo loop := calc.<(base,3);        # 6 CALCcompLTintint 
(loop:bit)<-(base:int)(_8:int) jump 4
exit loop;      # 7  (loop:bit)
    return foo{inline} := c;    # 8  (foo:int)<-(c:int)
end foo;        # 9  
#function qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,b);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,2);
#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)
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,b);       # 3 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,2);       # 4 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(_10:int)
end qry;        # 5  
#
#       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)
# the crucial part is to recognize valid inlines        # 2  (_2:str)
# here the inlined function contains more then  # 3  (_3:str)
# just multiplex callable functions.    # 4  (_4:str)
    mdb.list("user","qry");     # 5 MDBlist3 (_9:void)<-(_6:str)(_7:str)
end main;       # 6  
function user.qry():void;
    b := bat.new(:oid,:int);
    bat.insert(b,[EMAIL PROTECTED],1);
    _14 := batcalc.+(b,b);
    _15 := 1;
barrier _16 := true;
    _14 := batcalc.*(_14,_14);
    _15 := calc.+(_15,1);
    redo _16 := calc.<(_15,3);
exit _16;
    z:bat[:oid,:int]{inline}  := _14;
    _22 := batcalc.+(b,2);
    _23 := 1;
barrier _24 := true;
    _22 := batcalc.*(_22,_22);
    _23 := calc.+(_23,1);
    redo _24 := calc.<(_23,3);
exit _24;
    z:bat[:oid,:int]{inline}  := _22;
end qry;

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  


--- NEW FILE: inline05.stable.out ---
stdout of test 'inline05` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline05.mal
# 18:00:44 >  

# 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:34223/
## remapping inline functions
## the crucial part is to recognize valid inlines
#function foo{inline}(a:int,b:int):int;
#       c:= a+b;
#       io.print(c); # this has a memory-less side effect
#       return foo:=1;
#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)
    io.print(c);        # 2 IOprint_val (_4:void)<-(c:int)
# this has a memory-less side effect    # 3  (_5:str)
    return foo{inline} := 1;    # 4  (foo:int)<-(_6:int)
end foo;        # 5  
#
#function qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,b);
#       z:bat[:oid,:dbl]:= mal.multiplex("user","foo",b,2);
#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)
    z:bat[:oid,:dbl]  := mal.multiplex("user","foo",b,b);       # 3 
OPTremapMultiplex 
(z:bat[:oid,:dbl])<-(_8:str)(_9:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
    z:bat[:oid,:dbl]  := mal.multiplex("user","foo",b,2);       # 4 
OPTremapMultiplex 
(z:bat[:oid,:dbl])<-(_8:str)(_9:str)(b:bat[:oid,:int])(_10:int)
end qry;        # 5  
#
#       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)
# the crucial part is to recognize valid inlines        # 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);
    z:bat[:oid,:dbl]{inline}  := mal.multiplex("user","foo",b,b);
    z:bat[:oid,:dbl]{inline}  := mal.multiplex("user","foo",b,2);
end qry;

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline06.stable.out ---
stdout of test 'inline06` in directory 'src/optimizer` itself:


# 18:00:44 >  
# 18:00:44 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline06.mal
# 18:00:44 >  

# 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:34223/
## remapping inline functions
## the crucial part is to recognize valid inlines
#function foo{inline}(a:int,b:int):int;
#       c:= a+b;
#       base:=mmath.rand(); # this has a memory-side effect
#       c:= c*base;
#       return 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)
    base := mmath.rand();       # 2 MATHrandint (base:int)
# this has a memory-side effect         # 3  (_5:str)
    c := calc.*(c,base);        # 4 CALCbinaryMULintint 
(c:int)<-(c:int)(base:int)
    return foo{inline} := c;    # 5  (foo:int)<-(c:int)
end foo;        # 6  
#
#function qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,b);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,2);
#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)
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,b);       # 3 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,2);       # 4 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(_10:int)
end qry;        # 5  
#
#       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)
# the crucial part is to recognize valid inlines        # 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);
    _14 := batcalc.+(b,b);
    _15 := mmath.rand();
# this has a memory-side effect 
    _14 := batcalc.*(_14,_15);
    z:bat[:oid,:int]{inline}  := _14;
    _20 := batcalc.+(b,2);
    _21 := mmath.rand();
# this has a memory-side effect 
    _20 := batcalc.*(_20,_21);
    z:bat[:oid,:int]{inline}  := _20;
end qry;

# 18:00:44 >  
# 18:00:44 >  Done.
# 18:00:44 >  


--- NEW FILE: inline03.stable.out ---
stdout of test 'inline03` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline03.mal
# 18:00:43 >  

# 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:34223/
## remapping inline functions
## the crucial part is to recognize valid inlines
#function foo{inline}(a:int,b:int):int;
#       base:=1;
#       c:= a+b;
#       c:= c *base;
#       return c;
#end foo;
function user.foo{inline}(a:int,b:int):int;     # 0  (foo:int)<-(a:int)(b:int)
    base := 1;  # 1  (base:int)<-(_4:int)
    c := calc.+(a,b);   # 2 CALCbinaryADDintint (c:int)<-(a:int)(b:int)
    c := calc.*(c,base);        # 3 CALCbinaryMULintint 
(c:int)<-(c:int)(base:int)
    return foo{inline} := c;    # 4  (foo:int)<-(c:int)
end foo;        # 5  
#
#function qry();
#       b:= bat.new(:oid,:int);
#       bat.insert(b,[EMAIL PROTECTED],1);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,b);
#       z:bat[:oid,:int]:= mal.multiplex("user","foo",b,2);
#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)
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,b);       # 3 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(b:bat[:oid,:int])
    z:bat[:oid,:int]  := mal.multiplex("user","foo",b,2);       # 4 
OPTremapMultiplex 
(z:bat[:oid,:int])<-(_8:str)(_9:str)(b:bat[:oid,:int])(_10:int)
end qry;        # 5  
#       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)
# the crucial part is to recognize valid inlines        # 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);
    _14 := 1;
    _15 := batcalc.+(b,b);
    _15 := batcalc.*(_15,_14);
    z:bat[:oid,:int]{inline}  := _15;
    _19 := 1;
    _20 := batcalc.+(b,2);
    _20 := batcalc.*(_20,_19);
    z:bat[:oid,:int]{inline}  := _20;
end qry;

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  


--- NEW FILE: inline03.stable.err ---
stderr of test 'inline03` in directory 'src/optimizer` itself:


# 18:00:43 >  
# 18:00:43 >   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=34223 --set xrpc_port=43286 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  inline03.mal
# 18:00:43 >  

#warning: please don't forget to set your vault key!
#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)

# 18:00:43 >  
# 18:00:43 >  Done.
# 18:00:43 >  



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to