Github user sachouche commented on a diff in the pull request:
https://github.com/apache/drill/pull/1060#discussion_r162828312
--- Diff: exec/vector/src/main/codegen/templates/NullableValueVectors.java
---
@@ -51,6 +57,17 @@
public final class ${className} extends BaseDataValueVector implements
<#if type.major == "VarLen">VariableWidth<#else>FixedWidth</#if>Vector,
NullableVector {
private static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(${className}.class);
+ /**
+ * Optimization to set contiguous values nullable state in a bulk
manner; cannot define this array
+ * within the Mutator class as Java doesn't allow static initialization
within a non static inner class.
+ */
+ private static final int DEFINED_VALUES_ARRAY_LEN = 1 << 10;
+ private static final byte[] DEFINED_VALUES_ARRAY = new
byte[DEFINED_VALUES_ARRAY_LEN];
--- End diff --
I rather have it within the sub-class which defines the associated
functionality (that is nullable DT); the wasted memory is also negligible.
---