Github user ppadma commented on a diff in the pull request:
https://github.com/apache/drill/pull/1125#discussion_r171999276
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/record/RecordBatchSizer.java
---
@@ -245,16 +251,30 @@ private void buildVectorInitializer(VectorInitializer
initializer) {
else if (width > 0) {
initializer.variableWidth(name, width);
}
+
+ for (ColumnSize columnSize : childColumnSizes.values()) {
+ columnSize.buildVectorInitializer(initializer);
+ }
}
+
}
public static ColumnSize getColumn(ValueVector v, String prefix) {
return new ColumnSize(v, prefix);
}
+ public ColumnSize getColumn(String name) {
+ return allColumnSizes.get(name);
+ }
+
public static final int MAX_VECTOR_SIZE = ValueVector.MAX_BUFFER_SIZE;
// 16 MiB
- private Map<String, ColumnSize> columnSizes =
CaseInsensitiveMap.newHashMap();
+ // This keeps information for all columns i.e. all top columns and
nested columns underneath
+ private Map<String, ColumnSize> allColumnSizes =
CaseInsensitiveMap.newHashMap();
--- End diff --
yes, I got rid of allColumnSizes. We will have only top level columns.
---