tree 8c4650e51daa5d1f92929f8667f50d40bb07d86e
parent 120e10bb8d79d99117464404bb6c870a10169d92
author Paul Rogers <par0328@yahoo.com> 1573188973 -0800
committer Arina Ielchiieva <arina.yelchiyeva@gmail.com> 1574244310 +0200

DRILL-7441: Fix issues with fillEmpties, offset vectors

Fixes subtle issues with offset vectors and "fill empties"
logic.

Drill has an informal standard that if a batch has no rows, then
offset vectors within that batch should have zero size. Contrast
this with batches of size 1 that should have offset vectors of
size 2. Changed to enforce this rule throughout.

Nullable, repeated and variable-width vectors have "fill empties"
logic that is used in two places: when setting the value count and
when preparing to write a new value. The current logic is not
quite right for either case. Added tests and fixed the code to
properly handle each case.

Revised the batch validator to enforce the offset-vector length of 0 for
0-sized batches rule. The result was much simpler code.

Added tools to easily print a batch, restoring some code that
was recently lost when the RowSet classes were moved.

Code cleanup in all files touched.

Added logic to "dirty" allocated buffers when testing to ensure
logic is not sensitive to the "pristine" state of new buffers.

Added logic to the column writers to enforce the zero-size-batch rule
for offset vectors. Added unit tests for this case.

Fixed the column writers to set the "lastSet" mutator value for
nullable types since other code relies on this value.

Removed the "setCount" field in nullable vectors: turns out
it is not actually used.

closes #1896
