我正在尝试理解用于连接三个表的MAL语句。我在MAL语句中遇到了bind
函数。我有一张桌子
名为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 参数是什么意思?
答案 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动态控制。