Expand description
The records themselves.
Each record has a fixed-width part and then a variable-length part, in that order, and new fields go on the end. A reader reads what it knows and stops; the framing tells it where the record ended, so stopping early is safe. That single rule is what lets a decoder built against one version of this crate keep working against a host built against a later one.
The version number on a record is not a “how new is this” counter. It only goes up when a field is removed or changes meaning, which is a break, and a break is supposed to be loud.
Structs§
- Batch
- The decoder handing back one batch of decoded rows.
- Buffer
Ref - Where one Arrow buffer sits in the decoder’s memory.
- Buffers
- A list of
BufferRefs, still in its encoded form. - Hello
- The host introducing itself.
- Hello
Ack - The decoder answering the host.
- Node
- One array in a batch, in the flattened order the schema puts them in.
- Nodes
- A list of
Nodes, still in its encoded form. - Projection
- The columns a scan is being asked for.
- Range
Request - The decoder asking for bytes of the source.
- Refusal
- One side declining to go on, and saying why.
- Refusal
Reason - Why one side is declining to go on.
- Scan
Request - The host asking the decoder for a run of rows.
Enums§
- Message
- One record, decoded.