Monetdb 绑定函数参数

Monetdb bind function Parameters

我正在尝试理解用于连接三个 table 的 MAL 语句。我在 MAL 语句中遇到了 bind 函数。我有一个 table 名为 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);

5th6th 参数是什么意思?

来自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.

动态控制