Expand description
A table that lives in memory, which is what M0 stores rows in.
This is not the storage format. There are no blocks, no row groups, no statistics, no compression and no buffer manager in here, and every one of those is what the rest of this crate becomes at M2. What this is, is somewhere for rows to be so that the binder and the executor can be written and tested against something real, and a shape that the real thing can replace without the layers above it noticing: a table is a sequence of chunks, a scan reads them in order, and a scan asks for the columns it wants rather than all of them.
The one thing it does get right on purpose is that a read is by chunk and by column, and not by row. A row-at-a-time interface here would be an interface every operator above would grow against, and unwinding that later is the rewrite this project exists to avoid.
Structsยง
- Memory
Table - A table held in memory as a sequence of chunks.