Monetdb绑定函数参数

时间:2016-08-04 07:32:04

标签: parameters bind monetdb

我正在尝试理解用于连接三个表的MAL语句。我在MAL语句中遇到了bind函数。我有一张桌子 名为lineitem且名称为l_quantity。那么以下陈述意味着什么?

  1. ( X_94:bat[:oid,:oid], X_95:bat[:oid,:int] ) := sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 0, 4);

  2. ( X_96:bat[:oid,:oid], X_97:bat[:oid,:int] ) := sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 1, 4);

  3. 5th 6th 参数是什么意思?

1 个答案:

答案 0 :(得分:0)

来自src/sql/backends/monet5/sql.mal

pattern bind(mvc:int, 
             schema:str, 
             table:str, 
             column:str, 
             access:int,
             part_nr:int, 
             nr_parts:int )
   (uid:bat[:oid],uval:bat[:any_1])
address mvc_bind_wrap
comment "Bind the 'schema.table.column' BAT with access kind:
    0 - base table
    1 - inserts
    2 - updates";

参数5 是访问类型。在您的示例中,这些指令正在访问更新列(它们仅包含更新,而不包含原始数据)。在计划的后面,它们将与类型0的相应列合并。

参数6 与参数7一起使用。您发布的两条说明 绑定到水平分区列的前4个(第7个参数)的两个块。此分区是否以及如何采取步调由mitosis optimizer动态控制。