通用表会话:schema 文件 + 由 TextLineStore 管理的行式数据文件(含 WAL)。 行的具体格式(JSONL / CSV …)由注入的 IRowCodec 决定, 所有修改都被翻译为底层的行级 splice 原语。
TextTableSession
01 Syntax
JSql.Storage.TextTableSession
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| ReadRows | 1 | read every row. the enumeration is materialized on purpose: the store refuses to merge while a read enumeration is still active. the physical header line (if any) is kept in the… |
| SyncRows | 1 | translate the row difference into a single line level splice. |
| IsHeaderLine | 1 | 物理第 index 行(1 基)是否为表头行。 |
| SaveSchema | 1 | |
| Flush | 1 | |
| Merge | 1 | |
| TryMerge | 1 | |
| Dispose | 1 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Layout | 1 | |
| Schema | 1 | |
| TableName | 1 | |
| SchemaFilePath | 1 | |
| DataFilePath | 1 | |
| LogFilePath | 1 | |
| LineCount | 1 | |
| PendingOperations | 1 | |
| PendingBufferedLines | 1 | |
| HasPendingChanges | 1 | |
| WalFileSize | 1 | |
| DataFileSize | 1 |
04 Fields
| Name | Overloads | Summary |
|---|---|---|
| _baseline | 1 | 上次已知的存储状态所对应的物理行(包含 CSV 表头行) |
05 Events
| Name | Overloads | Summary |
|---|---|---|
| Info | 1 |
06 Members
ReadRows
read every row. the enumeration is materialized on purpose: the store refuses to merge while a read enumeration is still active. the physical header line (if any) is kept in the baseline but is not returned as a row.
SyncRows(
List(Of Dictionary(Of String, Object)))translate the row difference into a single line level splice. the common head and tail are trimmed first, so a bulk insert becomes a pure append, an update becomes an in place line replacement and a delete becomes a range removal. when the format has a header line it is always the first physical line, so the splice offset is naturally correct.
IsHeaderLine(
Int32)物理第 index 行(1 基)是否为表头行。
_baseline
上次已知的存储状态所对应的物理行(包含 CSV 表头行)
Layout
Schema
TableName
SchemaFilePath
DataFilePath
LogFilePath
LineCount
PendingOperations
PendingBufferedLines
HasPendingChanges
WalFileSize
DataFileSize
SaveSchema(TableSchema)
Flush()
Merge()
TryMerge()
Dispose()
Info