diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OffHeapColumnVector.java b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OffHeapColumnVector.java index 0ec256967bed7..35682756ed6c3 100644 --- a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OffHeapColumnVector.java +++ b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OffHeapColumnVector.java @@ -64,8 +64,6 @@ public static OffHeapColumnVector[] allocateColumns(int capacity, StructField[] public OffHeapColumnVector(int capacity, DataType type) { super(capacity, type); - initialize(); - nulls = 0; data = 0; lengthData = 0; diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OnHeapColumnVector.java b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OnHeapColumnVector.java index 288a15f74abcf..96a452978cb35 100644 --- a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OnHeapColumnVector.java +++ b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/OnHeapColumnVector.java @@ -74,7 +74,7 @@ public static OnHeapColumnVector[] allocateColumns(int capacity, StructField[] f public OnHeapColumnVector(int capacity, DataType type) { super(capacity, type); - initialize(); + reserveInternal(capacity); reset(); } diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/WritableColumnVector.java b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/WritableColumnVector.java index 3ee9ca7e1970c..d1fe229e6d4c6 100644 --- a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/WritableColumnVector.java +++ b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/WritableColumnVector.java @@ -607,9 +607,12 @@ public WritableColumnVector getDictionaryIds() { protected abstract WritableColumnVector reserveNewColumn(int capacity, DataType type); /** - * Initialize child columns. + * Sets up the common state and also handles creating the child columns if this is a nested + * type. */ - protected void initialize() { + protected WritableColumnVector(int capacity, DataType type) { + super(capacity, type); + if (type instanceof ArrayType || type instanceof BinaryType || type instanceof StringType || DecimalType.isByteArrayDecimalType(type)) { DataType childType; @@ -645,12 +648,4 @@ protected void initialize() { this.resultStruct = null; } } - - /** - * Sets up the common state and also handles creating the child columns if this is a nested - * type. - */ - protected WritableColumnVector(int capacity, DataType type) { - super(capacity, type); - } }