行编解码抽象:把一行数据在“内存行对象”与“磁盘上的单行文本”之间互相转换。 底层的 TextLineStore 只负责按行存放不透明文本, 具体是 JSONL 还是 CSV 由本接口的实现决定,从而让会话层与存储格式解耦。
IRowCodec
01 Syntax
JSql.Storage.IRowCodec
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| UseHeader | 1 | 用数据文件的物理表头行建立“列名 -> 物理序号”的映射,以支持外部 CSV 的列序与 schema 列序不一致的情况。无表头格式(如 JSONL)应忽略该调用。 |
| BuildHeader | 1 | 构建表头行文本。无表头格式返回 Nothing。 |
| SerializeLine | 1 | 把一个行对象编码为一行文本(不含换行符)。 |
| DeserializeLine | 1 | 把一行文本解码为行对象。 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| LayoutName | 1 | 格式名称,用于 SHOW STORAGE 等展示,例如 "JSONL" / "CSV"。 |
| HasHeader | 1 | 数据文件的物理首行是否为表头行。CSV=True(首行是列名),JSONL=False。 |
04 Members
UseHeader(
String, TableSchema)用数据文件的物理表头行建立“列名 -> 物理序号”的映射,以支持外部 CSV 的列序与 schema 列序不一致的情况。无表头格式(如 JSONL)应忽略该调用。
Parameters
| Name | Type | Description |
|---|---|---|
headerLine | String | 数据文件的表头行文本;可能为空(空文件)。 |
schema | TableSchema | 目标表结构(列序的权威来源)。 |
BuildHeader(TableSchema)
构建表头行文本。无表头格式返回 Nothing。
SerializeLine(
Dictionary(Of String, Object), TableSchema)把一个行对象编码为一行文本(不含换行符)。
DeserializeLine(
String, TableSchema)把一行文本解码为行对象。
LayoutName
格式名称,用于 SHOW STORAGE 等展示,例如 "JSONL" / "CSV"。
HasHeader
数据文件的物理首行是否为表头行。CSV=True(首行是列名),JSONL=False。