mat04.mal

来自「一个内存数据库的源代码这是服务器端还有客户端」· MAL 代码 · 共 46 行

MAL
46
字号
# select i, sum(j) from t group by i having i>4;mdb.list();#   v3:bat[:void,:int]  := sql.bind("sys","t","i",0);    v3v0:= bat.new(:void,:int);    bat.insert(v3v0,nil,0);    v3v1:= bat.new(:void,:int);    bat.insert(v3v1,nil,1);    v3:= mat.new(v3v0,v3v1);#   v47:bat[:void,:int]  := sql.bind("sys","t","j",0);    v47v0:= bat.new(:void,:int);    bat.insert(v47v0,nil,0);    v47v1:= bat.new(:void,:int);    bat.insert(v47v1,nil,1);    v47:= mat.new(v47v0,v47v1);#   v9:bat[:void,:oid]  := sql.bindvdbat("sys","t",0);	v9 := bat.new(:void,:oid);    v11 := bat.reverse(v9);    v13 := algebra.kdifference(v3,v11);    v18 := algebra.markT(v13,0@0);    v20 := bat.reverse(v18);    v22 := algebra.join(v20,v3);    (ext26,grp24):= group.new(v22);    v28 := bat.mirror(ext26);    v30 := algebra.join(v20,v3);    v32 := algebra.join(v28,v30);    v35 := calc.int(3);    v37 := algebra.uselect(v32,v35,nil:int,false,false);    v41 := algebra.semijoin(v28,v37);    v43 := algebra.join(v20,v3);    v45 := algebra.join(v41,v43);    v53 := algebra.join(v20,v47);    v57 := algebra.select(v53,nil:int,nil:int,false,false);    v59 := bat.reverse(grp24);    v61 := algebra.semijoin(v59,v37);    v63 := bat.reverse(v61);    v65 := aggr.sum(v57,v63,v41);#   v67 := sql.resultSet(2,3,v45);#   sql.rsColumn(v67,"t","i","int",32,0,v45);#   sql.rsColumn(v67,"t","sumvj","bigint",64,0,v65);#   sql.exportResult(v67);	io.print(v45,v65);optimizer.multitable();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?