diff --git a/processing/src/main/java/org/apache/carbondata/processing/datatypes/ArrayDataType.java b/processing/src/main/java/org/apache/carbondata/processing/datatypes/ArrayDataType.java index ba49a988fc7..7661577e75e 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/datatypes/ArrayDataType.java +++ b/processing/src/main/java/org/apache/carbondata/processing/datatypes/ArrayDataType.java @@ -278,7 +278,7 @@ public void fillCardinalityAfterDataLoad(List dimCardWithComplex, } @Override - public GenericDataType clone() { - return new ArrayDataType(this.outputArrayIndex, this.dataCounter, this.children.clone()); + public GenericDataType deepCopy() { + return new ArrayDataType(this.outputArrayIndex, this.dataCounter, this.children.deepCopy()); } } diff --git a/processing/src/main/java/org/apache/carbondata/processing/datatypes/GenericDataType.java b/processing/src/main/java/org/apache/carbondata/processing/datatypes/GenericDataType.java index 31c8a55eeb8..77c00d9735b 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/datatypes/GenericDataType.java +++ b/processing/src/main/java/org/apache/carbondata/processing/datatypes/GenericDataType.java @@ -145,5 +145,5 @@ void parseAndBitPack(ByteBuffer byteArrayInput, DataOutputStream dataOutputStrea /** * clone self for multithread access (for complex type processing in table page) */ - GenericDataType clone(); + GenericDataType deepCopy(); } diff --git a/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java b/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java index 2da5f792910..a9c2bfecea2 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java +++ b/processing/src/main/java/org/apache/carbondata/processing/datatypes/PrimitiveDataType.java @@ -325,7 +325,7 @@ public void fillCardinalityAfterDataLoad(List dimCardWithComplex, } @Override - public GenericDataType clone() { + public GenericDataType deepCopy() { PrimitiveDataType dataType = new PrimitiveDataType(this.outputArrayIndex, 0); dataType.setKeySize(this.keySize); dataType.setSurrogateIndex(this.index); diff --git a/processing/src/main/java/org/apache/carbondata/processing/datatypes/StructDataType.java b/processing/src/main/java/org/apache/carbondata/processing/datatypes/StructDataType.java index 5721f40e1c4..68b691140a7 100644 --- a/processing/src/main/java/org/apache/carbondata/processing/datatypes/StructDataType.java +++ b/processing/src/main/java/org/apache/carbondata/processing/datatypes/StructDataType.java @@ -304,10 +304,10 @@ public void fillCardinalityAfterDataLoad(List dimCardWithComplex, } @Override - public GenericDataType clone() { + public GenericDataType deepCopy() { List childrenClone = new ArrayList<>(); for (GenericDataType child : children) { - childrenClone.add(child.clone()); + childrenClone.add(child.deepCopy()); } return new StructDataType(childrenClone, this.outputArrayIndex, this.dataCounter); }