⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tst4631.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 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 + -