如何在monetdb中执行MAL功能?

时间:2014-03-17 14:05:32

标签: monetdb monetdb-assembly-language

我正在阅读MonetDB Internal Description,因为我有兴趣直接在MonetDB代数语言(MAL)中实现一个特殊的过程而不是SQL前端(我希望通过这样做获得更多的性能)。以下是MonetDB文档中提供的示例MAL代码

 function sample(nme:str, val:any_1):bit;
    c := 2 * 3;
    b := bbp.bind(nme);  #find a BAT
    h := algebra.select(b,val,val);
    t := aggr.count(h);
    x := io.print(t);
    y := io.print(val);
 end sample;

我的问题是如何在我现有的数据库之一上执行这样的MAL代码?

进行任何重播

1 个答案:

答案 0 :(得分:4)

monetdb客户端程序有一个语言指令-l。

使用命令:

mclient -d -l mal

你会看到mal>提示,之后您可以调用以下函数:

MAL> sample('colname',23)

请注意,bbp.bind()操作的类型不正确。它无法在编译时建立。 改为使用:

b:bat [:oid,:any_1]:= bpp.bind(nme);