Github user Ben-Zvi commented on a diff in the pull request:
https://github.com/apache/drill/pull/1227#discussion_r182919074
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/record/RecordBatchMemoryManager.java
---
@@ -241,4 +261,41 @@ public int getOutputBatchSize() {
public int getOffsetVectorWidth() {
return UInt4Vector.VALUE_WIDTH;
}
+
+ public void allocateVectors(VectorContainer container) {
+ // Allocate memory for the vectors.
+ // This will iteratively allocate memory for all nested columns
underneath.
+ for (VectorWrapper w : container) {
+ RecordBatchSizer.ColumnSize colSize =
getColumnSize(w.getField().getName());
+ colSize.allocateVector(w.getValueVector(), outputRowCount);
+ }
+ }
+
+ public void allocateVectors(VectorContainer container, int recordCount) {
+ // Allocate memory for the vectors.
+ // This will iteratively allocate memory for all nested columns
underneath.
+ for (VectorWrapper w : container) {
+ RecordBatchSizer.ColumnSize colSize =
getColumnSize(w.getField().getName());
+ colSize.allocateVector(w.getValueVector(), recordCount);
+ }
+ }
+
+ public void allocateVectors(List<ValueVector> valueVectors) {
+ // Allocate memory for the vectors.
--- End diff --
Same idea/comment as above; can avoid some duplicate code by calling
allocateVectors(valueVectors, outputRecordCount)
---