📄 tst4730.stable.out
字号:
stdout of test 'tst4730` in directory 'src/optimizer` itself:# 23:52:59 > # 23:52:59 > Mtimeout -timeout 60 Mserver "--config=/ufs/mk/monet5/src/mal/Tests/All.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/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set mapi_port=39352 --set sql_port=45171 --set xquery_port=52900 --set monet_prompt= --trace --dbname=mTests_src_optimizer tst4730.mal </dev/null# 23:52:59 > # Monet Database Server V4.99.19# Copyright (c) 1993-2005, CWI. All rights reserved.# Compiled for x86_64-redhat-linux-gnu/64bit with 32bit OIDs; dynamically linked.# config:/ufs/mk/monet5/src/mal/Tests/All.conf# dbfarm:/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm# dbname:mTests_src_optimizer# Visit http://monetdb.cwi.nl/ for further information.##TPCH query 1## the basis for further optimizer tests###don;t depend on SQL library#function user.bind(s:str,t:str,c:str,i:int):bat[:any_1,:any_2];# return bbp.new(:any_1,:any_2);#end bind;function user.bind(s:str,t:str,c:str,i:int):bat[:any_1,:any_2]; # 0 dynamic (bind:bat[:any_1,:any_2])<-(s:str)(t:str)(c:str)(i:int) return bat.new(:any_1,:any_2); # 1 CMDBATnew (_5:bat[:any,:any])<-(_6:any_1)(_7:any_2)end bind; # 2 #function user.bind_dbat(s:str,t:str,i:int):bat[:any_1,:any_2];# return bbp.new(:any_1,:any_2);#end bind_dbat;function user.bind_dbat(s:str,t:str,i:int):bat[:any_1,:any_2]; # 0 dynamic (bind_dbat:bat[:any_1,:any_2])<-(s:str)(t:str)(i:int) return bat.new(:any_1,:any_2); # 1 CMDBATnew (_4:bat[:any,:any])<-(_5:any_1)(_6:any_2)end bind_dbat; # 2 #function user.column(b:bat[:void,:any_1],s:str,t:str,i:int,j:int):void;#end column;function user.column(b:bat[:oid,:any_1],s:str,t:str,i:int,j:int):void; # 0 (column:void)<-(b:bat[:oid,:any_1])(s:str)(t:str)(i:int)(j:int)end column; # 1 #factory qry1(A0:sht,A1:sht,A2:sht,A3:date,A4:int):void;# V6:bat[:void,:date] := user.bind("sys","lineitem","l_shipdate",0);# V11:bat[:void,:oid] := user.bind_dbat("sys","lineitem",0);# V22:bat[:void,:bit] := user.bind("sys","lineitem","l_returnflag",0);# V29:bat[:void,:bit] := user.bind("sys","lineitem","l_linestatus",0);# V53:bat[:void,:int] := user.bind("sys","lineitem","l_quantity",0);# V60:bat[:void,:flt] := user.bind("sys","lineitem","l_extendedprice",0);# V75:bat[:void,:flt] := user.bind("sys","lineitem","l_discount",0);# V105:bat[:void,:flt] := user.bind("sys","lineitem","l_tax",0);#barrier always := true;# V12 := bat.reverse(V11);# V13 := algebra.kdiff(V6,V12);# V16 := mtime.date_sub_sec_interval(A3,A4);# a := mtime.date(nil);# V17 := algebra.uselect(V13,a,V16);# V20 := algebra.markT(V17,0@0);# V21 := bat.reverse(V20);# V26 := algebra.kdiff(V22,V12);# V27 := algebra.join(V21,V26);# (h,V28) := group.group(V27);# V33 := algebra.kdiff(V29,V12);# V34 := algebra.join(V21,V33);# V35 := group.group(V28,V34);# V36 := algebra.tunique(V35);# V37 := bat.mirror(V36);# V42 := algebra.join(V37,V27);# V43 := algebra.sort_reverse(V42);# V51 := algebra.join(V37,V34);# V52 := group.refine(V43,V51);# V57 := algebra.kdiff(V53,V12);# V58 := algebra.join(V21,V57);# V59 := aggrX3.sum(V58,V35,V37);# V64 := algebra.kdiff(V60,V12);# V65 := algebra.join(V21,V64);# V66 := aggrX3.sum(V65,V35,V37);# V72 := calc.lng(A0);# V74 := calc.*(V72,100);# V82 := algebra.kdiff(V75,V12);# V83 := algebra.join(V21,V82);# V84 := optimizer.multiplex("calc.-",V74,V83);# V86 := batcalc.*(V65,V84);# V88 := aggrX3.sum(V86,V35,V37);# V94 := calc.lng(A1);# V95 := calc.*(V94,100);# V100 := optimizer.multiplex("calc.-",V95,V83);# V101 := batcalc.*(V65,V100);# V103 := calc.lng(A2);# V104 := calc.*(V103,100);# V109 := algebra.kdiff(V105,V12);# V110 := algebra.join(V21,V109);# V111 := optimizer.multiplex("calc.+",V104,V110);# V113 := batcalc.*(V101,V111);# V114 := aggrX3.sum(V113,V35,V37);# V122 := aggrX3.avg(V58,V35,V37);# V127 := aggrX3.avg(V65,V35,V37);# V129 := optimizer.multiplex("calc.round",V127,100);# V135 := aggrX3.avg(V83,V35,V37);# V136 := optimizer.multiplex("calc.round",V135,100);# V137 := aggrX3.count(V35,V35,V37);# sql.column(V42,"l_returnflag","varchar",1,0);# sql.column(V51,"l_linestatus","varchar",1,0);# sql.column(V59,"sum_qty","bigint",0,0);# sql.column(V66,"sum_base_price","decimal",19,2);# sql.column(V88,"sum_disc_price","decimal",19,4);# sql.column(V114,"sum_charge","decimal",19,6);# sql.column(V122,"avg_qty","double",53,0);# sql.column(V129,"avg_price","double",53,0);# sql.column(V136,"avg_disc","double",53,0);# sql.column(V137,"count_order","int",0,0);# sql.output(V52,V42,V51,V59,V66,V88,V114,V122,V129,V136,V137);# yield always;# redo always;#exit always;#end qry1;factory user.qry1(A0:sht,A1:sht,A2:sht,A3:date,A4:int):bit; # 0 (qry1:bit)<-(A0:sht)(A1:sht)(A2:sht)(A3:date)(A4:int) V6:bat[:oid,:date]{rows=1000} := user.bind("sys","lineitem","l_shipdate",0); # 1 (V6:bat[:oid,:date])<-(_7:str)(_8:str)(_9:str)(_10:int) V11:bat[:oid,:oid]{rows=1000} := user.bind_dbat("sys","lineitem",0); # 2 (V11:bat[:oid,:oid])<-(_7:str)(_8:str)(_10:int) V22:bat[:oid,:bit]{rows=1000} := user.bind("sys","lineitem","l_returnflag",0); # 3 (V22:bat[:oid,:bit])<-(_7:str)(_8:str)(_13:str)(_10:int) V29:bat[:oid,:bit]{rows=1000} := user.bind("sys","lineitem","l_linestatus",0); # 4 (V29:bat[:oid,:bit])<-(_7:str)(_8:str)(_15:str)(_10:int) V53:bat[:oid,:int]{rows=1000} := user.bind("sys","lineitem","l_quantity",0); # 5 (V53:bat[:oid,:int])<-(_7:str)(_8:str)(_17:str)(_10:int) V60:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_extendedprice",0); # 6 (V60:bat[:oid,:flt])<-(_7:str)(_8:str)(_19:str)(_10:int) V75:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_discount",0); # 7 (V75:bat[:oid,:flt])<-(_7:str)(_8:str)(_21:str)(_10:int) V105:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_tax",0); # 8 (V105:bat[:oid,:flt])<-(_7:str)(_8:str)(_23:str)(_10:int)barrier always := true; # 9 (always:bit)<-(_25:bit) jump 72 V12 := bat.reverse(V11); # 10 BKCreverse (V12:bat[:oid,:oid])<-(V11:bat[:oid,:oid]) V13 := algebra.kdifference(V6,V12); # 11 ALGkdiff (V13:bat[:oid,:date])<-(V6:bat[:oid,:date])(V12:bat[:oid,:oid]) V16 := mtime.date_sub_sec_interval(A3,A4); # 12 MTIMEdate_sub_sec_interval_wrap (V16:date)<-(A3:date)(A4:int) a := mtime.date(nil:void); # 13 MTIMEnil2date (a:date)<-(_30:void) V17 := algebra.uselect(V13,a,V16); # 14 ALGuselect (V17:bat[:oid,:oid])<-(V13:bat[:oid,:date])(a:date)(V16:date) V20 := algebra.markT(V17,0@0); # 15 ALGtmark (V20:bat[:oid,:oid])<-(V17:bat[:oid,:oid])(_33:oid) V21 := bat.reverse(V20); # 16 BKCreverse (V21:bat[:oid,:oid])<-(V20:bat[:oid,:oid]) V26 := algebra.kdifference(V22,V12); # 17 ALGkdiff (V26:bat[:oid,:bit])<-(V22:bat[:oid,:bit])(V12:bat[:oid,:oid]) V27 := algebra.join(V21,V26); # 18 ALGjoin (V27:bat[:oid,:bit])<-(V21:bat[:oid,:oid])(V26:bat[:oid,:bit]) (h,V28):= group.new(V27); # 19 GRPgroup (h:bat[:oid,:int])(V28:bat[:oid,:oid])<-(V27:bat[:oid,:bit]) V33 := algebra.kdifference(V29,V12); # 20 ALGkdiff (V33:bat[:oid,:bit])<-(V29:bat[:oid,:bit])(V12:bat[:oid,:oid]) V34 := algebra.join(V21,V33); # 21 ALGjoin (V34:bat[:oid,:bit])<-(V21:bat[:oid,:oid])(V33:bat[:oid,:bit]) (Ext,V35):= group.derive(h,V28,V34); # 22 GRPderive (Ext:bat[:oid,:int])(V35:bat[:oid,:oid])<-(h:bat[:oid,:int])(V28:bat[:oid,:oid])(V34:bat[:oid,:bit]) V36 := algebra.tunique(Ext); # 23 ALGtunique (V36:bat[:oid,:int])<-(Ext:bat[:oid,:int]) V37 := bat.mirror(V36); # 24 BKCmirror (V37:bat[:oid,:oid])<-(V36:bat[:oid,:int]) V42 := algebra.join(V37,V27); # 25 ALGjoin (V42:bat[:oid,:bit])<-(V37:bat[:oid,:oid])(V27:bat[:oid,:bit]) V43 := algebra.sort(V42); # 26 ALGhsort (V43:bat[:oid,:bit])<-(V42:bat[:oid,:bit]) V51 := algebra.join(V37,V34); # 27 ALGjoin (V51:bat[:oid,:bit])<-(V37:bat[:oid,:oid])(V34:bat[:oid,:bit]) V52 := group.refine(V43,V51); # 28 GRPrefine (V52:bat[:oid,:oid])<-(V43:bat[:oid,:bit])(V51:bat[:oid,:bit])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -