Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1164#discussion_r174328025 --- Diff: exec/vector/src/main/codegen/templates/VariableLengthVectors.java --- @@ -514,6 +516,22 @@ public boolean isNull(int index){ * The equivalent Java primitive is '${minor.javaType!type.javaType}' * * NB: this class is automatically generated from ValueVectorTypes.tdd using FreeMarker. + * </p> + * <h2>Contract</h2> --- End diff -- Might be worth summarizing how to use this: 1) Write to values sequentially. Fixed-width vectors allow random access, but special care is needed. 2) Keep track in client code of the total time count. Call `setValueCount()` once the vector is full to set the final value. (The vector does not know its count while a write is in progress.) 3) Either take responsibility for allocating enough memory, or call the `setSafe()` methods to automatically extend the vector. 4) Once vectors are written, they are immutable; no additional writes of any kind are allowed to that vector.
---