Monetdb 绑定函数参数
Monetdb bind function Parameters
我正在尝试理解用于连接三个 table 的 MAL 语句。我在 MAL 语句中遇到了 bind
函数。我有一个 table
名为 lineitem
,其中包含 l_quantity
。那么下面的语句是什么意思呢?
( X_94:bat[:oid,:oid], X_95:bat[:oid,:int] ) :=
sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 0, 4);
( X_96:bat[:oid,:oid], X_97:bat[:oid,:int] ) :=
sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 1, 4);
5th 和 6th 参数是什么意思?
来自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.
动态控制
我正在尝试理解用于连接三个 table 的 MAL 语句。我在 MAL 语句中遇到了 bind
函数。我有一个 table
名为 lineitem
,其中包含 l_quantity
。那么下面的语句是什么意思呢?
( X_94:bat[:oid,:oid], X_95:bat[:oid,:int] ) := sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 0, 4);
( X_96:bat[:oid,:oid], X_97:bat[:oid,:int] ) := sql.bind(X_4, "sys", "lineitem", "l_quantity", 2, 1, 4);
5th 和 6th 参数是什么意思?
来自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.