The use of clear flag at ValueVector#getBuffers(clear) seems very inconsistent to me.
Because the implementation does not truly "clear" the vector when the flag is set but instead (i) L74: increments the ref count first (ii) L79: decrements the ref count and replaces the underlying buffer later. My expectation was a "complete clear" at this point. So what was the intended use of the flag? Would not it be nicer if we separated returning buffers from clearing vectors/buffers entirely? [1]: https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BaseDataValueVector.java#L67 Thanks. -Hanifi
