Skip to main content

Module value

Module value 

Source
Expand description

线协议契约的值层DataRecord → 列(按 Arrow 列类型派发)。

crate::contract 的 schema 表配套:表回答「这一列该是什么 Arrow 类型」, 本模块回答「值怎么写进那一列」。两者合起来才是完整的线协议契约。

§归属(A-2 第 3 步 / 2c)

这些函数逐字移植自 wp-connector-utils/src/arrow/record.rs(那个 crate 是 「面向 sink 的 connector 工具」,契约的语义归属不在这里)。移植时只改了错误类型: SinkResult/SinkReason(来自 wp-connector-api,本 crate 不能依赖)→ WpArrowError::ArrowBuildError。行为、错误文案形状与派发顺序保持不变。

派发按 Arrow 列类型(不是按 wp-model 类型):所以「某类型编成什么列」由 crate::contract::wp_type_to_arrow 决定,本模块只认列类型 —— 两处不会各有一套口径。

Functions§

encode_record
单条 DataRecord → 一行 RecordBatch
encode_records
多条 DataRecord → 一个 RecordBatch