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。