Right now we read a whole row of interleaved data and then pick out the specific elements we need.
We should experiment with a planning step that allows us to skip over bytes that won't be used. This would require sorting the outputs into read order.
This may have two major benefits:
We can remove the allocation for the row buffer.
We can support mixed type records - it is unclear how required this is but the spec means it is technically possible.
Right now we read a whole row of interleaved data and then pick out the specific elements we need.
We should experiment with a planning step that allows us to skip over bytes that won't be used. This would require sorting the outputs into read order.
This may have two major benefits: