Skip to main content

Module chunk

Module chunk 

Source
Expand description

A batch of columns, which is the unit every operator passes to the next one.

A chunk is some vectors of the same length plus that length. It is not a table and it is not a result set: it is at most VECTOR_SIZE rows, because the whole point of the number in spec/04-architecture.md section 4.3 is that a batch of this width stays in L1 while an operator works on it, and a type that can hold ten times that many rows is a type that lets an operator quietly stop being vectorized.

The row count is stored rather than derived, which matters for the one case that looks like a mistake and is not. SELECT count(*) FROM t scans no columns, so the chunk the scan produces has no vectors in it and still has to say how many rows went past, and a chunk that derived its length from its first column would say zero.

Structsยง

Chunk
A batch of columns of equal length.