📄 tst4631.mal
字号:
# TPCH Q1 non-optimized#don;t depend on SQL libraryfunction user.bind(s:str,t:str,c:str,i:int):bat[:any_1,:any_2]; return bat.new(:any_1,:any_2);end bind;function user.bind_dbat(s:str,t:str,i:int):bat[:any_1,:any_2]; return bat.new(:any_1,:any_2);end bind_dbat;function qry1(); V3:bat[:oid,:date] := user.bind("sys","lineitem","l_shipdate",0); V8:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V9 := bat.reverse(V8); V10 := algebra.kdifference(V3,V9); a:= mtime.date(nil); V14 := algebra.uselect(V10,a,a); V17 := algebra.markT(V14,0@0); V18 := bat.reverse(V17); V19:bat[:oid,:bit] := user.bind("sys","lineitem","l_returnflag",0); V21:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V22 := bat.reverse(V21); V23 := algebra.kdifference(V19,V22); V24 := algebra.join(V18,V23); (V25,E25) := group.new(V24); V26:bat[:oid,:bit] := user.bind("sys","lineitem","l_linestatus",0); V28:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V29 := bat.reverse(V28); V30 := algebra.kdifference(V26,V29); V31 := algebra.join(V18,V30); (Ext,V32) := group.derive(V25,E25,V31); V33 := algebra.tunique(Ext); V34 := bat.mirror(V33); V35:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V36 := bat.reverse(V35); V37 := algebra.kdifference(V19,V36); V38 := algebra.join(V18,V37); V39 := algebra.join(V34,V38); V40 := algebra.sort(V39); V41:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V45 := bat.reverse(V41); V46 := algebra.kdifference(V26,V45); V47 := algebra.join(V18,V46); V48 := algebra.join(V34,V47); V49 := group.refine(V40,V48); V50:bat[:oid,:int] := user.bind("sys","lineitem","l_quantity",0); V52:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V53 := bat.reverse(V52); V54 := algebra.kdifference(V50,V53); V55 := algebra.join(V18,V54); V56 := aggr.sum(V55,V32,V34); V57:bat[:oid,:flt] := user.bind("sys","lineitem","l_extendedprice",0); V59:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V60 := bat.reverse(V59); V61 := algebra.kdifference(V57,V60); V62 := algebra.join(V18,V61); V63 := aggr.sum(V62,V32,V34); V64:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V65 := bat.reverse(V64); V66 := algebra.kdifference(V57,V65); V67 := algebra.join(V18,V66); V69 := calc.lng(1); V71 := calc.*(V69,100); V72:bat[:oid,:flt] := user.bind("sys","lineitem","l_discount",0); V74:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V78 := bat.reverse(V74); V79 := algebra.kdifference(V72,V78); V80 := algebra.join(V18,V79); V81:bat[:oid,:flt] := optimizer.multiplex("calc","-",V71,V80); V83 := batcalc.*(V67,V81); V85 := aggr.sum(V83,V32,V34); V86:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V87 := bat.reverse(V86); V88 := algebra.kdifference(V57,V87); V89 := algebra.join(V18,V88); V90 := calc.lng(1); V91 := calc.*(V90,100); V92:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V93 := bat.reverse(V92); V94 := algebra.kdifference(V72,V93); V95 := algebra.join(V18,V94); V96:bat[:oid,:flt] := optimizer.multiplex("calc","-",V91,V95); V97 := batcalc.*(V89,V96); V98 := calc.lng(1); V99 := calc.*(V98,100); V100:bat[:oid,:flt] := user.bind("sys","lineitem","l_tax",0); V102:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V103 := bat.reverse(V102); V104 := algebra.kdifference(V100,V103); V105 := algebra.join(V18,V104); V106:bat[:oid,:flt] := optimizer.multiplex("calc","+",V99,V105); V108 := batcalc.*(V97,V106); V109 := aggr.sum(V108,V32,V34); V110:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V114 := bat.reverse(V110); V115 := algebra.kdifference(V50,V114); V116 := algebra.join(V18,V115); V117 := aggr.avg(V116,V32,V34); V118:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V119 := bat.reverse(V118); V120 := algebra.kdifference(V57,V119); V121 := algebra.join(V18,V120); V122 := aggr.avg(V121,V32,V34); V124:bat[:oid,:int] := optimizer.multiplex("calc","round",V122,100); V126:bat[:oid,:oid] := user.bind_dbat("sys","lineitem",0); V127 := bat.reverse(V126); V128 := algebra.kdifference(V72,V127); V129 := algebra.join(V18,V128); V130 := aggr.avg(V129,V32,V34); V131 := optimizer.multiplex("calc","round",V130,100); V132 := aggr.count(V32,V32,V34);end qry1;optimizer.setDebug();optimizer.aliases("user","qry1");optimizer.reduce("user","qry1");optimizer.commonTerms("user","qry1");mdb.list("user","qry1");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -